From 6147597ad3431e6391483159b495eedf9eeca036 Mon Sep 17 00:00:00 2001 From: Markus Sanin Date: Thu, 3 Aug 2023 11:08:42 +0200 Subject: [PATCH 01/35] Update to glimmer components --- .../templates/components/liquid-bind-demo.hbs | 2 +- .../liquid-bind-block/page.hbs | 2 +- .../helpers-documentation/liquid-bind.hbs | 2 +- .../helpers-documentation/liquid-if.hbs | 2 +- .../helpers-documentation/liquid-outlet.hbs | 2 +- docs/app/templates/scenarios.hbs | 2 +- docs/app/templates/scenarios/empty-if.hbs | 2 +- .../scenarios/growable-flexboxes.hbs | 6 +- .../app/templates/scenarios/growable-with.hbs | 2 +- docs/app/templates/scenarios/hero.hbs | 4 +- .../app/templates/scenarios/inline-serial.hbs | 2 +- docs/app/templates/scenarios/inline.hbs | 2 +- .../scenarios/nested-explode-transition.hbs | 4 +- docs/app/templates/scenarios/stef.hbs | 2 +- docs/app/templates/scenarios/table-row.hbs | 2 +- docs/app/templates/transitions/explode.hbs | 4 +- docs/app/templates/transitions/predefined.hbs | 12 +- docs/package.json | 2 +- docs/snippets/has-class-example.hbs | 2 +- liquid-fire/package.json | 4 +- liquid-fire/rollup.config.mjs | 1 - liquid-fire/src/components/illiquid-model.js | 25 +- .../src/components/lf-get-outlet-state.js | 9 +- liquid-fire/src/components/liquid-bind.hbs | 72 +- liquid-fire/src/components/liquid-bind.js | 23 +- liquid-fire/src/components/liquid-child.hbs | 7 + liquid-fire/src/components/liquid-child.js | 63 +- .../src/components/liquid-container.hbs | 4 +- .../src/components/liquid-container.js | 210 +- liquid-fire/src/components/liquid-if.hbs | 34 +- liquid-fire/src/components/liquid-if.js | 20 +- .../src/components/liquid-measured.hbs | 7 +- liquid-fire/src/components/liquid-measured.js | 76 +- liquid-fire/src/components/liquid-outlet.hbs | 43 +- liquid-fire/src/components/liquid-outlet.js | 33 +- liquid-fire/src/components/liquid-spacer.hbs | 11 +- liquid-fire/src/components/liquid-spacer.js | 78 +- liquid-fire/src/components/liquid-sync.css | 3 + liquid-fire/src/components/liquid-sync.hbs | 6 +- liquid-fire/src/components/liquid-sync.js | 61 +- liquid-fire/src/components/liquid-unless.js | 8 +- .../src/components/liquid-versions.css | 3 + .../src/components/liquid-versions.hbs | 25 +- liquid-fire/src/components/liquid-versions.js | 74 +- liquid-fire/src/constrainables.js | 2 +- liquid-fire/src/ember-internals.js | 28 +- liquid-fire/src/index.js | 1 - liquid-fire/src/mixins/growable.js | 70 - liquid-fire/src/mixins/pausable.js | 29 - .../src/services/liquid-fire-children.js | 53 + liquid-fire/src/transition-map.js | 82 +- liquid-fire/src/transitions/cross-fade.js | 2 +- liquid-fire/src/transitions/default.js | 2 +- liquid-fire/src/transitions/explode.js | 2 +- liquid-fire/src/transitions/fade.js | 3 +- liquid-fire/src/transitions/flex-grow.js | 2 +- liquid-fire/src/transitions/fly-to.js | 2 +- liquid-fire/src/transitions/move-over.js | 2 +- liquid-fire/src/transitions/scale.js | 2 +- liquid-fire/src/transitions/scroll-then.js | 5 +- liquid-fire/src/utils/animate.js | 111 + pnpm-lock.yaml | 2541 ++++++++++------- test-app/package.json | 2 +- .../helpers/liquid-bind-block-form-test.js | 18 +- .../integration/helpers/liquid-bind-test.js | 28 +- .../helpers/liquid-container-test.js | 16 +- .../integration/helpers/liquid-if-test.js | 40 +- .../integration/helpers/liquid-outlet-test.js | 44 +- .../integration/helpers/liquid-spacer-test.js | 19 +- .../integration/helpers/liquid-sync-test.js | 6 +- .../integration/transitions/explode-test.js | 32 +- .../integration/transitions/fly-to-test.js | 4 +- 72 files changed, 2333 insertions(+), 1773 deletions(-) create mode 100644 liquid-fire/src/components/liquid-child.hbs create mode 100644 liquid-fire/src/components/liquid-sync.css create mode 100644 liquid-fire/src/components/liquid-versions.css delete mode 100644 liquid-fire/src/mixins/growable.js delete mode 100644 liquid-fire/src/mixins/pausable.js create mode 100644 liquid-fire/src/services/liquid-fire-children.js create mode 100644 liquid-fire/src/utils/animate.js diff --git a/docs/app/templates/components/liquid-bind-demo.hbs b/docs/app/templates/components/liquid-bind-demo.hbs index af4ce33a..63911aff 100644 --- a/docs/app/templates/components/liquid-bind-demo.hbs +++ b/docs/app/templates/components/liquid-bind-demo.hbs @@ -4,6 +4,6 @@ {{!- BEGIN-SNIPPET liquid-bind-demo -}}
- {{liquid-bind this.hours}}:{{liquid-bind this.minutes}}:{{liquid-bind this.seconds}} + {{liquid-bind value=this.hours}}:{{liquid-bind value=this.minutes}}:{{liquid-bind value=this.seconds}}
{{!- END-SNIPPET -}} diff --git a/docs/app/templates/helpers-documentation/liquid-bind-block/page.hbs b/docs/app/templates/helpers-documentation/liquid-bind-block/page.hbs index e97feaf1..726bf1f2 100644 --- a/docs/app/templates/helpers-documentation/liquid-bind-block/page.hbs +++ b/docs/app/templates/helpers-documentation/liquid-bind-block/page.hbs @@ -30,7 +30,7 @@ directions. {{! BEGIN-SNIPPET with-demo }} {{#liquid-bind - this.model + value=this.model use="rotateBelow" class="demo-container" as |currentModel| }} diff --git a/docs/app/templates/helpers-documentation/liquid-bind.hbs b/docs/app/templates/helpers-documentation/liquid-bind.hbs index 30506d90..84637083 100644 --- a/docs/app/templates/helpers-documentation/liquid-bind.hbs +++ b/docs/app/templates/helpers-documentation/liquid-bind.hbs @@ -12,7 +12,7 @@ map to decide how to animate when the bound value changes.

Saying - \{{liquid-bind someValue}} + \{{liquid-bind value=someValue}} is a drop-in replacement for diff --git a/docs/app/templates/helpers-documentation/liquid-if.hbs b/docs/app/templates/helpers-documentation/liquid-if.hbs index 1223a74e..c0bf3572 100644 --- a/docs/app/templates/helpers-documentation/liquid-if.hbs +++ b/docs/app/templates/helpers-documentation/liquid-if.hbs @@ -66,7 +66,7 @@ the transition rules. - {{#liquid-if this.isBike class="vehicles"}} + {{#liquid-if predicate=this.isBike class="vehicles"}}

diff --git a/docs/app/templates/scenarios.hbs b/docs/app/templates/scenarios.hbs index 96dec33f..25264f48 100644 --- a/docs/app/templates/scenarios.hbs +++ b/docs/app/templates/scenarios.hbs @@ -1,5 +1,5 @@ {{outlet}} {{#if this.supportsNamedOutlets}} - {{liquid-outlet "test"}} + {{liquid-outlet inputOutletName="test"}} {{/if}} \ No newline at end of file diff --git a/docs/app/templates/scenarios/empty-if.hbs b/docs/app/templates/scenarios/empty-if.hbs index 90d928bc..b8e9abf5 100644 --- a/docs/app/templates/scenarios/empty-if.hbs +++ b/docs/app/templates/scenarios/empty-if.hbs @@ -1,7 +1,7 @@
- {{#liquid-if this.showing use="fade"}} + {{#liquid-if predicate=this.showing use="fade"}} Some Content {{/liquid-if}}
diff --git a/docs/app/templates/scenarios/growable-flexboxes.hbs b/docs/app/templates/scenarios/growable-flexboxes.hbs index 7ab5beaf..a93dbe35 100644 --- a/docs/app/templates/scenarios/growable-flexboxes.hbs +++ b/docs/app/templates/scenarios/growable-flexboxes.hbs @@ -13,15 +13,15 @@
- {{#liquid-if this.showOne use="flex-grow" containerless=true }} + {{#liquid-if predicate=this.showOne use="flex-grow" containerless=true }} One {{/liquid-if}} - {{#liquid-if this.showTwo use="flex-grow" containerless=true }} + {{#liquid-if predicate=this.showTwo use="flex-grow" containerless=true }} Two {{/liquid-if}} - {{#liquid-if this.showThree use="flex-grow" containerless=true }} + {{#liquid-if predicate=this.showThree use="flex-grow" containerless=true }} Three {{/liquid-if}}
diff --git a/docs/app/templates/scenarios/growable-with.hbs b/docs/app/templates/scenarios/growable-with.hbs index 36534be1..d5035c85 100644 --- a/docs/app/templates/scenarios/growable-with.hbs +++ b/docs/app/templates/scenarios/growable-with.hbs @@ -1,7 +1,7 @@
- {{#liquid-bind this.myThing use="to-left" as |m|}} + {{#liquid-bind value=this.myThing use="to-left" as |m|}} {{m.description}} {{/liquid-bind}}
diff --git a/docs/app/templates/scenarios/hero.hbs b/docs/app/templates/scenarios/hero.hbs index a0a87d70..a483c71c 100644 --- a/docs/app/templates/scenarios/hero.hbs +++ b/docs/app/templates/scenarios/hero.hbs @@ -1,6 +1,6 @@ -{{#liquid-if this.showFirst class="hero-scenario"}} +{{#liquid-if predicate=this.showFirst class="hero-scenario"}}
@@ -16,7 +16,7 @@ -{{#liquid-bind this.sortedModels class="hero-sort" as |currentModels|}} +{{#liquid-bind value=this.sortedModels class="hero-sort" as |currentModels|}} {{#each currentModels key="id" as |model|}} {{/each}} diff --git a/docs/app/templates/scenarios/inline-serial.hbs b/docs/app/templates/scenarios/inline-serial.hbs index 187923c2..43e51857 100644 --- a/docs/app/templates/scenarios/inline-serial.hbs +++ b/docs/app/templates/scenarios/inline-serial.hbs @@ -1,7 +1,7 @@
- {{#liquid-if this.otherState }} + {{#liquid-if predicate=this.otherState }} One. {{else}} Two Three Four Five Six Two Three Four Five Six Two Three Four Five diff --git a/docs/app/templates/scenarios/inline.hbs b/docs/app/templates/scenarios/inline.hbs index 5ecc10ec..7a24bbcb 100644 --- a/docs/app/templates/scenarios/inline.hbs +++ b/docs/app/templates/scenarios/inline.hbs @@ -1,7 +1,7 @@
- {{#liquid-if this.otherState }} + {{#liquid-if predicate=this.otherState }} One. {{else}} Two Three Four Five Six Two Three Four Five Six Two Three Four Five diff --git a/docs/app/templates/scenarios/nested-explode-transition.hbs b/docs/app/templates/scenarios/nested-explode-transition.hbs index 5aa589c1..7310011e 100644 --- a/docs/app/templates/scenarios/nested-explode-transition.hbs +++ b/docs/app/templates/scenarios/nested-explode-transition.hbs @@ -1,9 +1,9 @@ -{{#liquid-if this.showOne class="nested-explode-transition-scenario"}} +{{#liquid-if predicate=this.showOne class="nested-explode-transition-scenario"}}
- {{#liquid-if this.showA use="toLeft"}} + {{#liquid-if predicate=this.showA use="toLeft"}}
One: A
{{else}}
One: B
diff --git a/docs/app/templates/scenarios/stef.hbs b/docs/app/templates/scenarios/stef.hbs index bb9e76a0..ae9faa19 100644 --- a/docs/app/templates/scenarios/stef.hbs +++ b/docs/app/templates/scenarios/stef.hbs @@ -5,7 +5,7 @@ toggle - {{#liquid-if this.isExpanded class="menu"}} + {{#liquid-if predicate=this.isExpanded class="menu"}}
  • a
  • b
  • diff --git a/docs/app/templates/scenarios/table-row.hbs b/docs/app/templates/scenarios/table-row.hbs index 55e99349..0b3b2d15 100644 --- a/docs/app/templates/scenarios/table-row.hbs +++ b/docs/app/templates/scenarios/table-row.hbs @@ -2,7 +2,7 @@ - {{#liquid-if this.showingRow containerless=true use="fade" }} + {{#liquid-if predicate=this.showingRow containerless=true use="fade" }} {{/liquid-if}} diff --git a/docs/app/templates/transitions/explode.hbs b/docs/app/templates/transitions/explode.hbs index 14ba6ed2..abc908fb 100644 --- a/docs/app/templates/transitions/explode.hbs +++ b/docs/app/templates/transitions/explode.hbs @@ -11,7 +11,7 @@ and then below we document all the options in detail.

    {{!- BEGIN-SNIPPET explode-demo-1 }}
    - {{#liquid-if this.showDetail}} + {{#liquid-if predicate=this.showDetail}}

    Details

    @@ -42,7 +42,7 @@ and then below we document all the options in detail.

    {{!- BEGIN-SNIPPET explode-demo-2 }}
    - {{#liquid-bind this.photos as |photosVersion|}} + {{#liquid-bind value=this.photos as |photosVersion|}} {{#each photosVersion key="id" as |photo|}} a random person photo {{/each}} diff --git a/docs/app/templates/transitions/predefined.hbs b/docs/app/templates/transitions/predefined.hbs index 0cf28e7b..8d905471 100644 --- a/docs/app/templates/transitions/predefined.hbs +++ b/docs/app/templates/transitions/predefined.hbs @@ -64,7 +64,7 @@
    - {{#liquid-if this.showDetail class="toLeft-demo"}} + {{#liquid-if predicate=this.showDetail class="toLeft-demo"}}

    Details

    @@ -106,7 +106,7 @@
    - {{#liquid-if this.showDetail class="crossFade-demo"}} + {{#liquid-if predicate=this.showDetail class="crossFade-demo"}}

    Details

    @@ -149,7 +149,7 @@
    - {{#liquid-if this.showDetail class="fade-demo"}} + {{#liquid-if predicate=this.showDetail class="fade-demo"}}

    Details

    @@ -211,7 +211,7 @@
    - {{#liquid-if this.showDetail class="scrollThen-demo"}} + {{#liquid-if predicate=this.showDetail class="scrollThen-demo"}}

    Details

    @@ -254,7 +254,7 @@
    - {{#liquid-if this.showDetail class="scale-demo"}} + {{#liquid-if predicate=this.showDetail class="scale-demo"}}

    Details

    @@ -284,7 +284,7 @@
    - {{#liquid-if this.showDetail class="wait-demo"}} + {{#liquid-if predicate=this.showDetail class="wait-demo"}}

    Details

    diff --git a/docs/package.json b/docs/package.json index 2dce8b18..18031454 100644 --- a/docs/package.json +++ b/docs/package.json @@ -96,6 +96,6 @@ "edition": "octane" }, "dependencies": { - "liquid-fire": "*" + "liquid-fire": "workspace:*" } } diff --git a/docs/snippets/has-class-example.hbs b/docs/snippets/has-class-example.hbs index fe481047..958f82ec 100644 --- a/docs/snippets/has-class-example.hbs +++ b/docs/snippets/has-class-example.hbs @@ -1,4 +1,4 @@ -{{#liquid-if this.isUnicorn class="magical"}} +{{#liquid-if predicate=this.isUnicorn class="magical"}} It's a unicorn! {{else}} It's something else! diff --git a/liquid-fire/package.json b/liquid-fire/package.json index 1aa7a695..85c1ee7e 100644 --- a/liquid-fire/package.json +++ b/liquid-fire/package.json @@ -25,6 +25,7 @@ "prepare": "pnpm build" }, "dependencies": { + "@ember/render-modifiers": "^2.1.0", "@embroider/addon-shim": "^1.0.0", "@embroider/macros": "^1.11.0", "broccoli-funnel": "^3.0.8", @@ -75,8 +76,7 @@ "./components/liquid-versions.js": "./dist/_app_/components/liquid-versions.js", "./helpers/lf-lock-model.js": "./dist/_app_/helpers/lf-lock-model.js", "./helpers/lf-or.js": "./dist/_app_/helpers/lf-or.js", - "./mixins/growable.js": "./dist/_app_/mixins/growable.js", - "./mixins/pausable.js": "./dist/_app_/mixins/pausable.js", + "./services/liquid-fire-children.js": "./dist/_app_/services/liquid-fire-children.js", "./services/liquid-fire-transitions.js": "./dist/_app_/services/liquid-fire-transitions.js", "./transitions/cross-fade.js": "./dist/_app_/transitions/cross-fade.js", "./transitions/default.js": "./dist/_app_/transitions/default.js", diff --git a/liquid-fire/rollup.config.mjs b/liquid-fire/rollup.config.mjs index ea97659a..b3fff8e3 100644 --- a/liquid-fire/rollup.config.mjs +++ b/liquid-fire/rollup.config.mjs @@ -23,7 +23,6 @@ export default { 'components/**/*.js', 'helpers/*.js', 'modifiers/**/*.js', - 'mixins/*.js', 'services/*.js', 'transitions/*.js', ]), diff --git a/liquid-fire/src/components/illiquid-model.js b/liquid-fire/src/components/illiquid-model.js index 202366a7..3a5e0e7f 100644 --- a/liquid-fire/src/components/illiquid-model.js +++ b/liquid-fire/src/components/illiquid-model.js @@ -1,19 +1,10 @@ -import Component from '@ember/component'; -// import layout from '../illiquid-model.hbs'; +import Component from '@glimmer/component'; -const IlliquidModel = Component.extend({ - // layout, - tagName: '', - didReceiveAttrs() { - this._super(); - if (!this._fixedModel) { - this.set('_fixedModel', this.model); - } - }, -}); +export default class IlliquidModelComponent extends Component { + _fixedModel = null; -IlliquidModel.reopenClass({ - positionalParams: ['model'], -}); - -export default IlliquidModel; + constructor() { + super(...arguments); + this._fixedModel = this.args.model; + } +} diff --git a/liquid-fire/src/components/lf-get-outlet-state.js b/liquid-fire/src/components/lf-get-outlet-state.js index 72a7943e..11561457 100644 --- a/liquid-fire/src/components/lf-get-outlet-state.js +++ b/liquid-fire/src/components/lf-get-outlet-state.js @@ -1,7 +1,4 @@ -import Component from '@ember/component'; -// import layout from '../lf-get-outlet-state'; +import Component from '@glimmer/component'; -export default Component.extend({ - tagName: '', - // layout, -}); +// eslint-disable-next-line ember/no-empty-glimmer-component-classes +export default class lfGetOutletStateComponent extends Component {} diff --git a/liquid-fire/src/components/liquid-bind.hbs b/liquid-fire/src/components/liquid-bind.hbs index f0a3c975..71a563aa 100644 --- a/liquid-fire/src/components/liquid-bind.hbs +++ b/liquid-fire/src/components/liquid-bind.hbs @@ -1,44 +1,48 @@ -{{#if this.containerless}} - {{~#liquid-versions - value=this.value - use=this.use - rules=this.rules - matchContext=this.forwardMatchContext - versionEquality=this.versionEquality - renderWhenFalse=true - class=this.class as |version| - ~}} +{{#if @containerless~}} + {{~#if (has-block)}} {{~yield version~}} {{else}} {{~version~}} {{/if~}} - {{/liquid-versions~}} -{{else}} - {{~#liquid-container - id=this.containerId - class=this.class - growDuration=this.growDuration - growPixelsPerSecond=this.growPixelsPerSecond - growEasing=this.growEasing - shrinkDelay=this.shrinkDelay - growDelay=this.growDelay - enableGrowth=this.enableGrowth as |container| - ~}} - {{~#liquid-versions - value=this.value - notify=container - use=this.use - rules=this.rules - matchContext=this.forwardMatchContext - versionEquality=this.versionEquality - renderWhenFalse=true as |version| - ~}} + +{{~else~}} + + {{~!~}} + {{~#if (has-block)}} {{~yield version~}} {{else}} {{~version~}} {{/if~}} - {{/liquid-versions~}} - {{/liquid-container~}} -{{/if}} \ No newline at end of file + + {{~!~}} + +{{~/if}} \ No newline at end of file diff --git a/liquid-fire/src/components/liquid-bind.js b/liquid-fire/src/components/liquid-bind.js index e63b12b6..ef8c4a43 100644 --- a/liquid-fire/src/components/liquid-bind.js +++ b/liquid-fire/src/components/liquid-bind.js @@ -1,13 +1,8 @@ -import { computed } from '@ember/object'; -import Component from '@ember/component'; -// import layout from '../liquid-bind'; +import Component from '@glimmer/component'; -let LiquidBind = Component.extend({ - // layout, - tagName: '', - positionalParams: ['value'], // needed for Ember 1.13.[0-5] and 2.0.0-beta.[1-3] support - forwardMatchContext: computed('matchContext', function () { - let m = this.matchContext; +export default class LiquidBindComponent extends Component { + get forwardMatchContext() { + let m = this.args.matchContext; if (!m) { m = {}; } @@ -15,11 +10,5 @@ let LiquidBind = Component.extend({ m.helperName = 'liquid-bind'; } return m; - }), -}); - -LiquidBind.reopenClass({ - positionalParams: ['value'], -}); - -export default LiquidBind; + } +} diff --git a/liquid-fire/src/components/liquid-child.hbs b/liquid-fire/src/components/liquid-child.hbs new file mode 100644 index 00000000..95830cfe --- /dev/null +++ b/liquid-fire/src/components/liquid-child.hbs @@ -0,0 +1,7 @@ +
    + {{~yield~}} +
    \ No newline at end of file diff --git a/liquid-fire/src/components/liquid-child.js b/liquid-fire/src/components/liquid-child.js index f3e77ae5..aaa6de10 100644 --- a/liquid-fire/src/components/liquid-child.js +++ b/liquid-fire/src/components/liquid-child.js @@ -1,49 +1,62 @@ +import Component from '@glimmer/component'; +import { action } from '@ember/object'; +import { inject as service } from '@ember/service'; import { all } from 'rsvp'; -import Component from '@ember/component'; import './liquid-child.css'; -export default Component.extend({ - classNames: ['liquid-child'], +export default class LiquidChildComponent extends Component { + @service liquidFireChildren; + + element = null; + _waitingFor = []; + _isLiquidChild = true; + _serviceElement = null; - init() { - this._super(...arguments); - this._waitingFor = []; - }, + @action + setup(element) { + this.element = element; + + this._serviceElement = this.liquidFireChildren.register(this.args.uniqueChildId, this); + + element.style.visibility = 'hidden'; - didInsertElement() { - this._super(...arguments); - if (this.element) { - this.element.style.visibility = 'hidden'; - } this._waitForAll().then(() => { if (!this.isDestroying) { - this._waitingFor = null; - const didRenderAction = this.liquidChildDidRender; + this.liquidFireChildren._waitingFor = []; + const didRenderAction = this.args.liquidChildDidRender; if (typeof didRenderAction === 'function') { didRenderAction(this); } } }); - }, + } + + @action + destroyElement() { + if (this._serviceElement) { + this.liquidFireChildren.unregister(this._serviceElement); + this._serviceElement = null; + } + } - _isLiquidChild: true, _waitForMe(promise) { - if (!this._waitingFor) { + if (!this.liquidFireChildren._waitingFor) { return; } - this._waitingFor.push(promise); - let ancestor = this.nearestWithProperty('_isLiquidChild'); + this.liquidFireChildren._waitingFor.push(promise); + let ancestor = this.liquidFireChildren.closest(this.element); if (ancestor) { ancestor._waitForMe(promise); } - }, + } + _waitForAll() { - const promises = this._waitingFor; - this._waitingFor = []; + const promises = this.liquidFireChildren._waitingFor; + this.liquidFireChildren._waitingFor = []; return all(promises).then(() => { - if (this._waitingFor.length > 0) { + if (this.liquidFireChildren._waitingFor.length > 0) { return this._waitForAll(); } }); - }, -}); + } +} diff --git a/liquid-fire/src/components/liquid-container.hbs b/liquid-fire/src/components/liquid-container.hbs index 6d2e6148..67477cd4 100644 --- a/liquid-fire/src/components/liquid-container.hbs +++ b/liquid-fire/src/components/liquid-container.hbs @@ -1 +1,3 @@ -{{yield this}} \ No newline at end of file +
    + {{~yield this~}} +
    \ No newline at end of file diff --git a/liquid-fire/src/components/liquid-container.js b/liquid-fire/src/components/liquid-container.js index 1734ebb7..e86bd05e 100644 --- a/liquid-fire/src/components/liquid-container.js +++ b/liquid-fire/src/components/liquid-container.js @@ -1,17 +1,135 @@ -import Component from '@ember/component'; -import Growable from 'liquid-fire/mixins/growable'; -import { measure } from './liquid-measured'; -// import layout from '../liquid-container'; +import Component from '@glimmer/component'; +import { inject as service } from '@ember/service'; +import { action } from '@ember/object'; +import { measure, animateGrowth } from '../utils/animate'; import './liquid-container.css'; -export default Component.extend(Growable, { - // layout, - classNames: ['liquid-container'], +export default class LiquidContainerComponent extends Component { + @service('liquid-fire-transitions') transitionMap; + + _wasInserted = false; + element = null; + + get growDuration() { + return this.args.growDuration || 250; + } + + get growPixelsPerSecond() { + return this.args.growPixelsPerSecond || 200; + } + + get growEasing() { + return this.args.growEasing || 'slide'; + } + + get shrinkDelay() { + return this.args.shrinkDelay || 0; + } + + get growDelay() { + return this.args.growDelay || 0; + } + + get growWidth() { + return this.args.growWidth !== undefined ? this.args.growWidth : true; + } + + get growHeight() { + return this.args.growHeight !== undefined ? this.args.growHeight : true; + } + + @action + setup(element) { + this.element = element; + this._wasInserted = true; + } + + @action + willTransition(versions) { + if (!this._wasInserted) { + return; + } + + // Remember our own size before anything changes + this._cachedSize = measure(this.element); + + // And make any children absolutely positioned with fixed sizes. + for (let i = 0; i < versions.length; i++) { + goAbsolute(versions[i]); + } + } + + @action + afterChildInsertion(versions) { + let elt = this.element; + let enableGrowth = this.args.enableGrowth !== false; + + // Measure children + let sizes = []; + for (let i = 0; i < versions.length; i++) { + if (versions[i].view) { + sizes[i] = measure(versions[i].view.element); + } + } + + // Measure ourself again to see how big the new children make + // us. + let want = measure(elt); + let have = this._cachedSize || want; + + // Make ourself absolute + if (enableGrowth) { + this.lockSize(elt, have); + } else { + this.lockSize(elt, { + height: Math.max(want.height, have.height), + width: Math.max(want.width, have.width), + }); + } + + // Apply '.liquid-animating' to liquid-container allowing + // any customizable CSS control while an animating is occuring + this.updateAnimatingClass(true); + + // Make the children absolute and fixed size. + for (let i = 0; i < versions.length; i++) { + goAbsolute(versions[i], sizes[i]); + } + + // Kick off our growth animation + if (enableGrowth) { + this._scaling = this.animateGrowth(elt, have, want); + } + } + + @action + afterTransition(versions) { + for (let i = 0; i < versions.length; i++) { + goStatic(versions[i]); + } + this.unlockSize(); + } + + animateGrowth(elt, have, want) { + return animateGrowth( + elt, + have, + want, + this.transitionMap, + this.growWidth, + this.growHeight, + this.growEasing, + this.shrinkDelay, + this.growDelay, + this.growDuration, + this.growPixelsPerSecond + ); + } lockSize(elt, want) { elt.style.width = `${want.width}px`; elt.style.height = `${want.height}px`; - }, + } unlockSize() { let doUnlock = () => { @@ -26,7 +144,7 @@ export default Component.extend(Growable, { } else { doUnlock(); } - }, + } // We're doing this manually instead of via classNameBindings // because it depends on upward-data-flow, which generates warnings @@ -40,78 +158,8 @@ export default Component.extend(Growable, { } else { this.element.classList.remove('liquid-animating'); } - }, - - didInsertElement() { - this._super(...arguments); - this._wasInserted = true; - }, - - actions: { - willTransition(versions) { - if (!this._wasInserted) { - return; - } - - // Remember our own size before anything changes - this._cachedSize = measure(this.element); - - // And make any children absolutely positioned with fixed sizes. - for (let i = 0; i < versions.length; i++) { - goAbsolute(versions[i]); - } - }, - - afterChildInsertion(versions) { - let elt = this.element; - let enableGrowth = this.enableGrowth !== false; - - // Measure children - let sizes = []; - for (let i = 0; i < versions.length; i++) { - if (versions[i].view) { - sizes[i] = measure(versions[i].view.element); - } - } - - // Measure ourself again to see how big the new children make - // us. - let want = measure(elt); - let have = this._cachedSize || want; - - // Make ourself absolute - if (enableGrowth) { - this.lockSize(elt, have); - } else { - this.lockSize(elt, { - height: Math.max(want.height, have.height), - width: Math.max(want.width, have.width), - }); - } - - // Apply '.liquid-animating' to liquid-container allowing - // any customizable CSS control while an animating is occuring - this.updateAnimatingClass(true); - - // Make the children absolute and fixed size. - for (let i = 0; i < versions.length; i++) { - goAbsolute(versions[i], sizes[i]); - } - - // Kick off our growth animation - if (enableGrowth) { - this._scaling = this.animateGrowth(elt, have, want); - } - }, - - afterTransition(versions) { - for (let i = 0; i < versions.length; i++) { - goStatic(versions[i]); - } - this.unlockSize(); - }, - }, -}); + } +} function goAbsolute(version, size) { if (!version.view) { diff --git a/liquid-fire/src/components/liquid-if.hbs b/liquid-fire/src/components/liquid-if.hbs index 5b6f42e5..6df06998 100644 --- a/liquid-fire/src/components/liquid-if.hbs +++ b/liquid-fire/src/components/liquid-if.hbs @@ -1,4 +1,4 @@ -{{#if this.containerless}} +{{#if @containerless}} {{! Why are we using inline-ifs here? Because we want to force conversion to a boolean while respecting Ember's built in `if` semantics. @@ -9,12 +9,13 @@ }} {{#if valueVersion}} {{yield}} @@ -24,21 +25,22 @@ {{else}} {{#if valueVersion}} diff --git a/liquid-fire/src/components/liquid-if.js b/liquid-fire/src/components/liquid-if.js index 840598a3..e19c7207 100644 --- a/liquid-fire/src/components/liquid-if.js +++ b/liquid-fire/src/components/liquid-if.js @@ -1,15 +1,7 @@ -import Component from '@ember/component'; -// import layout from '../liquid-if'; +import Component from '@glimmer/component'; -let LiquidIf = Component.extend({ - positionalParams: ['predicate'], // needed for Ember 1.13.[0-5] and 2.0.0-beta.[1-3] support - // layout, - tagName: '', - helperName: 'liquid-if', -}); - -LiquidIf.reopenClass({ - positionalParams: ['predicate'], -}); - -export default LiquidIf; +export default class LiquidIfComponent extends Component { + get helperName() { + return this.args.helperName || 'liquid-if'; + } +} diff --git a/liquid-fire/src/components/liquid-measured.hbs b/liquid-fire/src/components/liquid-measured.hbs index 889d9eea..2269f197 100644 --- a/liquid-fire/src/components/liquid-measured.hbs +++ b/liquid-fire/src/components/liquid-measured.hbs @@ -1 +1,6 @@ -{{yield}} +
    + {{yield}} +
    diff --git a/liquid-fire/src/components/liquid-measured.js b/liquid-fire/src/components/liquid-measured.js index 8531bffe..a61d1f72 100644 --- a/liquid-fire/src/components/liquid-measured.js +++ b/liquid-fire/src/components/liquid-measured.js @@ -1,21 +1,24 @@ import { next, throttle } from '@ember/runloop'; import { inject as service } from '@ember/service'; -import Component from '@ember/component'; -import MutationObserver from 'liquid-fire/mutation-observer'; -// import layout from '../liquid-measured'; +import { bind } from '@ember/runloop'; +import Component from '@glimmer/component'; +import { MutationObserver } from '../index'; +import { action } from '@ember/object'; +import { measure } from '../utils/animate'; const WINDOW_RESIZE_THROTTLE_DURATION = 100; -export default Component.extend({ - // layout, - - init() { - this._super(...arguments); - this._destroyOnUnload = this._destroyOnUnload.bind(this); - }, - - didInsertElement() { - this._super(...arguments); +export default class LiquidMeasuredComponent extends Component { + constructor() { + super(...arguments); + + // this._destroyOnUnload = bind(this, this._destroyOnUnload); + } + + @action + setup(element) { + this.element = element; + let self = this; // This prevents margin collapse @@ -33,26 +36,26 @@ export default Component.extend({ characterData: true, }); - this.windowResizeHandler = this.windowDidResize.bind(this); + this.windowResizeHandler = bind(this, this.windowDidResize); window.addEventListener('resize', this.windowResizeHandler); this.element.addEventListener('webkitTransitionEnd', function () { self.didMutate(); }); // Chrome Memory Leak: https://bugs.webkit.org/show_bug.cgi?id=93661 - window.addEventListener('unload', this._destroyOnUnload); - }, + // window.addEventListener('unload', this._destroyOnUnload); + } - willDestroyElement() { - this._super(...arguments); + @action + destroyElement() { if (this.observer) { this.observer.disconnect(); } window.removeEventListener('resize', this.windowResizeHandler); - window.removeEventListener('unload', this._destroyOnUnload); - }, + // window.removeEventListener('unload', this._destroyOnUnload); + } - transitionMap: service('liquid-fire-transitions'), + @service('liquid-fire-transitions') transitionMap; didMutate() { // by incrementing the running transitions counter here we prevent @@ -65,37 +68,20 @@ export default Component.extend({ this._didMutate(); tmap.decrementRunningTransitions(); }); - }, + } windowDidResize() { throttle(this, this.didMutate, WINDOW_RESIZE_THROTTLE_DURATION); - }, + } _didMutate() { if (!this.element) { return; } - this.didMeasure(measure(this.element)); - }, - - _destroyOnUnload() { - this.willDestroyElement(); - }, -}); - -export function measure($elt) { - let boundingRect = $elt.getBoundingClientRect(); - - // Calculate the scaling. - // NOTE: We only handle the simple zoom case. - let claimedWidth = $elt.offsetWidth; - - // Round the width because offsetWidth is rounded - let actualWidth = Math.round(boundingRect.width); - let scale = actualWidth > 0 ? claimedWidth / actualWidth : 0; + this.args.didMeasure(measure(this.element)); + } - return { - width: boundingRect.width * scale, - height: boundingRect.height * scale, - }; + // _destroyOnUnload() { + // this.willDestroyElement(); + // } } diff --git a/liquid-fire/src/components/liquid-outlet.hbs b/liquid-fire/src/components/liquid-outlet.hbs index 30c241aa..0b7b87f9 100644 --- a/liquid-fire/src/components/liquid-outlet.hbs +++ b/liquid-fire/src/components/liquid-outlet.hbs @@ -1,22 +1,27 @@ - {{~#liquid-bind - (lf-lock-model outletState this.outletName) - containerId=this.containerId - versionEquality=this.versionEquality - matchContext=(hash outletName=this.outletName helperName="liquid-outlet") - class=this.class - use=this.use - rules=this.rules - containerless=this.containerless - growDuration=this.growDuration - growPixelsPerSecond=this.growPixelsPerSecond - growEasing=this.growEasing - shrinkDelay=this.shrinkDelay - growDelay=this.growDelay - enableGrowth=this.enableGrowth as |version| - ~}} - {{#-with-dynamic-vars outletState=version~}} + {{~!~}} + + {{~!~}} + {{~#-with-dynamic-vars outletState=version~}} {{outlet}} - {{~/-with-dynamic-vars}} - {{~/liquid-bind~}} + {{~/-with-dynamic-vars~}} + {{~!~}} + + {{~!~}} \ No newline at end of file diff --git a/liquid-fire/src/components/liquid-outlet.js b/liquid-fire/src/components/liquid-outlet.js index 59db75a8..db5098e0 100644 --- a/liquid-fire/src/components/liquid-outlet.js +++ b/liquid-fire/src/components/liquid-outlet.js @@ -1,19 +1,18 @@ -import { computed } from '@ember/object'; -import Component from '@ember/component'; -// import layout from '../liquid-outlet'; +import Component from '@glimmer/component'; import { childRoute, routeIsStable, modelIsStable, -} from 'liquid-fire/ember-internals'; +} from '../ember-internals'; -let LiquidOutlet = Component.extend({ - // layout, - positionalParams: ['inputOutletName'], // needed for Ember 1.13.[0-5] and 2.0.0-beta.[1-3] support - tagName: '', - versionEquality: computed('outletName', 'watchModels', function () { +export default class LiquidOutletComponent extends Component { + get outletName() { + return this.args.inputOutletName || 'main'; + } + + get versionEquality() { let outletName = this.outletName; - let watchModels = this.watchModels; + let watchModels = this.args.watchModels; return function (oldValue, newValue) { let oldChild = childRoute(oldValue, outletName); let newChild = childRoute(newValue, outletName); @@ -22,15 +21,5 @@ let LiquidOutlet = Component.extend({ (!watchModels || modelIsStable(oldChild, newChild)) ); }; - }), - didReceiveAttrs() { - this._super(...arguments); - this.set('outletName', this.inputOutletName || 'main'); - }, -}); - -LiquidOutlet.reopenClass({ - positionalParams: ['inputOutletName'], -}); - -export default LiquidOutlet; + } +} diff --git a/liquid-fire/src/components/liquid-spacer.hbs b/liquid-fire/src/components/liquid-spacer.hbs index f4eadab9..561b30e8 100644 --- a/liquid-fire/src/components/liquid-spacer.hbs +++ b/liquid-fire/src/components/liquid-spacer.hbs @@ -1,3 +1,8 @@ - - {{yield}} - \ No newline at end of file +
    + + {{yield}} + +
    \ No newline at end of file diff --git a/liquid-fire/src/components/liquid-spacer.js b/liquid-fire/src/components/liquid-spacer.js index 11b4b68f..3ef47ac1 100644 --- a/liquid-fire/src/components/liquid-spacer.js +++ b/liquid-fire/src/components/liquid-spacer.js @@ -1,19 +1,51 @@ -import Component from '@ember/component'; -import { measure } from './liquid-measured'; -import Growable from 'liquid-fire/mixins/growable'; -// import layout from '../liquid-spacer'; +import Component from '@glimmer/component'; +import { action } from '@ember/object'; +import { inject as service } from '@ember/service'; +import { animateGrowth, measure } from '../utils/animate'; -export default Component.extend(Growable, { - // layout, - enabled: true, +export default class LiquidOutletComponent extends Component { + @service('liquid-fire-transitions') transitionMap; - didInsertElement() { - this._super(...arguments); - let elt = this.element; + element = null; + enabled = true; + + get growDuration() { + return this.args.growDuration || 250; + } + + get growPixelsPerSecond() { + return this.args.growPixelsPerSecond || 200; + } + + get growEasing() { + return this.args.growEasing || 'slide'; + } + + get shrinkDelay() { + return this.args.shrinkDelay || 0; + } + + get growDelay() { + return this.args.growDelay || 0; + } + + get growWidth() { + return this.args.growWidth !== undefined ? this.args.growWidth : true; + } + + get growHeight() { + return this.args.growHeight !== undefined ? this.args.growHeight : true; + } + + @action + setup(element) { + this.element = element; + + let elt = element; let child = elt.getElementsByTagName('div')[0]; let measurements = this.myMeasurements(measure(child)); - this.element.style.overflow = 'hidden'; + element.style.overflow = 'hidden'; if (this.growWidth) { elt.style.width = `${measurements.width}px`; @@ -21,7 +53,7 @@ export default Component.extend(Growable, { if (this.growHeight) { elt.style.height = `${measurements.height}px`; } - }, + } sizeChanged(measurements) { if (!this.enabled) { @@ -34,7 +66,23 @@ export default Component.extend(Growable, { let elt = this.element; let have = measure(elt); this.animateGrowth(elt, have, want); - }, + } + + animateGrowth(elt, have, want) { + return animateGrowth( + elt, + have, + want, + this.transitionMap, + this.growWidth, + this.growHeight, + this.growEasing, + this.shrinkDelay, + this.growDelay, + this.growDuration, + this.growPixelsPerSecond + ); + } // given our child's outerWidth & outerHeight, figure out what our // outerWidth & outerHeight should be. @@ -50,8 +98,8 @@ export default Component.extend(Growable, { sumCSS(elt, padding('height')) + sumCSS(elt, border('height')), }; - }, -}); + } +} function sides(dimension) { return dimension === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom']; diff --git a/liquid-fire/src/components/liquid-sync.css b/liquid-fire/src/components/liquid-sync.css new file mode 100644 index 00000000..a9a287e2 --- /dev/null +++ b/liquid-fire/src/components/liquid-sync.css @@ -0,0 +1,3 @@ +.liquid-versions { + display: none; +} diff --git a/liquid-fire/src/components/liquid-sync.hbs b/liquid-fire/src/components/liquid-sync.hbs index 66cb7fb3..95236c9a 100644 --- a/liquid-fire/src/components/liquid-sync.hbs +++ b/liquid-fire/src/components/liquid-sync.hbs @@ -1 +1,5 @@ -{{yield (action "ready")}} +{{yield (action "ready")~}} +
    \ No newline at end of file diff --git a/liquid-fire/src/components/liquid-sync.js b/liquid-fire/src/components/liquid-sync.js index 3f0fd93d..6bbaea2f 100644 --- a/liquid-fire/src/components/liquid-sync.js +++ b/liquid-fire/src/components/liquid-sync.js @@ -1,17 +1,48 @@ -import Component from '@ember/component'; -// import layout from '../liquid-sync'; -import Pausable from '../mixins/pausable'; +import Component from '@glimmer/component'; +import { action } from '@ember/object'; +import { defer } from 'rsvp'; +import { inject as service } from '@ember/service'; +import './liquid-sync.css'; -export default Component.extend(Pausable, { - tagName: '', - // layout: layout, - didInsertElement() { - this._super(...arguments); +export default class LiquidSyncComponent extends Component { + @service liquidFireChildren; + @service('liquid-fire-transitions') _transitionMap; + + _lfDefer = []; + + @action + setup(element) { + this.element = element; this.pauseLiquidFire(); - }, - actions: { - ready() { - this.resumeLiquidFire(); - }, - }, -}); + } + + @action + destroyElement() { + this.ready(); + } + + @action + ready() { + this.resumeLiquidFire(); + } + + pauseLiquidFire() { + let context = this.liquidFireChildren.closest(this.element); + if (context) { + let def = new defer(); + let tmap = this._transitionMap; + tmap.incrementRunningTransitions(); + def.promise.finally(() => tmap.decrementRunningTransitions()); + this._lfDefer.push(def); + context._waitForMe(def.promise); + } + } + + @action + resumeLiquidFire() { + let def = this._lfDefer.pop(); + if (def) { + def.resolve(); + } + } +} diff --git a/liquid-fire/src/components/liquid-unless.js b/liquid-fire/src/components/liquid-unless.js index 41643db8..43e88ad2 100644 --- a/liquid-fire/src/components/liquid-unless.js +++ b/liquid-fire/src/components/liquid-unless.js @@ -1,6 +1,6 @@ import LiquidIf from './liquid-if'; -export default LiquidIf.extend({ - helperName: 'liquid-unless', - inverted: true, -}); +export default class LiquidUnlessComponent extends LiquidIf { + helperName = 'liquid-unless'; + inverted = true; +} diff --git a/liquid-fire/src/components/liquid-versions.css b/liquid-fire/src/components/liquid-versions.css new file mode 100644 index 00000000..a9a287e2 --- /dev/null +++ b/liquid-fire/src/components/liquid-versions.css @@ -0,0 +1,3 @@ +.liquid-versions { + display: none; +} diff --git a/liquid-fire/src/components/liquid-versions.hbs b/liquid-fire/src/components/liquid-versions.hbs index e21fb894..ff2aa16f 100644 --- a/liquid-fire/src/components/liquid-versions.hbs +++ b/liquid-fire/src/components/liquid-versions.hbs @@ -1,11 +1,16 @@ {{#each this.versions as |version|~}} - {{#if (lf-or this.renderWhenFalse version.value)~}} - {{#liquid-child - version=version - liquidChildDidRender=(action "childDidRender") - class=this.class - ~}} - {{yield version.value~}} - {{/liquid-child}} - {{/if}} -{{/each}} \ No newline at end of file + {{#if (lf-or @renderWhenFalse version.value)~}} + + {{~yield version.value~}} + + {{~/if}} +{{~/each~}} +
    \ No newline at end of file diff --git a/liquid-fire/src/components/liquid-versions.js b/liquid-fire/src/components/liquid-versions.js index 81a13a61..03d855c3 100644 --- a/liquid-fire/src/components/liquid-versions.js +++ b/liquid-fire/src/components/liquid-versions.js @@ -1,31 +1,29 @@ +import Component from '@glimmer/component'; +import { action, set, get } from '@ember/object'; +import { assert } from '@ember/debug'; +import { tracked } from '@glimmer/tracking'; import { A } from '@ember/array'; import { inject as service } from '@ember/service'; -import Component from '@ember/component'; -import { set } from '@ember/object'; -import { containingElement } from 'liquid-fire/ember-internals'; -// import layout from '../liquid-versions'; +import { guidFor } from '@ember/object/internals'; +import './liquid-versions.css'; -export default Component.extend({ - // layout, - tagName: '', - - transitionMap: service('liquid-fire-transitions'), - - didReceiveAttrs() { - this._super(...arguments); - this.appendVersion(); - }, +export default class LiquidVersionsComponent extends Component { + @service('liquid-fire-transitions') transitionMap; + @tracked versions = null; + + @action appendVersion() { let versions = this.versions; let firstTime = false; - let newValue = this.getAttr('value'); + let newValue = this.args.value; let oldValue; - let versionEquality = this.versionEquality || defaultEqualityCheck; + let versionEquality = this.args.versionEquality || defaultEqualityCheck; if (!versions) { firstTime = true; versions = A(); + this.uniqueChildId = guidFor(this); } else { if (versions[0]) { oldValue = versions[0].value; @@ -46,6 +44,7 @@ export default Component.extend({ this.notifyContainer('willTransition', versions); let newVersion = { value: newValue, + uniqueChildId: this.uniqueChildId, }; versions.unshiftObject(newVersion); @@ -54,12 +53,14 @@ export default Component.extend({ set(this, 'versions', versions); } - if (!(newValue || this.renderWhenFalse || firstTime)) { + if (!(newValue || this.args.renderWhenFalse || firstTime)) { this._transition(); } - }, + } _transition() { + assert(`LiquidVersions: @containerElement is required!`, !!this.args.containerElement); + let versions = this.versions; let transition; let firstTime = this.firstTime; @@ -69,10 +70,10 @@ export default Component.extend({ transition = this.transitionMap.transitionFor({ versions: versions, - parentElement: containingElement(this), - use: this.use, - rules: this.rules, - matchContext: this.matchContext || {}, + parentElement: this.args.containerElement, + use: this.args.use, + rules: this.args.rules, + matchContext: this.args.matchContext || {}, // Using strings instead of booleans here is an // optimization. The constraint system can match them more // efficiently, since it treats boolean constraints as generic @@ -101,27 +102,26 @@ export default Component.extend({ throw err; } ); - }, + } finalizeVersions(versions) { versions.replace(1, versions.length - 1); - }, + } notifyContainer(method, versions) { - let target = this.notify; - if (target && !target.get('isDestroying')) { - target.send(method, versions); + let target = this.args.notify; + if (target && !get(target, 'isDestroying')) { + get(target, method)(versions); } - }, - - actions: { - childDidRender(child) { - let version = child.version; - set(version, 'view', child); - this._transition(); - }, - }, -}); + } + + @action + childDidRender(child) { + let version = child.args.version; + set(version, 'view', child); + this._transition(); + } +} // All falsey values are considered equal, everything else gets strict // equality. diff --git a/liquid-fire/src/constrainables.js b/liquid-fire/src/constrainables.js index 83cfb1d7..3dc942fa 100644 --- a/liquid-fire/src/constrainables.js +++ b/liquid-fire/src/constrainables.js @@ -1,4 +1,4 @@ -import { childRoute, routeName, routeModel } from 'liquid-fire/ember-internals'; +import { childRoute, routeName, routeModel } from './ember-internals'; export default { oldValue: { diff --git a/liquid-fire/src/ember-internals.js b/liquid-fire/src/ember-internals.js index c2963b14..2b83ff0b 100644 --- a/liquid-fire/src/ember-internals.js +++ b/liquid-fire/src/ember-internals.js @@ -1,15 +1,15 @@ -import { - macroCondition, - dependencySatisfies, - importSync, -} from '@embroider/macros'; +// import { +// macroCondition, +// dependencySatisfies, +// importSync, +// } from '@embroider/macros'; -let getViewBounds; -if (macroCondition(dependencySatisfies('ember-source', '>=3.27.0'))) { - ({ getViewBounds } = importSync('@ember/-internals/views')); -} else { - ({ getViewBounds } = window.Ember.ViewUtils); -} +// let getViewBounds; +// if (macroCondition(dependencySatisfies('ember-source', '>=3.27.0'))) { +// ({ getViewBounds } = importSync('@ember/-internals/views')); +// } else { +// ({ getViewBounds } = window.Ember.ViewUtils); +// } // Traverses down to the child routeInfo with the given name. export function childRoute(routeInfo, outletName) { @@ -75,6 +75,6 @@ export function modelIsStable(oldRouteInfo, newRouteInfo) { return oldModel[0] === newModel[0]; } -export function containingElement(view) { - return getViewBounds(view).parentElement; -} +// export function containingElement(view) { +// return getViewBounds(view).parentElement; +// } diff --git a/liquid-fire/src/index.js b/liquid-fire/src/index.js index da01cd98..f481d767 100644 --- a/liquid-fire/src/index.js +++ b/liquid-fire/src/index.js @@ -9,7 +9,6 @@ import { } from './animate'; import Promise from './promise'; import MutationObserver from './mutation-observer'; -export { default as Pausable } from './mixins/pausable'; import { dependencySatisfies, macroCondition, diff --git a/liquid-fire/src/mixins/growable.js b/liquid-fire/src/mixins/growable.js deleted file mode 100644 index dba217bc..00000000 --- a/liquid-fire/src/mixins/growable.js +++ /dev/null @@ -1,70 +0,0 @@ -/* jshint newcap: false */ -import { inject as service } from '@ember/service'; - -import Mixin from '@ember/object/mixin'; -import { capitalize } from '@ember/string'; -import Promise from 'liquid-fire/promise'; -import { Velocity } from '../index'; - -export default Mixin.create({ - growDuration: 250, - growPixelsPerSecond: 200, - growEasing: 'slide', - shrinkDelay: 0, - growDelay: 0, - growWidth: true, - growHeight: true, - - transitionMap: service('liquid-fire-transitions'), - - animateGrowth(elt, have, want) { - this.transitionMap.incrementRunningTransitions(); - let adaptations = []; - - if (this.growWidth) { - adaptations.push(this._adaptDimension(elt, 'width', have, want)); - } - - if (this.growHeight) { - adaptations.push(this._adaptDimension(elt, 'height', have, want)); - } - - return Promise.all(adaptations).then(() => { - this.transitionMap.decrementRunningTransitions(); - }); - }, - - _adaptDimension(elt, dimension, have, want) { - if (have[dimension] === want[dimension]) { - return Promise.resolve(); - } - let target = {}; - target['outer' + capitalize(dimension)] = [ - want[dimension], - have[dimension], - ]; - return Velocity(elt, target, { - delay: this._delayFor(have[dimension], want[dimension]), - duration: this._durationFor(have[dimension], want[dimension]), - queue: false, - easing: this.growEasing || this.constructor.prototype.growEasing, - }); - }, - - _delayFor(before, after) { - if (before > after) { - return this.shrinkDelay || this.constructor.prototype.shrinkDelay; - } - - return this.growDelay || this.constructor.prototype.growDelay; - }, - - _durationFor(before, after) { - return Math.min( - this.growDuration || this.constructor.prototype.growDuration, - (1000 * Math.abs(before - after)) / - (this.growPixelsPerSecond || - this.constructor.prototype.growPixelsPerSecond) - ); - }, -}); diff --git a/liquid-fire/src/mixins/pausable.js b/liquid-fire/src/mixins/pausable.js deleted file mode 100644 index 5b40d476..00000000 --- a/liquid-fire/src/mixins/pausable.js +++ /dev/null @@ -1,29 +0,0 @@ -import { defer } from 'rsvp'; -import { on } from '@ember/object/evented'; -import { inject as service } from '@ember/service'; -import Mixin from '@ember/object/mixin'; - -export default Mixin.create({ - _transitionMap: service('liquid-fire-transitions'), - - _initializeLiquidFirePauseable: on('init', function () { - this._lfDefer = []; - }), - pauseLiquidFire() { - const context = this.nearestWithProperty('_isLiquidChild'); - if (context) { - let def = new defer(); - let tmap = this._transitionMap; - tmap.incrementRunningTransitions(); - def.promise.finally(() => tmap.decrementRunningTransitions()); - this._lfDefer.push(def); - context._waitForMe(def.promise); - } - }, - resumeLiquidFire: on('willDestroyElement', function () { - let def = this._lfDefer.pop(); - if (def) { - def.resolve(); - } - }), -}); diff --git a/liquid-fire/src/services/liquid-fire-children.js b/liquid-fire/src/services/liquid-fire-children.js new file mode 100644 index 00000000..29fb1cbf --- /dev/null +++ b/liquid-fire/src/services/liquid-fire-children.js @@ -0,0 +1,53 @@ +import Service from '@ember/service'; + +class LiquidFireChild { + constructor(uniqueChildId, componentClass){ + this.uniqueChildId = uniqueChildId; + this.componentClass = componentClass; + } +} + +export default class LiquidFireChildrenService extends Service { + children = []; + _waitingFor = []; + + register(uniqueChildId, componentClass) { + const child = new LiquidFireChild(uniqueChildId, componentClass); + this.children.push(child); + return child; + } + + unregister(child) { + const index = this.children.indexOf(child); + + if (index === -1) { + return; + } + + this.children.splice(index, 1); + } + + closest(element) { + if (!element) { + return null; + } + + const closestElement = element.closest('[data-liquid-child]'); + + if (!closestElement) { + return null; + } + + if (closestElement.getAttribute('data-liquid-child') === element.getAttribute('data-liquid-child')) { + return null; + } + + var child = this.children.find((x) => x.uniqueChildId === closestElement.getAttribute('data-liquid-child')); + + if (!child) { + return null; + } + + return child.componentClass; + } +} diff --git a/liquid-fire/src/transition-map.js b/liquid-fire/src/transition-map.js index 4cc1e443..321d4505 100644 --- a/liquid-fire/src/transition-map.js +++ b/liquid-fire/src/transition-map.js @@ -10,9 +10,9 @@ import DSL from './dsl'; import Action from './action'; import Constraints from './constraints'; -let TransitionMap = Service.extend({ - init() { - this._super(...arguments); +export default class TransitionMapService extends Service { + constructor() { + super(...arguments); this.activeCount = 0; this.constraints = new Constraints(); @@ -29,22 +29,42 @@ let TransitionMap = Service.extend({ if (config) { this.map(config); } - }, + + if (DEBUG) { + if (this.isTest) { + this._waiter = () => { + return this.runningTransitions() === 0; + }; + registerWaiter(this._waiter); + } + } + } + + willDestroy() { + if (DEBUG) { + if (this._waiter) { + unregisterWaiter(this._waiter); + this._waiter = null; + } + } + + super.willDestroy(...arguments); + } runningTransitions() { return this.activeCount; - }, + } incrementRunningTransitions() { this.activeCount++; - }, + } decrementRunningTransitions() { this.activeCount--; next(() => { this._maybeResolveIdle(); }); - }, + } waitUntilIdle() { if (this._waitingPromise) { @@ -56,7 +76,7 @@ let TransitionMap = Service.extend({ this._maybeResolveIdle(); }); })); - }, + } _maybeResolveIdle() { if (this.activeCount === 0 && this._resolveWaiting) { @@ -65,7 +85,7 @@ let TransitionMap = Service.extend({ this._waitingPromise = null; resolveWaiting(); } - }, + } lookup(transitionName) { let owner = getOwner(this); @@ -80,14 +100,14 @@ let TransitionMap = Service.extend({ throw new Error('unknown transition name: ' + transitionName); } return handler; - }, + } defaultAction() { if (!this._defaultAction) { this._defaultAction = new Action(this.lookup('default')); } return this._defaultAction; - }, + } constraintsFor(conditions) { if (conditions.rules) { @@ -97,7 +117,7 @@ let TransitionMap = Service.extend({ } else { return this.constraints; } - }, + } transitionFor(conditions) { let action; @@ -113,46 +133,12 @@ let TransitionMap = Service.extend({ } } return new RunningTransition(this, conditions.versions, action); - }, + } map(handler, constraints) { if (handler) { handler.apply(new DSL(this, constraints || this.constraints)); } return this; - }, -}); - -if (DEBUG) { - TransitionMap.reopen({ - init() { - this._super(...arguments); - - if (this.isTest) { - this._waiter = () => { - return this.runningTransitions() === 0; - }; - registerWaiter(this._waiter); - } - }, - - willDestroy() { - if (this._waiter) { - unregisterWaiter(this._waiter); - this._waiter = null; - } - - this._super(...arguments); - }, - }); + } } - -TransitionMap.reopenClass({ - map(handler) { - let t = TransitionMap.create(); - t.map(handler); - return t; - }, -}); - -export default TransitionMap; diff --git a/liquid-fire/src/transitions/cross-fade.js b/liquid-fire/src/transitions/cross-fade.js index 94ea54dc..5d502cb3 100644 --- a/liquid-fire/src/transitions/cross-fade.js +++ b/liquid-fire/src/transitions/cross-fade.js @@ -1,5 +1,5 @@ // BEGIN-SNIPPET cross-fade-definition -import { animate, stop, Promise } from 'liquid-fire'; +import { animate, stop, Promise } from '../index'; export default function crossFade(opts = {}) { stop(this.oldElement); return Promise.all([ diff --git a/liquid-fire/src/transitions/default.js b/liquid-fire/src/transitions/default.js index 148bc4a6..27fcb02c 100644 --- a/liquid-fire/src/transitions/default.js +++ b/liquid-fire/src/transitions/default.js @@ -1,4 +1,4 @@ -import { Promise } from 'liquid-fire'; +import { Promise } from '../index'; // This is what we run when no animation is asked for. It just sets // the newly-added element to visible (because we always start them diff --git a/liquid-fire/src/transitions/explode.js b/liquid-fire/src/transitions/explode.js index e91d7c20..c89682be 100644 --- a/liquid-fire/src/transitions/explode.js +++ b/liquid-fire/src/transitions/explode.js @@ -1,6 +1,6 @@ import { isArray, A } from '@ember/array'; import { guidFor } from '@ember/object/internals'; -import { Promise } from 'liquid-fire'; +import { Promise } from '../index'; // Explode is not, by itself, an animation. It exists to pull apart // other elements so that each of the pieces can be targeted by diff --git a/liquid-fire/src/transitions/fade.js b/liquid-fire/src/transitions/fade.js index 124687c8..61d373a2 100644 --- a/liquid-fire/src/transitions/fade.js +++ b/liquid-fire/src/transitions/fade.js @@ -1,5 +1,6 @@ // BEGIN-SNIPPET fade-definition -import { isAnimating, finish, timeSpent, animate, stop } from 'liquid-fire'; +import { isAnimating, finish, timeSpent, animate, stop } from '../index'; + export default function fade(opts = {}) { let firstStep; let outOpts = opts; diff --git a/liquid-fire/src/transitions/flex-grow.js b/liquid-fire/src/transitions/flex-grow.js index 79c0b21f..f8549d2f 100644 --- a/liquid-fire/src/transitions/flex-grow.js +++ b/liquid-fire/src/transitions/flex-grow.js @@ -1,4 +1,4 @@ -import { animate, stop, Promise } from 'liquid-fire'; +import { animate, stop, Promise } from '../index'; export default function flexGrow(opts) { stop(this.oldElement); return Promise.all([ diff --git a/liquid-fire/src/transitions/fly-to.js b/liquid-fire/src/transitions/fly-to.js index 3ea27d3f..342eab1b 100644 --- a/liquid-fire/src/transitions/fly-to.js +++ b/liquid-fire/src/transitions/fly-to.js @@ -1,4 +1,4 @@ -import { animate, Promise } from 'liquid-fire'; +import { animate, Promise } from '../index'; export default function flyTo(opts = {}) { if (!this.newElement) { diff --git a/liquid-fire/src/transitions/move-over.js b/liquid-fire/src/transitions/move-over.js index 19ae9b73..fb11c4fa 100644 --- a/liquid-fire/src/transitions/move-over.js +++ b/liquid-fire/src/transitions/move-over.js @@ -1,4 +1,4 @@ -import { stop, animate, Promise, isAnimating, finish } from 'liquid-fire'; +import { stop, animate, Promise, isAnimating, finish } from '../index'; export default function moveOver(dimension, direction, opts) { let oldParams = {}, diff --git a/liquid-fire/src/transitions/scale.js b/liquid-fire/src/transitions/scale.js index 62f46652..3b1efc4c 100644 --- a/liquid-fire/src/transitions/scale.js +++ b/liquid-fire/src/transitions/scale.js @@ -1,4 +1,4 @@ -import { animate } from 'liquid-fire'; +import { animate } from '../index'; export default function scale(opts = {}) { return animate(this.oldElement, { scale: [0.2, 1] }, opts).then(() => { diff --git a/liquid-fire/src/transitions/scroll-then.js b/liquid-fire/src/transitions/scroll-then.js index a858aa80..9659e07a 100644 --- a/liquid-fire/src/transitions/scroll-then.js +++ b/liquid-fire/src/transitions/scroll-then.js @@ -1,5 +1,6 @@ import { assert } from '@ember/debug'; -import isBrowser from 'liquid-fire/is-browser'; +import isBrowser from '../is-browser'; +import { Velocity } from 'liquid-fire'; export default function (nextTransitionName, options, ...rest) { if (isBrowser()) { @@ -25,7 +26,7 @@ export default function (nextTransitionName, options, ...rest) { // additional args can be passed through after the scroll options object // like so: this.use('scrollThen', 'moveOver', {duration: 100}, 'x', -1); - return window.$.Velocity(el, 'scroll', options).then(() => { + return Velocity(el, 'scroll', options).then(() => { nextTransition.apply(this, rest); }); } diff --git a/liquid-fire/src/utils/animate.js b/liquid-fire/src/utils/animate.js new file mode 100644 index 00000000..4cc1c4ee --- /dev/null +++ b/liquid-fire/src/utils/animate.js @@ -0,0 +1,111 @@ +import { capitalize } from '@ember/string'; +import { Velocity } from '../index'; + +export function measure($elt) { + let boundingRect = $elt.getBoundingClientRect(); + + // Calculate the scaling. + // NOTE: We only handle the simple zoom case. + let claimedWidth = $elt.offsetWidth; + + // Round the width because offsetWidth is rounded + let actualWidth = Math.round(boundingRect.width); + let scale = actualWidth > 0 ? claimedWidth / actualWidth : 0; + + return { + width: boundingRect.width * scale, + height: boundingRect.height * scale, + }; +} + +export function animateGrowth( + elt, + have, + want, + transitionMap, + growWidth, + growHeight, + growEasing, + shrinkDelay, + growDelay, + growDuration, + growPixelsPerSecond +) { + transitionMap.incrementRunningTransitions(); + let adaptations = []; + + if (growWidth) { + adaptations.push( + adaptDimension( + elt, + 'width', + have, + want, + growEasing, + shrinkDelay, + growDelay, + growDuration, + growPixelsPerSecond + ) + ); + } + + if (growHeight) { + adaptations.push( + adaptDimension( + elt, + 'height', + have, + want, + growEasing, + shrinkDelay, + growDelay, + growDuration, + growPixelsPerSecond + ) + ); + } + + return Promise.all(adaptations).then(() => { + transitionMap.decrementRunningTransitions(); + }); +} + +function adaptDimension( + elt, + dimension, + have, + want, + growEasing, + shrinkDelay, + growDelay, + growDuration, + growPixelsPerSecond +) { + if (have[dimension] === want[dimension]) { + return Promise.resolve(); + } + let target = {}; + target['outer' + capitalize(dimension)] = [want[dimension], have[dimension]]; + return Velocity(elt, target, { + delay: delayFor(have[dimension], want[dimension], shrinkDelay, growDelay), + duration: durationFor(have[dimension], want[dimension], growDuration, growPixelsPerSecond), + queue: false, + easing: growEasing, + }); +} + +function delayFor(before, after, shrinkDelay, growDelay) { + if (before > after) { + return shrinkDelay; + } + + return growDelay; +} + +function durationFor(before, after, growDuration, growPixelsPerSecond) { + return Math.min( + growDuration, + (1000 * Math.abs(before - after)) / growPixelsPerSecond + ); +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9703a58a..6679a852 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,7 +10,7 @@ importers: devDependencies: concurrently: specifier: ^7.2.1 - version: 7.6.0 + version: 7.2.1 prettier: specifier: ^2.5.1 version: 2.8.8 @@ -18,15 +18,15 @@ importers: docs: dependencies: liquid-fire: - specifier: '*' - version: 0.35.1(ember-source@4.12.1) + specifier: workspace:* + version: link:../liquid-fire devDependencies: '@babel/eslint-parser': specifier: ^7.22.5 - version: 7.22.5(@babel/core@7.22.5)(eslint@8.43.0) + version: 7.22.5(@babel/core@7.22.9)(eslint@8.42.0) '@babel/plugin-proposal-decorators': specifier: ^7.22.5 - version: 7.22.5(@babel/core@7.22.5) + version: 7.22.5(@babel/core@7.22.9) '@ember/optional-features': specifier: ^2.0.0 version: 2.0.0 @@ -35,7 +35,7 @@ importers: version: 3.1.1 '@ember/test-helpers': specifier: ^3.0.3 - version: 3.1.0(ember-source@4.12.1)(webpack@5.88.0) + version: 3.0.3(ember-source@4.12.0)(webpack@5.86.0) '@embroider/macros': specifier: ^1.11.1 version: 1.11.1 @@ -44,16 +44,16 @@ importers: version: 3.0.1 '@embroider/util': specifier: ^1.11.1 - version: 1.11.1(ember-source@4.12.1) + version: 1.11.1(ember-source@4.12.0) '@glimmer/component': specifier: ^1.1.2 - version: 1.1.2(@babel/core@7.22.5) + version: 1.1.2(@babel/core@7.22.9) '@glimmer/tracking': specifier: ^1.1.2 version: 1.1.2 bootstrap: specifier: ^4.6.0 - version: 4.6.2(jquery@3.7.0)(popper.js@1.16.1) + version: 4.6.0(jquery@3.7.0)(popper.js@1.16.1) broccoli-asset-rev: specifier: ^3.0.0 version: 3.0.0 @@ -62,13 +62,13 @@ importers: version: 8.2.0 ember-auto-import: specifier: ^2.6.3 - version: 2.6.3(webpack@5.88.0) + version: 2.6.3(webpack@5.86.0) ember-cli: specifier: ~4.12.0 - version: 4.12.1 + version: 4.12.0 ember-cli-app-version: specifier: ^6.0.0 - version: 6.0.1(ember-source@4.12.1) + version: 6.0.0(ember-source@4.12.0) ember-cli-babel: specifier: ^7.26.11 version: 7.26.11 @@ -77,7 +77,7 @@ importers: version: 2.0.0 ember-cli-dependency-checker: specifier: ^3.3.1 - version: 3.3.2(ember-cli@4.12.1) + version: 3.3.1(ember-cli@4.12.0) ember-cli-fastboot: specifier: ^4.1.1 version: 4.1.1 @@ -101,7 +101,7 @@ importers: version: github.com/ef4/ember-code-snippet/d054b697098ad52481c94a952ccf8d89ba1f25fe ember-data: specifier: ~4.12.0 - version: 4.12.0(@babel/core@7.22.5)(@ember/string@3.1.1)(@glimmer/tracking@1.1.2)(ember-source@4.12.1)(webpack@5.88.0) + version: 4.12.0(@babel/core@7.22.9)(@ember/string@3.1.1)(@glimmer/tracking@1.1.2)(ember-source@4.12.0)(webpack@5.86.0) ember-disable-prototype-extensions: specifier: ^1.1.3 version: 1.1.3 @@ -110,10 +110,10 @@ importers: version: 8.1.2 ember-load-initializers: specifier: ^2.1.2 - version: 2.1.2(@babel/core@7.22.5) + version: 2.1.2(@babel/core@7.22.9) ember-modifier: specifier: ^4.1.0 - version: 4.1.0(ember-source@4.12.1) + version: 4.1.0(ember-source@4.12.0) ember-moment: specifier: ^10.0.0 version: 10.0.0(moment@2.29.4) @@ -122,43 +122,43 @@ importers: version: 7.0.0 ember-qunit: specifier: ^7.0.0 - version: 7.0.0(@ember/test-helpers@3.1.0)(ember-source@4.12.1)(qunit@2.19.4)(webpack@5.88.0) + version: 7.0.0(@ember/test-helpers@3.0.3)(ember-source@4.12.0)(qunit@2.19.4)(webpack@5.86.0) ember-resolver: specifier: ^10.1.0 - version: 10.1.1(@ember/string@3.1.1)(ember-source@4.12.1) + version: 10.1.0(@ember/string@3.1.1)(ember-source@4.12.0) ember-sinon-qunit: specifier: ^7.1.4 - version: 7.1.4(ember-source@4.12.1)(qunit@2.19.4)(sinon@15.2.0)(webpack@5.88.0) + version: 7.1.4(ember-source@4.12.0)(qunit@2.19.4)(sinon@15.1.2)(webpack@5.86.0) ember-source: specifier: ~4.12.0 - version: 4.12.1(@babel/core@7.22.5)(@glimmer/component@1.1.2)(webpack@5.88.0) + version: 4.12.0(@babel/core@7.22.9)(@glimmer/component@1.1.2)(webpack@5.86.0) ember-source-channel-url: specifier: ^3.0.0 version: 3.0.0 ember-template-lint: specifier: ^5.10.1 - version: 5.11.0 + version: 5.10.1 ember-try: specifier: ^2.0.0 version: 2.0.0 eslint: specifier: ^8.42.0 - version: 8.43.0 + version: 8.42.0 eslint-config-prettier: specifier: ^8.8.0 - version: 8.8.0(eslint@8.43.0) + version: 8.8.0(eslint@8.42.0) eslint-plugin-ember: specifier: ^11.8.0 - version: 11.9.0(eslint@8.43.0) + version: 11.8.0(eslint@8.42.0) eslint-plugin-n: specifier: ^16.0.0 - version: 16.0.1(eslint@8.43.0) + version: 16.0.0(eslint@8.42.0) eslint-plugin-prettier: specifier: ^4.2.1 - version: 4.2.1(eslint-config-prettier@8.8.0)(eslint@8.43.0)(prettier@2.8.8) + version: 4.2.1(eslint-config-prettier@8.8.0)(eslint@8.42.0)(prettier@2.8.8) eslint-plugin-qunit: specifier: ^7.3.4 - version: 7.3.4(eslint@8.43.0) + version: 7.3.4(eslint@8.42.0) jsdom: specifier: ^22.1.0 version: 22.1.0 @@ -185,19 +185,19 @@ importers: version: 2.0.0 sass: specifier: ^1.63.3 - version: 1.63.6 + version: 1.63.3 sinon: specifier: ^15.1.2 - version: 15.2.0 + version: 15.1.2 stylelint: specifier: ^15.7.0 - version: 15.9.0 + version: 15.7.0 stylelint-config-standard: specifier: ^33.0.0 - version: 33.0.0(stylelint@15.9.0) + version: 33.0.0(stylelint@15.7.0) stylelint-prettier: specifier: ^3.0.0 - version: 3.0.0(prettier@2.8.8)(stylelint@15.9.0) + version: 3.0.0(prettier@2.8.8)(stylelint@15.7.0) tracked-built-ins: specifier: ^3.1.1 version: 3.1.1 @@ -206,16 +206,19 @@ importers: version: 1.5.2 webpack: specifier: ^5.86.0 - version: 5.88.0 + version: 5.86.0 liquid-fire: dependencies: + '@ember/render-modifiers': + specifier: ^2.1.0 + version: 2.1.0(@babel/core@7.17.0)(ember-source@4.12.0) '@ember/string': specifier: ^3.1.1 version: 3.1.1 '@embroider/addon-shim': specifier: ^1.0.0 - version: 1.8.5 + version: 1.0.0 '@embroider/macros': specifier: ^1.11.0 version: 1.11.1 @@ -230,59 +233,59 @@ importers: version: 3.0.0 ember-source: specifier: '>= 4.0.0' - version: 4.12.1(@babel/core@7.22.5)(@glimmer/component@1.1.2)(webpack@5.88.0) + version: 4.12.0(@babel/core@7.17.0)(@glimmer/component@1.1.2)(webpack@5.86.0) velocity-animate: specifier: ^1.5.2 version: 1.5.2 devDependencies: '@babel/core': specifier: ^7.17.0 - version: 7.22.5 + version: 7.17.0 '@babel/eslint-parser': specifier: ^7.19.1 - version: 7.22.5(@babel/core@7.22.5)(eslint@8.43.0) + version: 7.22.5(@babel/core@7.17.0)(eslint@8.42.0) '@babel/plugin-proposal-class-properties': specifier: ^7.16.7 - version: 7.18.6(@babel/core@7.22.5) + version: 7.16.7(@babel/core@7.17.0) '@babel/plugin-proposal-decorators': specifier: ^7.20.13 - version: 7.22.5(@babel/core@7.22.5) + version: 7.22.5(@babel/core@7.17.0) '@babel/runtime': specifier: ^7.17.0 - version: 7.22.5 + version: 7.17.0 '@embroider/addon-dev': specifier: ^3.0.0 - version: 3.1.1(rollup@3.25.3) + version: 3.0.0(rollup@3.21.8) '@rollup/plugin-babel': specifier: ^6.0.3 - version: 6.0.3(@babel/core@7.22.5)(rollup@3.25.3) + version: 6.0.3(@babel/core@7.17.0)(rollup@3.21.8) concurrently: specifier: ^8.0.1 version: 8.2.0 ember-template-lint: specifier: ^5.7.3 - version: 5.11.0 + version: 5.10.1 eslint: specifier: ^8.33.0 - version: 8.43.0 + version: 8.42.0 eslint-config-prettier: specifier: ^8.3.0 - version: 8.8.0(eslint@8.43.0) + version: 8.8.0(eslint@8.42.0) eslint-plugin-ember: specifier: ^11.6.0 - version: 11.9.0(eslint@8.43.0) + version: 11.8.0(eslint@8.42.0) eslint-plugin-n: specifier: ^16.0.0 - version: 16.0.1(eslint@8.43.0) + version: 16.0.0(eslint@8.42.0) eslint-plugin-prettier: specifier: ^4.0.0 - version: 4.2.1(eslint-config-prettier@8.8.0)(eslint@8.43.0)(prettier@2.8.8) + version: 4.2.1(eslint-config-prettier@8.8.0)(eslint@8.42.0)(prettier@2.8.8) prettier: specifier: ^2.5.1 version: 2.8.8 rollup: specifier: ^3.21.8 - version: 3.25.3 + version: 3.21.8 rollup-plugin-copy: specifier: ^3.4.0 version: 3.4.0 @@ -290,15 +293,15 @@ importers: test-app: dependencies: liquid-fire: - specifier: '*' - version: 0.35.1(ember-source@4.12.1) + specifier: workspace:* + version: link:../liquid-fire devDependencies: '@babel/eslint-parser': specifier: ^7.22.5 - version: 7.22.5(@babel/core@7.22.5)(eslint@8.43.0) + version: 7.22.5(@babel/core@7.22.9)(eslint@8.42.0) '@babel/plugin-proposal-decorators': specifier: ^7.22.5 - version: 7.22.5(@babel/core@7.22.5) + version: 7.22.5(@babel/core@7.22.9) '@ember/optional-features': specifier: ^2.0.0 version: 2.0.0 @@ -307,7 +310,7 @@ importers: version: 3.1.1 '@ember/test-helpers': specifier: ^3.0.3 - version: 3.1.0(ember-source@4.12.1)(webpack@5.88.0) + version: 3.0.3(ember-source@4.12.0)(webpack@5.86.0) '@embroider/macros': specifier: ^1.11.1 version: 1.11.1 @@ -316,10 +319,10 @@ importers: version: 3.0.1 '@embroider/util': specifier: ^1.11.1 - version: 1.11.1(ember-source@4.12.1) + version: 1.11.1(ember-source@4.12.0) '@glimmer/component': specifier: ^1.1.2 - version: 1.1.2(@babel/core@7.22.5) + version: 1.1.2(@babel/core@7.22.9) '@glimmer/tracking': specifier: ^1.1.2 version: 1.1.2 @@ -331,13 +334,13 @@ importers: version: 8.2.0 ember-auto-import: specifier: ^2.6.3 - version: 2.6.3(webpack@5.88.0) + version: 2.6.3(webpack@5.86.0) ember-cli: specifier: ~4.12.0 - version: 4.12.1 + version: 4.12.0 ember-cli-app-version: specifier: ^6.0.0 - version: 6.0.1(ember-source@4.12.1) + version: 6.0.0(ember-source@4.12.0) ember-cli-babel: specifier: ^7.26.11 version: 7.26.11 @@ -346,7 +349,7 @@ importers: version: 2.0.0 ember-cli-dependency-checker: specifier: ^3.3.1 - version: 3.3.2(ember-cli@4.12.1) + version: 3.3.1(ember-cli@4.12.0) ember-cli-fastboot: specifier: ^4.1.1 version: 4.1.1 @@ -370,7 +373,7 @@ importers: version: github.com/ef4/ember-code-snippet/d054b697098ad52481c94a952ccf8d89ba1f25fe ember-data: specifier: ~4.12.0 - version: 4.12.0(@babel/core@7.22.5)(@ember/string@3.1.1)(@glimmer/tracking@1.1.2)(ember-source@4.12.1)(webpack@5.88.0) + version: 4.12.0(@babel/core@7.22.9)(@ember/string@3.1.1)(@glimmer/tracking@1.1.2)(ember-source@4.12.0)(webpack@5.86.0) ember-disable-prototype-extensions: specifier: ^1.1.3 version: 1.1.3 @@ -379,10 +382,10 @@ importers: version: 8.1.2 ember-load-initializers: specifier: ^2.1.2 - version: 2.1.2(@babel/core@7.22.5) + version: 2.1.2(@babel/core@7.22.9) ember-modifier: specifier: ^4.1.0 - version: 4.1.0(ember-source@4.12.1) + version: 4.1.0(ember-source@4.12.0) ember-moment: specifier: ^10.0.0 version: 10.0.0(moment@2.29.4) @@ -391,43 +394,43 @@ importers: version: 7.0.0 ember-qunit: specifier: ^7.0.0 - version: 7.0.0(@ember/test-helpers@3.1.0)(ember-source@4.12.1)(qunit@2.19.4)(webpack@5.88.0) + version: 7.0.0(@ember/test-helpers@3.0.3)(ember-source@4.12.0)(qunit@2.19.4)(webpack@5.86.0) ember-resolver: specifier: ^10.1.0 - version: 10.1.1(@ember/string@3.1.1)(ember-source@4.12.1) + version: 10.1.0(@ember/string@3.1.1)(ember-source@4.12.0) ember-sinon-qunit: specifier: ^7.1.4 - version: 7.1.4(ember-source@4.12.1)(qunit@2.19.4)(sinon@15.2.0)(webpack@5.88.0) + version: 7.1.4(ember-source@4.12.0)(qunit@2.19.4)(sinon@15.1.2)(webpack@5.86.0) ember-source: specifier: ~4.12.0 - version: 4.12.1(@babel/core@7.22.5)(@glimmer/component@1.1.2)(webpack@5.88.0) + version: 4.12.0(@babel/core@7.22.9)(@glimmer/component@1.1.2)(webpack@5.86.0) ember-source-channel-url: specifier: ^3.0.0 version: 3.0.0 ember-template-lint: specifier: ^5.10.1 - version: 5.11.0 + version: 5.10.1 ember-try: specifier: ^2.0.0 version: 2.0.0 eslint: specifier: ^8.42.0 - version: 8.43.0 + version: 8.42.0 eslint-config-prettier: specifier: ^8.8.0 - version: 8.8.0(eslint@8.43.0) + version: 8.8.0(eslint@8.42.0) eslint-plugin-ember: specifier: ^11.8.0 - version: 11.9.0(eslint@8.43.0) + version: 11.8.0(eslint@8.42.0) eslint-plugin-n: specifier: ^16.0.0 - version: 16.0.1(eslint@8.43.0) + version: 16.0.0(eslint@8.42.0) eslint-plugin-prettier: specifier: ^4.2.1 - version: 4.2.1(eslint-config-prettier@8.8.0)(eslint@8.43.0)(prettier@2.8.8) + version: 4.2.1(eslint-config-prettier@8.8.0)(eslint@8.42.0)(prettier@2.8.8) eslint-plugin-qunit: specifier: ^7.3.4 - version: 7.3.4(eslint@8.43.0) + version: 7.3.4(eslint@8.42.0) jsdom: specifier: ^22.1.0 version: 22.1.0 @@ -454,19 +457,19 @@ importers: version: 2.0.0 sass: specifier: ^1.63.3 - version: 1.63.6 + version: 1.63.3 sinon: specifier: ^15.1.2 - version: 15.2.0 + version: 15.1.2 stylelint: specifier: ^15.7.0 - version: 15.9.0 + version: 15.7.0 stylelint-config-standard: specifier: ^33.0.0 - version: 33.0.0(stylelint@15.9.0) + version: 33.0.0(stylelint@15.7.0) stylelint-prettier: specifier: ^3.0.0 - version: 3.0.0(prettier@2.8.8)(stylelint@15.9.0) + version: 3.0.0(prettier@2.8.8)(stylelint@15.7.0) tracked-built-ins: specifier: ^3.1.1 version: 3.1.1 @@ -475,12 +478,12 @@ importers: version: 1.5.2 webpack: specifier: ^5.86.0 - version: 5.88.0 + version: 5.86.0 packages: - /@aashutoshrathi/word-wrap@1.2.5: - resolution: {integrity: sha512-plhoNEfSVdHMKXQyAxvH0Zyv3/4NL8r6pwgMQdmHR2vBUXn2t74PN2pBRppqKUa6RMT0yldyvOHG5Dbjwy2mBQ==} + /@aashutoshrathi/word-wrap@1.2.6: + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} engines: {node: '>=0.10.0'} dev: true @@ -497,48 +500,85 @@ packages: dependencies: '@babel/highlight': 7.22.5 - /@babel/compat-data@7.22.5: - resolution: {integrity: sha512-4Jc/YuIaYqKnDDz892kPIledykKg12Aw1PYX5i/TY28anJtacvM1Rrr8wbieB9GfEJwlzqT0hUEao0CxEebiDA==} + /@babel/compat-data@7.22.9: + resolution: {integrity: sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==} engines: {node: '>=6.9.0'} - /@babel/core@7.22.5: - resolution: {integrity: sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg==} + /@babel/core@7.17.0: + resolution: {integrity: sha512-x/5Ea+RO5MvF9ize5DeVICJoVrNv0Mi2RnIABrZEKYvPEpldXwauPkgvYA17cKa6WpU3LoYvYbuEMFtSNFsarA==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 '@babel/code-frame': 7.22.5 - '@babel/generator': 7.22.5 - '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.22.5) - '@babel/helper-module-transforms': 7.22.5 - '@babel/helpers': 7.22.5 - '@babel/parser': 7.22.5 + '@babel/generator': 7.22.9 + '@babel/helper-compilation-targets': 7.22.9(@babel/core@7.17.0) + '@babel/helper-module-transforms': 7.22.9(@babel/core@7.17.0) + '@babel/helpers': 7.22.6 + '@babel/parser': 7.22.7 '@babel/template': 7.22.5 - '@babel/traverse': 7.22.5 + '@babel/traverse': 7.22.8 '@babel/types': 7.22.5 convert-source-map: 1.9.0 debug: 4.3.4 gensync: 1.0.0-beta.2 json5: 2.2.3 - semver: 6.3.0 + semver: 6.3.1 transitivePeerDependencies: - supports-color - /@babel/eslint-parser@7.22.5(@babel/core@7.22.5)(eslint@8.43.0): + /@babel/core@7.22.9: + resolution: {integrity: sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.2.1 + '@babel/code-frame': 7.22.5 + '@babel/generator': 7.22.9 + '@babel/helper-compilation-targets': 7.22.9(@babel/core@7.22.9) + '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.9) + '@babel/helpers': 7.22.6 + '@babel/parser': 7.22.7 + '@babel/template': 7.22.5 + '@babel/traverse': 7.22.8 + '@babel/types': 7.22.5 + convert-source-map: 1.9.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/eslint-parser@7.22.5(@babel/core@7.17.0)(eslint@8.42.0): resolution: {integrity: sha512-C69RWYNYtrgIRE5CmTd77ZiLDXqgBipahJc/jHP3sLcAGj6AJzxNIuKNpVnICqbyK7X3pFUfEvL++rvtbQpZkQ==} engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} peerDependencies: '@babel/core': '>=7.11.0' eslint: ^7.5.0 || ^8.0.0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 - eslint: 8.43.0 + eslint: 8.42.0 eslint-visitor-keys: 2.1.0 - semver: 6.3.0 + semver: 6.3.1 dev: true - /@babel/generator@7.22.5: - resolution: {integrity: sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA==} + /@babel/eslint-parser@7.22.5(@babel/core@7.22.9)(eslint@8.42.0): + resolution: {integrity: sha512-C69RWYNYtrgIRE5CmTd77ZiLDXqgBipahJc/jHP3sLcAGj6AJzxNIuKNpVnICqbyK7X3pFUfEvL++rvtbQpZkQ==} + engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} + peerDependencies: + '@babel/core': '>=7.11.0' + eslint: ^7.5.0 || ^8.0.0 + dependencies: + '@babel/core': 7.22.9 + '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 + eslint: 8.42.0 + eslint-visitor-keys: 2.1.0 + semver: 6.3.1 + dev: true + + /@babel/generator@7.22.9: + resolution: {integrity: sha512-KtLMbmicyuK2Ak/FTCJVbDnkN1SlT8/kceFTiuDiiRUUSMnHMidxSCdG4ndkTOHHpoomWe/4xkvHkEOncwjYIw==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.22.5 @@ -558,61 +598,90 @@ packages: dependencies: '@babel/types': 7.22.5 - /@babel/helper-compilation-targets@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-Ji+ywpHeuqxB8WDxraCiqR0xfhYjiDE/e6k7FuIaANnoOFxAHskHChz4vA1mJC9Lbm01s1PVAGhQY4FUKSkGZw==} + /@babel/helper-compilation-targets@7.22.9(@babel/core@7.17.0): + resolution: {integrity: sha512-7qYrNM6HjpnPHJbopxmb8hSPoZ0gsX8IvUS32JGVoy+pU9e5N0nLr1VjJoR6kA4d9dmGLxNYOjeB8sUDal2WMw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/compat-data': 7.22.9 + '@babel/core': 7.17.0 + '@babel/helper-validator-option': 7.22.5 + browserslist: 4.21.10 + lru-cache: 5.1.1 + semver: 6.3.1 + + /@babel/helper-compilation-targets@7.22.9(@babel/core@7.22.9): + resolution: {integrity: sha512-7qYrNM6HjpnPHJbopxmb8hSPoZ0gsX8IvUS32JGVoy+pU9e5N0nLr1VjJoR6kA4d9dmGLxNYOjeB8sUDal2WMw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/compat-data': 7.22.5 - '@babel/core': 7.22.5 + '@babel/compat-data': 7.22.9 + '@babel/core': 7.22.9 '@babel/helper-validator-option': 7.22.5 - browserslist: 4.21.9 + browserslist: 4.21.10 lru-cache: 5.1.1 - semver: 6.3.0 + semver: 6.3.1 + dev: true - /@babel/helper-create-class-features-plugin@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-xkb58MyOYIslxu3gKmVXmjTtUPvBU4odYzbiIQbWwLKIHCsx6UGZGX6F1IznMFVnDdirseUZopzN+ZRt8Xb33Q==} + /@babel/helper-create-class-features-plugin@7.22.9(@babel/core@7.17.0): + resolution: {integrity: sha512-Pwyi89uO4YrGKxL/eNJ8lfEH55DnRloGPOseaA8NFNL6jAUnn+KccaISiFazCj5IolPPDjGSdzQzXVzODVRqUQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-function-name': 7.22.5 '@babel/helper-member-expression-to-functions': 7.22.5 '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.22.5 + '@babel/helper-replace-supers': 7.22.9(@babel/core@7.17.0) '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.5 - semver: 6.3.0 - transitivePeerDependencies: - - supports-color + '@babel/helper-split-export-declaration': 7.22.6 + semver: 6.3.1 + + /@babel/helper-create-class-features-plugin@7.22.9(@babel/core@7.22.9): + resolution: {integrity: sha512-Pwyi89uO4YrGKxL/eNJ8lfEH55DnRloGPOseaA8NFNL6jAUnn+KccaISiFazCj5IolPPDjGSdzQzXVzODVRqUQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-function-name': 7.22.5 + '@babel/helper-member-expression-to-functions': 7.22.5 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.9) + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + semver: 6.3.1 + dev: true - /@babel/helper-create-regexp-features-plugin@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-1VpEFOIbMRaXyDeUwUfmTIxExLwQ+zkW+Bh5zXpApA3oQedBx9v/updixWxnx/bZpKw7u8VxWjb/qWpIcmPq8A==} + /@babel/helper-create-regexp-features-plugin@7.22.9(@babel/core@7.17.0): + resolution: {integrity: sha512-+svjVa/tFwsNSG4NEy1h85+HQ5imbT92Q5/bgtS7P0GTQlP8WuFdqsiABmQouhiFGyV66oGxZFpeYHza1rNsKw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-annotate-as-pure': 7.22.5 regexpu-core: 5.3.2 - semver: 6.3.0 + semver: 6.3.1 - /@babel/helper-define-polyfill-provider@0.4.0(@babel/core@7.22.5): - resolution: {integrity: sha512-RnanLx5ETe6aybRi1cO/edaRH+bNYWaryCEmjDDYyNr4wnSzyOp8T0dWipmqVHKEY3AbVKUom50AKSlj1zmKbg==} + /@babel/helper-define-polyfill-provider@0.4.2(@babel/core@7.17.0): + resolution: {integrity: sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==} peerDependencies: - '@babel/core': ^7.4.0-0 + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.22.5 - '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.22.5) + '@babel/core': 7.17.0 + '@babel/helper-compilation-targets': 7.22.9(@babel/core@7.17.0) '@babel/helper-plugin-utils': 7.22.5 debug: 4.3.4 lodash.debounce: 4.0.8 resolve: 1.22.2 - semver: 6.3.0 transitivePeerDependencies: - supports-color @@ -645,20 +714,32 @@ packages: dependencies: '@babel/types': 7.22.5 - /@babel/helper-module-transforms@7.22.5: - resolution: {integrity: sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw==} + /@babel/helper-module-transforms@7.22.9(@babel/core@7.17.0): + resolution: {integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==} engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 dependencies: + '@babel/core': 7.17.0 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-module-imports': 7.22.5 '@babel/helper-simple-access': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 '@babel/helper-validator-identifier': 7.22.5 - '@babel/template': 7.22.5 - '@babel/traverse': 7.22.5 - '@babel/types': 7.22.5 - transitivePeerDependencies: - - supports-color + + /@babel/helper-module-transforms@7.22.9(@babel/core@7.22.9): + resolution: {integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-module-imports': 7.22.5 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.5 + dev: true /@babel/helper-optimise-call-expression@7.22.5: resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} @@ -670,32 +751,39 @@ packages: resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} engines: {node: '>=6.9.0'} - /@babel/helper-remap-async-to-generator@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-cU0Sq1Rf4Z55fgz7haOakIyM7+x/uCFwXpLPaeRzfoUtAEAuUZjZvFPjL/rk5rW693dIgn2hng1W7xbT7lWT4g==} + /@babel/helper-remap-async-to-generator@7.22.9(@babel/core@7.17.0): + resolution: {integrity: sha512-8WWC4oR4Px+tr+Fp0X3RHDVfINGpF3ad1HIbrc8A77epiR6eMMc6jsgozkzT2uDiOOdoS9cLIQ+XD2XvI2WSmQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-wrap-function': 7.22.5 - '@babel/types': 7.22.5 - transitivePeerDependencies: - - supports-color + '@babel/helper-wrap-function': 7.22.9 - /@babel/helper-replace-supers@7.22.5: - resolution: {integrity: sha512-aLdNM5I3kdI/V9xGNyKSF3X/gTyMUBohTZ+/3QdQKAA9vxIiy12E+8E2HoOP1/DjeqU+g6as35QHJNMDDYpuCg==} + /@babel/helper-replace-supers@7.22.9(@babel/core@7.17.0): + resolution: {integrity: sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==} engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 dependencies: + '@babel/core': 7.17.0 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-member-expression-to-functions': 7.22.5 '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/template': 7.22.5 - '@babel/traverse': 7.22.5 - '@babel/types': 7.22.5 - transitivePeerDependencies: - - supports-color + + /@babel/helper-replace-supers@7.22.9(@babel/core@7.22.9): + resolution: {integrity: sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-member-expression-to-functions': 7.22.5 + '@babel/helper-optimise-call-expression': 7.22.5 + dev: true /@babel/helper-simple-access@7.22.5: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} @@ -709,8 +797,8 @@ packages: dependencies: '@babel/types': 7.22.5 - /@babel/helper-split-export-declaration@7.22.5: - resolution: {integrity: sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ==} + /@babel/helper-split-export-declaration@7.22.6: + resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.22.5 @@ -727,23 +815,20 @@ packages: resolution: {integrity: sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==} engines: {node: '>=6.9.0'} - /@babel/helper-wrap-function@7.22.5: - resolution: {integrity: sha512-bYqLIBSEshYcYQyfks8ewYA8S30yaGSeRslcvKMvoUk6HHPySbxHq9YRi6ghhzEU+yhQv9bP/jXnygkStOcqZw==} + /@babel/helper-wrap-function@7.22.9: + resolution: {integrity: sha512-sZ+QzfauuUEfxSEjKFmi3qDSHgLsTPK/pEpoD/qonZKOtTPTLbf59oabPQ4rKekt9lFcj/hTZaOhWwFYrgjk+Q==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-function-name': 7.22.5 '@babel/template': 7.22.5 - '@babel/traverse': 7.22.5 '@babel/types': 7.22.5 - transitivePeerDependencies: - - supports-color - /@babel/helpers@7.22.5: - resolution: {integrity: sha512-pSXRmfE1vzcUIDFQcSGA5Mr+GxBV9oiRKDuDxXvWQQBCh8HoIjs/2DlDB7H8smac1IVrB9/xdXj2N3Wol9Cr+Q==} + /@babel/helpers@7.22.6: + resolution: {integrity: sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA==} engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.22.5 - '@babel/traverse': 7.22.5 + '@babel/traverse': 7.22.8 '@babel/types': 7.22.5 transitivePeerDependencies: - supports-color @@ -756,831 +841,873 @@ packages: chalk: 2.4.2 js-tokens: 4.0.0 - /@babel/parser@7.22.5: - resolution: {integrity: sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==} + /@babel/parser@7.22.7: + resolution: {integrity: sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==} engines: {node: '>=6.0.0'} hasBin: true dependencies: '@babel/types': 7.22.5 - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.5(@babel/core@7.22.5): + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.5(@babel/core@7.22.5): + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-transform-optional-chaining': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-optional-chaining': 7.22.6(@babel/core@7.17.0) - /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.22.5): - resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} + /@babel/plugin-proposal-class-properties@7.16.7(@babel/core@7.17.0): + resolution: {integrity: sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.22.5) + '@babel/core': 7.17.0 + '@babel/helper-create-class-features-plugin': 7.22.9(@babel/core@7.17.0) '@babel/helper-plugin-utils': 7.22.5 - transitivePeerDependencies: - - supports-color - /@babel/plugin-proposal-decorators@7.22.5(@babel/core@7.22.5): + /@babel/plugin-proposal-class-properties@7.16.7(@babel/core@7.22.9): + resolution: {integrity: sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-create-class-features-plugin': 7.22.9(@babel/core@7.22.9) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-proposal-decorators@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-h8hlezQ4dl6ixodgXkH8lUfcD7x+WAuIqPUjwGoItynrXOAv4a4Tci1zA/qjzQjjcl0v3QpLdc2LM6ZACQuY7A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.22.5) + '@babel/core': 7.17.0 + '@babel/helper-create-class-features-plugin': 7.22.9(@babel/core@7.17.0) '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.5 - '@babel/plugin-syntax-decorators': 7.22.5(@babel/core@7.22.5) - transitivePeerDependencies: - - supports-color + '@babel/helper-replace-supers': 7.22.9(@babel/core@7.17.0) + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/plugin-syntax-decorators': 7.22.5(@babel/core@7.17.0) - /@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.22.5): + /@babel/plugin-proposal-decorators@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-h8hlezQ4dl6ixodgXkH8lUfcD7x+WAuIqPUjwGoItynrXOAv4a4Tci1zA/qjzQjjcl0v3QpLdc2LM6ZACQuY7A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-create-class-features-plugin': 7.22.9(@babel/core@7.22.9) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.9) + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/plugin-syntax-decorators': 7.22.5(@babel/core@7.22.9) + dev: true + + /@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.17.0): resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.22.5) + '@babel/core': 7.17.0 + '@babel/helper-create-class-features-plugin': 7.22.9(@babel/core@7.17.0) '@babel/helper-plugin-utils': 7.22.5 - transitivePeerDependencies: - - supports-color - /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.5): + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.17.0): resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 - /@babel/plugin-proposal-private-property-in-object@7.21.11(@babel/core@7.22.5): + /@babel/plugin-proposal-private-property-in-object@7.21.11(@babel/core@7.17.0): resolution: {integrity: sha512-0QZ8qP/3RLDVBwBFoWAwCtgcDZJVwA5LUJRZU8x2YFfKNuFq161wK3cuGrALu5yiPu+vzwTAg/sMWVNeWeNyaw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.22.5) + '@babel/helper-create-class-features-plugin': 7.22.9(@babel/core@7.17.0) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.5) - transitivePeerDependencies: - - supports-color + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.17.0) - /@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.22.5): + /@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.17.0): resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} engines: {node: '>=4'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 - '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.22.5) + '@babel/core': 7.17.0 + '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.17.0) '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.22.5): + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.17.0): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.22.5): + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.17.0): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.22.5): + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.17.0): resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-decorators@7.22.5(@babel/core@7.22.5): + /@babel/plugin-syntax-decorators@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-avpUOBS7IU6al8MmF1XpAyj9QYeLPuSDJI5D4pVMSMdL7xQokKqJPYQC67RCT0aCTashUXPiGwMJ0DEXXCEmMA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.22.5): + /@babel/plugin-syntax-decorators@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-avpUOBS7IU6al8MmF1XpAyj9QYeLPuSDJI5D4pVMSMdL7xQokKqJPYQC67RCT0aCTashUXPiGwMJ0DEXXCEmMA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.17.0): resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.22.5): + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.17.0): resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-import-assertions@7.22.5(@babel/core@7.22.5): + /@babel/plugin-syntax-import-assertions@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.22.5): + /@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.22.5): + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.17.0): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.22.5): + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.17.0): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.22.5): + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.17.0): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.22.5): + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.17.0): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.22.5): + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.17.0): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.22.5): + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.17.0): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.22.5): + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.17.0): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.22.5): + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.17.0): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.22.5): + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.17.0): resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.22.5): + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.17.0): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.17.0): + resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.22.5): + /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.22.9 '@babel/helper-plugin-utils': 7.22.5 + dev: true - /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.22.5): + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.17.0): resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.5 - '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.22.5) + '@babel/core': 7.17.0 + '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.17.0) '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-async-generator-functions@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-gGOEvFzm3fWoyD5uZq7vVTD57pPJ3PczPUD/xCFGjzBpUosnklmXyKnGQbbbGs1NPNPskFex0j93yKbHt0cHyg==} + /@babel/plugin-transform-async-generator-functions@7.22.7(@babel/core@7.17.0): + resolution: {integrity: sha512-7HmE7pk/Fmke45TODvxvkxRMV9RazV+ZZzhOL9AG8G29TLrr3jkjwF7uJfxZ30EoXpO+LJkq4oA8NjO2DTnEDg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.5) - transitivePeerDependencies: - - supports-color + '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.17.0) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.17.0) - /@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-module-imports': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.5(@babel/core@7.22.5) - transitivePeerDependencies: - - supports-color + '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.17.0) - /@babel/plugin-transform-block-scoped-functions@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-block-scoped-functions@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-block-scoping@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-block-scoping@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-EcACl1i5fSQ6bt+YGuU/XGCeZKStLmyVGytWkpyhCLeQVA0eu6Wtiw92V+I1T/hnezUv7j74dA/Ro69gWcU+hg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-class-properties@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-block-scoping@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-EcACl1i5fSQ6bt+YGuU/XGCeZKStLmyVGytWkpyhCLeQVA0eu6Wtiw92V+I1T/hnezUv7j74dA/Ro69gWcU+hg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-class-properties@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.22.5) + '@babel/core': 7.17.0 + '@babel/helper-create-class-features-plugin': 7.22.9(@babel/core@7.17.0) '@babel/helper-plugin-utils': 7.22.5 - transitivePeerDependencies: - - supports-color - /@babel/plugin-transform-class-static-block@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-class-static-block@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 dependencies: - '@babel/core': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.22.5) + '@babel/core': 7.17.0 + '@babel/helper-create-class-features-plugin': 7.22.9(@babel/core@7.17.0) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.5) - transitivePeerDependencies: - - supports-color + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.17.0) - /@babel/plugin-transform-classes@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-2edQhLfibpWpsVBx2n/GKOz6JdGQvLruZQfGr9l1qes2KQaWswjBzhQF7UDUZMNaMMQeYnQzxwOMPsbYF7wqPQ==} + /@babel/plugin-transform-classes@7.22.6(@babel/core@7.17.0): + resolution: {integrity: sha512-58EgM6nuPNG6Py4Z3zSuu0xWu2VfodiMi72Jt5Kj2FECmaYk1RrTXA45z6KBFsu9tRgwQDwIiY4FXTt+YsSFAQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.22.5) + '@babel/helper-compilation-targets': 7.22.9(@babel/core@7.17.0) '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-function-name': 7.22.5 '@babel/helper-optimise-call-expression': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.5 + '@babel/helper-replace-supers': 7.22.9(@babel/core@7.17.0) + '@babel/helper-split-export-declaration': 7.22.6 globals: 11.12.0 - transitivePeerDependencies: - - supports-color - /@babel/plugin-transform-computed-properties@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-computed-properties@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 '@babel/template': 7.22.5 - /@babel/plugin-transform-destructuring@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-destructuring@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-GfqcFuGW8vnEqTUBM7UtPd5A4q797LTvvwKxXTgRsFjoqaJiEg9deBG6kWeQYkVEL569NpnmpC0Pkr/8BLKGnQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-dotall-regex@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-dotall-regex@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 - '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.22.5) + '@babel/core': 7.17.0 + '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.17.0) '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-dynamic-import@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-dynamic-import@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.5) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.17.0) - /@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-export-namespace-from@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-export-namespace-from@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.5) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.17.0) - /@babel/plugin-transform-for-of@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-for-of@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-function-name@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-function-name@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 - '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.22.5) + '@babel/core': 7.17.0 + '@babel/helper-compilation-targets': 7.22.9(@babel/core@7.17.0) '@babel/helper-function-name': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-json-strings@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-json-strings@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.5) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.17.0) - /@babel/plugin-transform-literals@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-literals@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-logical-assignment-operators@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-logical-assignment-operators@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.5) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.17.0) - /@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-modules-amd@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-modules-amd@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 - '@babel/helper-module-transforms': 7.22.5 + '@babel/core': 7.17.0 + '@babel/helper-module-transforms': 7.22.9(@babel/core@7.17.0) '@babel/helper-plugin-utils': 7.22.5 - transitivePeerDependencies: - - supports-color - /@babel/plugin-transform-modules-commonjs@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-modules-amd@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.9) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-modules-commonjs@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 - '@babel/helper-module-transforms': 7.22.5 + '@babel/core': 7.17.0 + '@babel/helper-module-transforms': 7.22.9(@babel/core@7.17.0) '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-simple-access': 7.22.5 - transitivePeerDependencies: - - supports-color - /@babel/plugin-transform-modules-systemjs@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-modules-systemjs@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-module-transforms': 7.22.5 + '@babel/helper-module-transforms': 7.22.9(@babel/core@7.17.0) '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-validator-identifier': 7.22.5 - transitivePeerDependencies: - - supports-color - /@babel/plugin-transform-modules-umd@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-modules-umd@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 - '@babel/helper-module-transforms': 7.22.5 + '@babel/core': 7.17.0 + '@babel/helper-module-transforms': 7.22.9(@babel/core@7.17.0) '@babel/helper-plugin-utils': 7.22.5 - transitivePeerDependencies: - - supports-color - /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.5 - '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.22.5) + '@babel/core': 7.17.0 + '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.17.0) '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-new-target@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-new-target@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-nullish-coalescing-operator@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-nullish-coalescing-operator@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.5) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.17.0) - /@babel/plugin-transform-numeric-separator@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-numeric-separator@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.5) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.17.0) - /@babel/plugin-transform-object-rest-spread@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-object-rest-spread@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.22.5 - '@babel/core': 7.22.5 - '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.22.5) + '@babel/compat-data': 7.22.9 + '@babel/core': 7.17.0 + '@babel/helper-compilation-targets': 7.22.9(@babel/core@7.17.0) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.5) - '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.17.0) + '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.17.0) - /@babel/plugin-transform-object-super@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-object-super@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.5 - transitivePeerDependencies: - - supports-color + '@babel/helper-replace-supers': 7.22.9(@babel/core@7.17.0) - /@babel/plugin-transform-optional-catch-binding@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-optional-catch-binding@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.5) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.17.0) - /@babel/plugin-transform-optional-chaining@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-AconbMKOMkyG+xCng2JogMCDcqW8wedQAqpVIL4cOSescZ7+iW8utC6YDZLMCSUIReEA733gzRSaOSXMAt/4WQ==} + /@babel/plugin-transform-optional-chaining@7.22.6(@babel/core@7.17.0): + resolution: {integrity: sha512-Vd5HiWml0mDVtcLHIoEU5sw6HOUW/Zk0acLs/SAeuLzkGNOPc9DB4nkUajemhCmTIz3eiaKREZn2hQQqF79YTg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.5) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.17.0) - /@babel/plugin-transform-parameters@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-parameters@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-private-methods@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-private-methods@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.22.5) + '@babel/core': 7.17.0 + '@babel/helper-create-class-features-plugin': 7.22.9(@babel/core@7.17.0) '@babel/helper-plugin-utils': 7.22.5 - transitivePeerDependencies: - - supports-color - /@babel/plugin-transform-private-property-in-object@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-private-property-in-object@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.22.5) + '@babel/helper-create-class-features-plugin': 7.22.9(@babel/core@7.17.0) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.5) - transitivePeerDependencies: - - supports-color + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.17.0) - /@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-regenerator@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-regenerator@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-rR7KePOE7gfEtNTh9Qw+iO3Q/e4DEsoQ+hdvM6QUDH7JRJ5qxq5AA52ZzBWbI5i9lfNuvySgOGP8ZN7LAmaiPw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 regenerator-transform: 0.15.1 - /@babel/plugin-transform-reserved-words@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-reserved-words@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-runtime@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-bg4Wxd1FWeFx3daHFTWk1pkSWK/AyQuiyAoeZAOkAOUBjnZPH6KT7eMxouV47tQ6hl6ax2zyAWBdWZXbrvXlaw==} + /@babel/plugin-transform-runtime@7.22.9(@babel/core@7.17.0): + resolution: {integrity: sha512-9KjBH61AGJetCPYp/IEyLEp47SyybZb0nDRpBvmtEkm+rUIwxdlKpyNHI1TmsGkeuLclJdleQHRZ8XLBnnh8CQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-module-imports': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - babel-plugin-polyfill-corejs2: 0.4.3(@babel/core@7.22.5) - babel-plugin-polyfill-corejs3: 0.8.1(@babel/core@7.22.5) - babel-plugin-polyfill-regenerator: 0.5.0(@babel/core@7.22.5) - semver: 6.3.0 + babel-plugin-polyfill-corejs2: 0.4.5(@babel/core@7.17.0) + babel-plugin-polyfill-corejs3: 0.8.3(@babel/core@7.17.0) + babel-plugin-polyfill-regenerator: 0.5.2(@babel/core@7.17.0) + semver: 6.3.1 transitivePeerDependencies: - supports-color - /@babel/plugin-transform-shorthand-properties@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-shorthand-properties@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-spread@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-spread@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - /@babel/plugin-transform-sticky-regex@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-sticky-regex@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-template-literals@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-template-literals@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-typeof-symbol@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-typeof-symbol@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-typescript@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-SMubA9S7Cb5sGSFFUlqxyClTA9zWJ8qGQrppNUm05LtFuN1ELRFNndkix4zUJrC9F+YivWwa1dHMSyo0e0N9dA==} + /@babel/plugin-transform-typescript@7.22.9(@babel/core@7.17.0): + resolution: {integrity: sha512-BnVR1CpKiuD0iobHPaM1iLvcwPYN2uVFAqoLVSpEDKWuOikoCv5HbKLxclhKYUXlWkX86DoZGtqI4XhbOsyrMg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.22.5) + '@babel/helper-create-class-features-plugin': 7.22.9(@babel/core@7.17.0) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.5) - transitivePeerDependencies: - - supports-color + '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.17.0) - /@babel/plugin-transform-typescript@7.4.5(@babel/core@7.22.5): + /@babel/plugin-transform-typescript@7.4.5(@babel/core@7.22.9): resolution: {integrity: sha512-RPB/YeGr4ZrFKNwfuQRlMf2lxoCUaU01MTw39/OFE/RiL8HDjtn68BwEPft1P7JN4akyEmjGWAMNldOV7o9V2g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.22.9 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.9) dev: true - /@babel/plugin-transform-typescript@7.5.5(@babel/core@7.22.5): + /@babel/plugin-transform-typescript@7.5.5(@babel/core@7.17.0): resolution: {integrity: sha512-pehKf4m640myZu5B2ZviLaiBlxMCjSZ1qTEO459AXKX5GnPueyulJeCqZFs1nz/Ya2dDzXQ1NxZ/kKNWyD4h6w==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.22.5) + '@babel/core': 7.17.0 + '@babel/helper-create-class-features-plugin': 7.22.9(@babel/core@7.17.0) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.5) - transitivePeerDependencies: - - supports-color + '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.17.0) + dev: false - /@babel/plugin-transform-unicode-escapes@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-typescript@7.5.5(@babel/core@7.22.9): + resolution: {integrity: sha512-pehKf4m640myZu5B2ZviLaiBlxMCjSZ1qTEO459AXKX5GnPueyulJeCqZFs1nz/Ya2dDzXQ1NxZ/kKNWyD4h6w==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-create-class-features-plugin': 7.22.9(@babel/core@7.22.9) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.9) + dev: true + + /@babel/plugin-transform-unicode-escapes@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-biEmVg1IYB/raUO5wT1tgfacCef15Fbzhkx493D3urBI++6hpJ+RFG4SrWMn0NEZLfvilqKf3QDrRVZHo08FYg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-unicode-property-regex@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-unicode-property-regex@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 - '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.22.5) + '@babel/core': 7.17.0 + '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.17.0) '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.5 - '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.22.5) + '@babel/core': 7.17.0 + '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.17.0) '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-unicode-sets-regex@7.22.5(@babel/core@7.22.5): + /@babel/plugin-transform-unicode-sets-regex@7.22.5(@babel/core@7.17.0): resolution: {integrity: sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.5 - '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.22.5) + '@babel/core': 7.17.0 + '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.17.0) '@babel/helper-plugin-utils': 7.22.5 /@babel/polyfill@7.12.1: @@ -1590,105 +1717,105 @@ packages: core-js: 2.6.12 regenerator-runtime: 0.13.11 - /@babel/preset-env@7.22.5(@babel/core@7.22.5): - resolution: {integrity: sha512-fj06hw89dpiZzGZtxn+QybifF07nNiZjZ7sazs2aVDcysAZVGjW7+7iFYxg6GLNM47R/thYfLdrXc+2f11Vi9A==} + /@babel/preset-env@7.22.9(@babel/core@7.17.0): + resolution: {integrity: sha512-wNi5H/Emkhll/bqPjsjQorSykrlfY5OWakd6AulLvMEytpKasMVUpVy8RL4qBIBs5Ac6/5i0/Rv0b/Fg6Eag/g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.22.5 - '@babel/core': 7.22.5 - '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.22.5) + '@babel/compat-data': 7.22.9 + '@babel/core': 7.17.0 + '@babel/helper-compilation-targets': 7.22.9(@babel/core@7.17.0) '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-validator-option': 7.22.5 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.5) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.5) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.5) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.5) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.5) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.5) - '@babel/plugin-syntax-import-assertions': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-syntax-import-attributes': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.22.5) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.5) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.5) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.5) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.5) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.5) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.5) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.5) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.5) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.22.5) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.22.5) - '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-async-generator-functions': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-block-scoping': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-class-properties': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-class-static-block': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-classes': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-destructuring': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-duplicate-keys': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-dynamic-import': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-exponentiation-operator': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-export-namespace-from': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-for-of': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-json-strings': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-logical-assignment-operators': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-modules-amd': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-modules-systemjs': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-modules-umd': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-new-target': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-nullish-coalescing-operator': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-numeric-separator': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-object-rest-spread': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-optional-catch-binding': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-optional-chaining': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-private-methods': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-private-property-in-object': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-regenerator': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-reserved-words': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-typeof-symbol': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-unicode-escapes': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-unicode-property-regex': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-unicode-sets-regex': 7.22.5(@babel/core@7.22.5) - '@babel/preset-modules': 0.1.5(@babel/core@7.22.5) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.17.0) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.17.0) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.17.0) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.17.0) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.17.0) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.17.0) + '@babel/plugin-syntax-import-assertions': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-syntax-import-attributes': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.17.0) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.17.0) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.17.0) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.17.0) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.17.0) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.17.0) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.17.0) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.17.0) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.17.0) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.17.0) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.17.0) + '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-transform-async-generator-functions': 7.22.7(@babel/core@7.17.0) + '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-transform-block-scoping': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-transform-class-properties': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-transform-class-static-block': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-transform-classes': 7.22.6(@babel/core@7.17.0) + '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-transform-destructuring': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-transform-duplicate-keys': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-transform-dynamic-import': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-transform-exponentiation-operator': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-transform-export-namespace-from': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-transform-for-of': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-transform-json-strings': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-transform-logical-assignment-operators': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-transform-modules-amd': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-transform-modules-systemjs': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-transform-modules-umd': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-transform-new-target': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-transform-nullish-coalescing-operator': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-transform-numeric-separator': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-transform-object-rest-spread': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-transform-optional-catch-binding': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-transform-optional-chaining': 7.22.6(@babel/core@7.17.0) + '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-transform-private-methods': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-transform-private-property-in-object': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-transform-regenerator': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-transform-reserved-words': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-transform-typeof-symbol': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-transform-unicode-escapes': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-transform-unicode-property-regex': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-transform-unicode-sets-regex': 7.22.5(@babel/core@7.17.0) + '@babel/preset-modules': 0.1.6(@babel/core@7.17.0) '@babel/types': 7.22.5 - babel-plugin-polyfill-corejs2: 0.4.3(@babel/core@7.22.5) - babel-plugin-polyfill-corejs3: 0.8.1(@babel/core@7.22.5) - babel-plugin-polyfill-regenerator: 0.5.0(@babel/core@7.22.5) - core-js-compat: 3.31.0 - semver: 6.3.0 + babel-plugin-polyfill-corejs2: 0.4.5(@babel/core@7.17.0) + babel-plugin-polyfill-corejs3: 0.8.3(@babel/core@7.17.0) + babel-plugin-polyfill-regenerator: 0.5.2(@babel/core@7.17.0) + core-js-compat: 3.32.0 + semver: 6.3.1 transitivePeerDependencies: - supports-color - /@babel/preset-modules@0.1.5(@babel/core@7.22.5): - resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==} + /@babel/preset-modules@0.1.6(@babel/core@7.17.0): + resolution: {integrity: sha512-ID2yj6K/4lKfhuU3+EX4UvNbIt7eACFbHmNUjzA+ep+B5971CknnA/9DEWKbRokfbbtblxxxXFJJrH47UEAMVg==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.22.5) - '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.17.0) + '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.17.0) '@babel/types': 7.22.5 esutils: 2.0.3 @@ -1700,31 +1827,38 @@ packages: dependencies: regenerator-runtime: 0.13.11 - /@babel/runtime@7.22.5: - resolution: {integrity: sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA==} + /@babel/runtime@7.17.0: + resolution: {integrity: sha512-etcO/ohMNaNA2UBdaXBBSX/3aEzFMRrVfaPv8Ptc0k+cWpWW0QFiGZ2XnVqQZI1Cf734LbPGmqBKWESfW4x/dQ==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.13.11 + /@babel/runtime@7.22.6: + resolution: {integrity: sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.13.11 + dev: true + /@babel/template@7.22.5: resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.22.5 - '@babel/parser': 7.22.5 + '@babel/parser': 7.22.7 '@babel/types': 7.22.5 - /@babel/traverse@7.22.5: - resolution: {integrity: sha512-7DuIjPgERaNo6r+PZwItpjCZEa5vyw4eJGufeLxrPdBXBoLcCJCIasvK6pK/9DVNrLZTLFhUGqaC6X/PA007TQ==} + /@babel/traverse@7.22.8: + resolution: {integrity: sha512-y6LPR+wpM2I3qJrsheCTwhIinzkETbplIgPBbwvqPKc+uljeA5gP+3nP8irdYt1mjQaDnlIcG+dw8OjAco4GXw==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.22.5 - '@babel/generator': 7.22.5 + '@babel/generator': 7.22.9 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-function-name': 7.22.5 '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.5 - '@babel/parser': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.22.7 '@babel/types': 7.22.5 debug: 4.3.4 globals: 11.12.0 @@ -1755,29 +1889,29 @@ packages: dev: true optional: true - /@csstools/css-parser-algorithms@2.2.0(@csstools/css-tokenizer@2.1.1): - resolution: {integrity: sha512-9BoQ/jSrPq4vv3b9jjLW+PNNv56KlDH5JMx5yASSNrCtvq70FCNZUjXRvbCeR9hYj9ZyhURtqpU/RFIgg6kiOw==} + /@csstools/css-parser-algorithms@2.3.1(@csstools/css-tokenizer@2.2.0): + resolution: {integrity: sha512-xrvsmVUtefWMWQsGgFffqWSK03pZ1vfDki4IVIIUxxDKnGBzqNgv0A7SB1oXtVNEkcVO8xi1ZrTL29HhSu5kGA==} engines: {node: ^14 || ^16 || >=18} peerDependencies: - '@csstools/css-tokenizer': ^2.1.1 + '@csstools/css-tokenizer': ^2.2.0 dependencies: - '@csstools/css-tokenizer': 2.1.1 + '@csstools/css-tokenizer': 2.2.0 dev: true - /@csstools/css-tokenizer@2.1.1: - resolution: {integrity: sha512-GbrTj2Z8MCTUv+52GE0RbFGM527xuXZ0Xa5g0Z+YN573uveS4G0qi6WNOMyz3yrFM/jaILTTwJ0+umx81EzqfA==} + /@csstools/css-tokenizer@2.2.0: + resolution: {integrity: sha512-wErmsWCbsmig8sQKkM6pFhr/oPha1bHfvxsUY5CYSQxwyhA9Ulrs8EqCgClhg4Tgg2XapVstGqSVcz0xOYizZA==} engines: {node: ^14 || ^16 || >=18} dev: true - /@csstools/media-query-list-parser@2.1.1(@csstools/css-parser-algorithms@2.2.0)(@csstools/css-tokenizer@2.1.1): - resolution: {integrity: sha512-pUjtFbaKbiFNjJo8pprrIaXLvQvWIlwPiFnRI4sEnc4F0NIGTOsw8kaJSR3CmZAKEvV8QYckovgAnWQC0bgLLQ==} + /@csstools/media-query-list-parser@2.1.3(@csstools/css-parser-algorithms@2.3.1)(@csstools/css-tokenizer@2.2.0): + resolution: {integrity: sha512-ATul1u+pic4aVpstgueqxEv4MsObEbszAxfTXpx9LHaeD3LAh+wFqdCteyegWmjk0k5rkSCAvIOaJe9U3DD09w==} engines: {node: ^14 || ^16 || >=18} peerDependencies: - '@csstools/css-parser-algorithms': ^2.2.0 - '@csstools/css-tokenizer': ^2.1.1 + '@csstools/css-parser-algorithms': ^2.3.1 + '@csstools/css-tokenizer': ^2.2.0 dependencies: - '@csstools/css-parser-algorithms': 2.2.0(@csstools/css-tokenizer@2.1.1) - '@csstools/css-tokenizer': 2.1.1 + '@csstools/css-parser-algorithms': 2.3.1(@csstools/css-tokenizer@2.2.0) + '@csstools/css-tokenizer': 2.2.0 dev: true /@csstools/selector-specificity@2.2.0(postcss-selector-parser@6.0.13): @@ -1798,7 +1932,7 @@ packages: ember-inflector: ^4.0.2 dependencies: '@ember-data/private-build-infra': 4.12.0 - '@ember-data/store': 4.12.0(@babel/core@7.22.5)(@ember-data/graph@4.12.0)(@ember-data/json-api@4.12.0)(@ember-data/legacy-compat@4.12.0)(@ember-data/model@4.12.0)(@ember-data/tracking@4.12.0)(@ember/string@3.1.1)(@glimmer/tracking@1.1.2)(ember-source@4.12.1) + '@ember-data/store': 4.12.0(@babel/core@7.22.9)(@ember-data/graph@4.12.0)(@ember-data/json-api@4.12.0)(@ember-data/legacy-compat@4.12.0)(@ember-data/model@4.12.0)(@ember-data/tracking@4.12.0)(@ember/string@3.1.1)(@glimmer/tracking@1.1.2)(ember-source@4.12.0) '@ember/string': 3.1.1 '@embroider/macros': 1.11.1 ember-cli-babel: 7.26.11 @@ -1809,7 +1943,7 @@ packages: - supports-color dev: true - /@ember-data/debug@4.12.0(@ember/string@3.1.1)(webpack@5.88.0): + /@ember-data/debug@4.12.0(@ember/string@3.1.1)(webpack@5.86.0): resolution: {integrity: sha512-6SNJjoV3zKnjjZEu9/tOjeWdN70mxmkvHd+0Y7kjasmjLBgIkZk20+B/nFm25MpmmpfZEsvdUY3HIfu+iPy+5A==} engines: {node: 16.* || >= 18.*} peerDependencies: @@ -1819,7 +1953,7 @@ packages: '@ember/edition-utils': 1.2.0 '@ember/string': 3.1.1 '@embroider/macros': 1.11.1 - ember-auto-import: 2.6.3(webpack@5.88.0) + ember-auto-import: 2.6.3(webpack@5.86.0) ember-cli-babel: 7.26.11 transitivePeerDependencies: - '@glint/template' @@ -1834,7 +1968,7 @@ packages: '@ember-data/store': 4.12.0 dependencies: '@ember-data/private-build-infra': 4.12.0 - '@ember-data/store': 4.12.0(@babel/core@7.22.5)(@ember-data/graph@4.12.0)(@ember-data/json-api@4.12.0)(@ember-data/legacy-compat@4.12.0)(@ember-data/model@4.12.0)(@ember-data/tracking@4.12.0)(@ember/string@3.1.1)(@glimmer/tracking@1.1.2)(ember-source@4.12.1) + '@ember-data/store': 4.12.0(@babel/core@7.22.9)(@ember-data/graph@4.12.0)(@ember-data/json-api@4.12.0)(@ember-data/legacy-compat@4.12.0)(@ember-data/model@4.12.0)(@ember-data/tracking@4.12.0)(@ember/string@3.1.1)(@glimmer/tracking@1.1.2)(ember-source@4.12.0) '@ember/edition-utils': 1.2.0 '@embroider/macros': 1.11.1 ember-cli-babel: 7.26.11 @@ -1852,7 +1986,7 @@ packages: dependencies: '@ember-data/graph': 4.12.0(@ember-data/store@4.12.0) '@ember-data/private-build-infra': 4.12.0 - '@ember-data/store': 4.12.0(@babel/core@7.22.5)(@ember-data/graph@4.12.0)(@ember-data/json-api@4.12.0)(@ember-data/legacy-compat@4.12.0)(@ember-data/model@4.12.0)(@ember-data/tracking@4.12.0)(@ember/string@3.1.1)(@glimmer/tracking@1.1.2)(ember-source@4.12.1) + '@ember-data/store': 4.12.0(@babel/core@7.22.9)(@ember-data/graph@4.12.0)(@ember-data/json-api@4.12.0)(@ember-data/legacy-compat@4.12.0)(@ember-data/model@4.12.0)(@ember-data/tracking@4.12.0)(@ember/string@3.1.1)(@glimmer/tracking@1.1.2)(ember-source@4.12.0) '@ember/edition-utils': 1.2.0 '@embroider/macros': 1.11.1 ember-cli-babel: 7.26.11 @@ -1883,7 +2017,7 @@ packages: - supports-color dev: true - /@ember-data/model@4.12.0(@babel/core@7.22.5)(@ember-data/debug@4.12.0)(@ember-data/graph@4.12.0)(@ember-data/json-api@4.12.0)(@ember-data/legacy-compat@4.12.0)(@ember-data/store@4.12.0)(@ember-data/tracking@4.12.0)(@ember/string@3.1.1)(ember-inflector@4.0.2)(ember-source@4.12.1): + /@ember-data/model@4.12.0(@babel/core@7.22.9)(@ember-data/debug@4.12.0)(@ember-data/graph@4.12.0)(@ember-data/json-api@4.12.0)(@ember-data/legacy-compat@4.12.0)(@ember-data/store@4.12.0)(@ember-data/tracking@4.12.0)(@ember/string@3.1.1)(ember-inflector@4.0.2)(ember-source@4.12.0): resolution: {integrity: sha512-gE9LRmUkrJy9hJ+WeNns/GOMQC311R18SOvbsIVk5z/u2tgD5l0BjLSeqCaG/CjO+fCRsM8Ne/Ivm07c/CyezQ==} engines: {node: 16.* || >= 18.*} peerDependencies: @@ -1903,17 +2037,17 @@ packages: '@ember-data/json-api': optional: true dependencies: - '@ember-data/debug': 4.12.0(@ember/string@3.1.1)(webpack@5.88.0) + '@ember-data/debug': 4.12.0(@ember/string@3.1.1)(webpack@5.86.0) '@ember-data/graph': 4.12.0(@ember-data/store@4.12.0) '@ember-data/json-api': 4.12.0(@ember-data/graph@4.12.0)(@ember-data/store@4.12.0) '@ember-data/legacy-compat': 4.12.0(@ember-data/graph@4.12.0)(@ember-data/json-api@4.12.0) '@ember-data/private-build-infra': 4.12.0 - '@ember-data/store': 4.12.0(@babel/core@7.22.5)(@ember-data/graph@4.12.0)(@ember-data/json-api@4.12.0)(@ember-data/legacy-compat@4.12.0)(@ember-data/model@4.12.0)(@ember-data/tracking@4.12.0)(@ember/string@3.1.1)(@glimmer/tracking@1.1.2)(ember-source@4.12.1) + '@ember-data/store': 4.12.0(@babel/core@7.22.9)(@ember-data/graph@4.12.0)(@ember-data/json-api@4.12.0)(@ember-data/legacy-compat@4.12.0)(@ember-data/model@4.12.0)(@ember-data/tracking@4.12.0)(@ember/string@3.1.1)(@glimmer/tracking@1.1.2)(ember-source@4.12.0) '@ember-data/tracking': 4.12.0 '@ember/edition-utils': 1.2.0 '@ember/string': 3.1.1 '@embroider/macros': 1.11.1 - ember-cached-decorator-polyfill: 1.0.1(@babel/core@7.22.5)(ember-source@4.12.1) + ember-cached-decorator-polyfill: 1.0.2(@babel/core@7.22.9)(ember-source@4.12.0) ember-cli-babel: 7.26.11 ember-cli-string-utils: 1.1.0 ember-cli-test-info: 1.0.0 @@ -1930,13 +2064,13 @@ packages: resolution: {integrity: sha512-cBuEZhxV8uyIRr+9oUZ4smQb+6p6ryH89+WdrGMTeKgKP3XkdlK9w+6veQAYOqgWAulTwmAxX+YU/zoPq2ne7w==} engines: {node: 16.* || >= 18.*} dependencies: - '@babel/core': 7.22.5 - '@babel/plugin-transform-block-scoping': 7.22.5(@babel/core@7.22.5) - '@babel/runtime': 7.22.5 + '@babel/core': 7.22.9 + '@babel/plugin-transform-block-scoping': 7.22.5(@babel/core@7.22.9) + '@babel/runtime': 7.22.6 '@ember/edition-utils': 1.2.0 '@embroider/macros': 1.11.1 - babel-import-util: 1.3.0 - babel-plugin-debug-macros: 0.3.4(@babel/core@7.22.5) + babel-import-util: 1.4.1 + babel-plugin-debug-macros: 0.3.4(@babel/core@7.22.9) babel-plugin-filter-imports: 4.0.0 babel6-plugin-strip-class-callcheck: 6.0.0 broccoli-debug: 0.6.5 @@ -1953,7 +2087,7 @@ packages: git-repo-info: 2.1.1 glob: 9.3.5 npm-git-info: 1.0.3 - semver: 7.5.3 + semver: 7.5.4 silent-error: 1.1.1 transitivePeerDependencies: - '@glint/template' @@ -1985,7 +2119,7 @@ packages: ember-inflector: ^4.0.2 dependencies: '@ember-data/private-build-infra': 4.12.0 - '@ember-data/store': 4.12.0(@babel/core@7.22.5)(@ember-data/graph@4.12.0)(@ember-data/json-api@4.12.0)(@ember-data/legacy-compat@4.12.0)(@ember-data/model@4.12.0)(@ember-data/tracking@4.12.0)(@ember/string@3.1.1)(@glimmer/tracking@1.1.2)(ember-source@4.12.1) + '@ember-data/store': 4.12.0(@babel/core@7.22.9)(@ember-data/graph@4.12.0)(@ember-data/json-api@4.12.0)(@ember-data/legacy-compat@4.12.0)(@ember-data/model@4.12.0)(@ember-data/tracking@4.12.0)(@ember/string@3.1.1)(@glimmer/tracking@1.1.2)(ember-source@4.12.0) '@ember/string': 3.1.1 '@embroider/macros': 1.11.1 ember-cli-babel: 7.26.11 @@ -1996,7 +2130,7 @@ packages: - supports-color dev: true - /@ember-data/store@4.12.0(@babel/core@7.22.5)(@ember-data/graph@4.12.0)(@ember-data/json-api@4.12.0)(@ember-data/legacy-compat@4.12.0)(@ember-data/model@4.12.0)(@ember-data/tracking@4.12.0)(@ember/string@3.1.1)(@glimmer/tracking@1.1.2)(ember-source@4.12.1): + /@ember-data/store@4.12.0(@babel/core@7.22.9)(@ember-data/graph@4.12.0)(@ember-data/json-api@4.12.0)(@ember-data/legacy-compat@4.12.0)(@ember-data/model@4.12.0)(@ember-data/tracking@4.12.0)(@ember/string@3.1.1)(@glimmer/tracking@1.1.2)(ember-source@4.12.0): resolution: {integrity: sha512-7zOxg363f8raqmJcQYiH6JAWWyBDLRQTWLZeyeJD3kgFV+MqWlHLjEvOFCDW2SnfIrVAyFH7oh7x7POxClw9mA==} engines: {node: 16.* || >= 18.*} peerDependencies: @@ -2020,13 +2154,13 @@ packages: '@ember-data/graph': 4.12.0(@ember-data/store@4.12.0) '@ember-data/json-api': 4.12.0(@ember-data/graph@4.12.0)(@ember-data/store@4.12.0) '@ember-data/legacy-compat': 4.12.0(@ember-data/graph@4.12.0)(@ember-data/json-api@4.12.0) - '@ember-data/model': 4.12.0(@babel/core@7.22.5)(@ember-data/debug@4.12.0)(@ember-data/graph@4.12.0)(@ember-data/json-api@4.12.0)(@ember-data/legacy-compat@4.12.0)(@ember-data/store@4.12.0)(@ember-data/tracking@4.12.0)(@ember/string@3.1.1)(ember-inflector@4.0.2)(ember-source@4.12.1) + '@ember-data/model': 4.12.0(@babel/core@7.22.9)(@ember-data/debug@4.12.0)(@ember-data/graph@4.12.0)(@ember-data/json-api@4.12.0)(@ember-data/legacy-compat@4.12.0)(@ember-data/store@4.12.0)(@ember-data/tracking@4.12.0)(@ember/string@3.1.1)(ember-inflector@4.0.2)(ember-source@4.12.0) '@ember-data/private-build-infra': 4.12.0 '@ember-data/tracking': 4.12.0 '@ember/string': 3.1.1 '@embroider/macros': 1.11.1 '@glimmer/tracking': 1.1.2 - ember-cached-decorator-polyfill: 1.0.1(@babel/core@7.22.5)(ember-source@4.12.1) + ember-cached-decorator-polyfill: 1.0.2(@babel/core@7.22.9)(ember-source@4.12.0) ember-cli-babel: 7.26.11 transitivePeerDependencies: - '@babel/core' @@ -2061,6 +2195,25 @@ packages: - supports-color dev: true + /@ember/render-modifiers@2.1.0(@babel/core@7.17.0)(ember-source@4.12.0): + resolution: {integrity: sha512-LruhfoDv2itpk0fA0IC76Sxjcnq/7BC6txpQo40hOko8Dn6OxwQfxkPIbZGV0Cz7df+iX+VJrcYzNIvlc3w2EQ==} + engines: {node: 12.* || 14.* || >= 16} + peerDependencies: + '@glint/template': ^1.0.2 + ember-source: ^3.8 || ^4.0.0 || ^5.0.0 + peerDependenciesMeta: + '@glint/template': + optional: true + dependencies: + '@embroider/macros': 1.11.1 + ember-cli-babel: 7.26.11 + ember-modifier-manager-polyfill: 1.2.0(@babel/core@7.17.0) + ember-source: 4.12.0(@babel/core@7.17.0)(@glimmer/component@1.1.2)(webpack@5.86.0) + transitivePeerDependencies: + - '@babel/core' + - supports-color + dev: false + /@ember/string@3.1.1: resolution: {integrity: sha512-UbXJ+k3QOrYN4SRPHgXCqYIJ+yWWUg1+vr0H4DhdQPTy8LJfyqwZ2tc5uqpSSnEXE+/1KopHBE5J8GDagAg5cg==} engines: {node: 12.* || 14.* || >= 16} @@ -2069,8 +2222,8 @@ packages: transitivePeerDependencies: - supports-color - /@ember/test-helpers@3.1.0(ember-source@4.12.1)(webpack@5.88.0): - resolution: {integrity: sha512-7T4sKM/8oML7tBvBPIAlugtz8p+Vm0x0PcQsPW8sg83/tIQY8EUElhclMbYcAoYeij+KJ4HKGI+fCUBBfKAImg==} + /@ember/test-helpers@3.0.3(ember-source@4.12.0)(webpack@5.86.0): + resolution: {integrity: sha512-W8fEWritv36W216wmuusOlsUJs+iDFkOvHratI8tw466NV4deq9TVej1p5DtUFeDUUP/E14IxqrNNC3qaYszfQ==} engines: {node: 16.* || >= 18} peerDependencies: ember-source: ^4.0.0 || ^5.0.0 @@ -2079,10 +2232,10 @@ packages: '@embroider/macros': 1.11.1 broccoli-debug: 0.6.5 broccoli-funnel: 3.0.8 - ember-auto-import: 2.6.3(webpack@5.88.0) + ember-auto-import: 2.6.3(webpack@5.86.0) ember-cli-babel: 7.26.11 ember-cli-htmlbars: 6.2.0 - ember-source: 4.12.1(@babel/core@7.22.5)(@glimmer/component@1.1.2)(webpack@5.88.0) + ember-source: 4.12.0(@babel/core@7.22.9)(@glimmer/component@1.1.2)(webpack@5.86.0) transitivePeerDependencies: - '@glint/template' - supports-color @@ -2096,27 +2249,26 @@ packages: calculate-cache-key-for-tree: 2.0.0 ember-cli-babel: 7.26.11 ember-cli-version-checker: 5.1.2 - semver: 7.5.3 + semver: 7.5.4 transitivePeerDependencies: - supports-color dev: true - /@embroider/addon-dev@3.1.1(rollup@3.25.3): - resolution: {integrity: sha512-Z04WwUCymsND96LBv8wSsvlCR2oF6iIb44N+GA0UXTanTJ8fXgMOTKiv1BFeoVXrWhds/00S/VG/L+2kA1BioA==} + /@embroider/addon-dev@3.0.0(rollup@3.21.8): + resolution: {integrity: sha512-h3ISDdp8LASA6583WC3IU3ECZ5fHlW3V3EkgpEeeH7KhxTerHjDjNf+S6+ZvPH+ZHi3WOCYPvUA5OfNICyMbtA==} engines: {node: 12.* || 14.* || >= 16} hasBin: true dependencies: - '@embroider/core': 3.0.2 + '@embroider/core': 2.1.1 '@rollup/pluginutils': 4.2.1 assert-never: 1.2.1 fs-extra: 10.1.0 minimatch: 3.1.2 - rollup-plugin-copy-assets: 2.0.3(rollup@3.25.3) + rollup-plugin-copy-assets: 2.0.3(rollup@3.21.8) rollup-plugin-delete: 2.0.0 walk-sync: 3.0.0 yargs: 17.7.2 transitivePeerDependencies: - - '@glint/template' - bufferutil - canvas - rollup @@ -2129,33 +2281,43 @@ packages: engines: {node: 12.* || 14.* || >= 16} dependencies: '@embroider/shared-internals': 0.50.2 - semver: 7.5.3 + semver: 7.5.4 dev: true - /@embroider/addon-shim@1.8.5: - resolution: {integrity: sha512-pDgpdTsC9i/+5hHziygK5VIZc64OG8bupiqL0OxJp+bnINURalHMbu5B3Gikq/a0QIvMPzDFWzKxIZCBpeiHkg==} + /@embroider/addon-shim@1.0.0: + resolution: {integrity: sha512-RkUkQDe56M/15pA7rAL9mTdxYnw/MukQYM2JcJ+9x8mTjkFc6mRnuHVdjVt/r6mUw9YG6FvN3G5nIadsDdXTyQ==} engines: {node: 12.* || 14.* || >= 16} dependencies: - '@embroider/shared-internals': 2.1.0 + '@embroider/shared-internals': 1.8.3 + semver: 7.5.4 + dev: false + + /@embroider/addon-shim@1.8.6: + resolution: {integrity: sha512-siC9kP78uucEbpDcVyxjkwa76pcs5rVzDVpWO4PDc9EAXRX+pzmUuSTLAK3GztUwx7/PWhz1BenAivqdSvSgfg==} + engines: {node: 12.* || 14.* || >= 16} + dependencies: + '@embroider/shared-internals': 2.3.0 broccoli-funnel: 3.0.8 - semver: 7.5.3 + semver: 7.5.4 transitivePeerDependencies: - supports-color + dev: true - /@embroider/core@3.0.2: - resolution: {integrity: sha512-Rirm/Zyo93qR5yl6kHV4YDSSJRASLMCQf/Z0tpbzOwILQPC/26xE7BI+mHJS1HSfEv2Q+yzprMTNIo3g1RPDtw==} + /@embroider/core@2.1.1: + resolution: {integrity: sha512-N4rz+r8WjHYmwprvBYC0iUT4EWNpdDjF7JLl8PEYlWbhXDEJL+Ma/aP78S7spMhIpJX9SHK7nbgNxmZAqAe34A==} engines: {node: 12.* || 14.* || >= 16} dependencies: - '@babel/core': 7.22.5 - '@babel/parser': 7.22.5 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.5) - '@babel/plugin-transform-runtime': 7.22.5(@babel/core@7.22.5) - '@babel/runtime': 7.22.5 - '@babel/traverse': 7.22.5 - '@embroider/macros': 1.11.1 - '@embroider/shared-internals': 2.1.0 + '@babel/core': 7.17.0 + '@babel/parser': 7.22.7 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.17.0) + '@babel/plugin-transform-runtime': 7.22.9(@babel/core@7.17.0) + '@babel/runtime': 7.17.0 + '@babel/traverse': 7.22.8 + '@embroider/macros': 1.10.0 + '@embroider/shared-internals': 2.0.0 assert-never: 1.2.1 - babel-plugin-ember-template-compilation: 2.0.3 + babel-import-util: 1.4.1 + babel-plugin-ember-template-compilation: 2.1.1 broccoli-node-api: 1.7.0 broccoli-persistent-filter: 3.1.3 broccoli-plugin: 4.0.7 @@ -2175,13 +2337,28 @@ packages: typescript-memoize: 1.1.1 walk-sync: 3.0.0 transitivePeerDependencies: - - '@glint/template' - bufferutil - canvas - supports-color - utf-8-validate dev: true + /@embroider/macros@1.10.0: + resolution: {integrity: sha512-LMbfQGk/a+f6xtvAv5fq/wf2LRxETnbgSCLUf/z6ebzmuskOUxrke+uP55chF/loWrARi9g6erFQ7RDOUoBMSg==} + engines: {node: 12.* || 14.* || >= 16} + dependencies: + '@embroider/shared-internals': 2.0.0 + assert-never: 1.2.1 + babel-import-util: 1.4.1 + ember-cli-babel: 7.26.11 + find-up: 5.0.0 + lodash: 4.17.21 + resolve: 1.22.2 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + dev: true + /@embroider/macros@1.11.1: resolution: {integrity: sha512-yg4Pl5Sw26lKrrtLwk2UEgYkKkztq+Hatn67QYL5A3I3T4IE/bRA3o6xvIslrJNnhyER7jCc2pwusxt3O4HubA==} engines: {node: 12.* || 14.* || >= 16} @@ -2193,12 +2370,12 @@ packages: dependencies: '@embroider/shared-internals': 2.1.0 assert-never: 1.2.1 - babel-import-util: 1.3.0 + babel-import-util: 1.4.1 ember-cli-babel: 7.26.11 find-up: 5.0.0 lodash: 4.17.21 resolve: 1.22.2 - semver: 7.5.3 + semver: 7.5.4 transitivePeerDependencies: - supports-color @@ -2206,12 +2383,40 @@ packages: resolution: {integrity: sha512-l3SKn1YdxTFBjY3ylYTLHxFY0dG2XxIsjbtZt7Mm6QyZFssWBDg3oWYwBoUpkw/ysjNJf8IcI7reXhB23WXwDw==} engines: {node: 12.* || 14.* || >= 16} dependencies: - babel-import-util: 1.3.0 + babel-import-util: 1.4.1 + ember-rfc176-data: 0.3.18 + fs-extra: 9.1.0 + lodash: 4.17.21 + resolve-package-path: 4.0.3 + semver: 7.5.4 + typescript-memoize: 1.1.1 + dev: true + + /@embroider/shared-internals@1.8.3: + resolution: {integrity: sha512-N5Gho6Qk8z5u+mxLCcMYAoQMbN4MmH+z2jXwQHVs859bxuZTxwF6kKtsybDAASCtd2YGxEmzcc1Ja/wM28824w==} + engines: {node: 12.* || 14.* || >= 16} + dependencies: + babel-import-util: 1.4.1 + ember-rfc176-data: 0.3.18 + fs-extra: 9.1.0 + js-string-escape: 1.0.1 + lodash: 4.17.21 + resolve-package-path: 4.0.3 + semver: 7.5.4 + typescript-memoize: 1.1.1 + dev: false + + /@embroider/shared-internals@2.0.0: + resolution: {integrity: sha512-qZ2/xky9mWm5YC6noOa6AiAwgISEQ78YTZNv4SNu2PFgEK/H+Ha/3ddngzGSsnXkVnIHZyxIBzhxETonQYHY9g==} + engines: {node: 12.* || 14.* || >= 16} + dependencies: + babel-import-util: 1.4.1 ember-rfc176-data: 0.3.18 fs-extra: 9.1.0 + js-string-escape: 1.0.1 lodash: 4.17.21 resolve-package-path: 4.0.3 - semver: 7.5.3 + semver: 7.5.4 typescript-memoize: 1.1.1 dev: true @@ -2219,15 +2424,31 @@ packages: resolution: {integrity: sha512-9hKbMxW7wDWt1BqdpnLZ5W6ETrmAg9HnfBwf1IDkT+8he5nOdTD0PNtruMjm7V0Tb9p9hI7O+UXSa8ZnX1BQXg==} engines: {node: 12.* || 14.* || >= 16} dependencies: - babel-import-util: 1.3.0 + babel-import-util: 1.4.1 ember-rfc176-data: 0.3.18 fs-extra: 9.1.0 js-string-escape: 1.0.1 lodash: 4.17.21 resolve-package-path: 4.0.3 - semver: 7.5.3 + semver: 7.5.4 typescript-memoize: 1.1.1 + /@embroider/shared-internals@2.3.0: + resolution: {integrity: sha512-5h7hUcci10ixXecJj/peqNQJO8kWe4b4tRx7mZjf7I6+P6zDcdVk3QxQZ+/gwrG6cbEfpLzEGKIEiLjZvPtqIA==} + engines: {node: 12.* || 14.* || >= 16} + dependencies: + babel-import-util: 2.0.0 + debug: 4.3.4 + ember-rfc176-data: 0.3.18 + fs-extra: 9.1.0 + js-string-escape: 1.0.1 + lodash: 4.17.21 + resolve-package-path: 4.0.3 + semver: 7.5.4 + typescript-memoize: 1.1.1 + transitivePeerDependencies: + - supports-color + /@embroider/test-setup@3.0.1: resolution: {integrity: sha512-t7R2f10iZDSNw3ovWAPM63GRQTu63uihpVh6CvHev5XkLt8B7tdxcxGyO6RbdF5Hu+pbsUu8sD0kAlR1gopmxg==} engines: {node: 12.* || 14.* || >= 16} @@ -2247,7 +2468,7 @@ packages: resolve: 1.22.2 dev: true - /@embroider/util@1.11.1(ember-source@4.12.1): + /@embroider/util@1.11.1(ember-source@4.12.0): resolution: {integrity: sha512-IqzlEQahM2cfLvo4PULA2WyvROqr9jRmeSv0GGZzpitWCh6l4FDwweOLSArdlKSXdQxHkKhwBMCi//7DhKjRlg==} engines: {node: 14.* || >= 16} peerDependencies: @@ -2263,33 +2484,33 @@ packages: '@embroider/macros': 1.11.1 broccoli-funnel: 3.0.8 ember-cli-babel: 7.26.11 - ember-source: 4.12.1(@babel/core@7.22.5)(@glimmer/component@1.1.2)(webpack@5.88.0) + ember-source: 4.12.0(@babel/core@7.22.9)(@glimmer/component@1.1.2)(webpack@5.86.0) transitivePeerDependencies: - supports-color dev: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.43.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.42.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.43.0 - eslint-visitor-keys: 3.4.1 + eslint: 8.42.0 + eslint-visitor-keys: 3.4.2 dev: true - /@eslint-community/regexpp@4.5.1: - resolution: {integrity: sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==} + /@eslint-community/regexpp@4.6.2: + resolution: {integrity: sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true - /@eslint/eslintrc@2.0.3: - resolution: {integrity: sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==} + /@eslint/eslintrc@2.1.1: + resolution: {integrity: sha512-9t7ZA7NGGK8ckelF0PQCfcxIUzs1Md5rrO6U/c+FIQNanea5UZC0wqKXH4vHBccmu4ZJgZ2idtPeW7+Q2npOEA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 debug: 4.3.4 - espree: 9.5.2 + espree: 9.6.1 globals: 13.20.0 ignore: 5.2.4 import-fresh: 3.3.0 @@ -2300,12 +2521,35 @@ packages: - supports-color dev: true - /@eslint/js@8.43.0: - resolution: {integrity: sha512-s2UHCoiXfxMvmfzqoN+vrQ84ahUSYde9qNO1MdxmoEhyHWsfmwOpFlwYV+ePJEVc7gFnATGUi376WowX1N7tFg==} + /@eslint/js@8.42.0: + resolution: {integrity: sha512-6SWlXpWU5AvId8Ac7zjzmIOqMOba/JWY8XZ4A7q7Gn1Vlfg/SFFIlrtHXt9nPn4op9ZPAkl91Jao+QQv3r/ukw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@glimmer/component@1.1.2(@babel/core@7.22.5): + /@glimmer/component@1.1.2(@babel/core@7.17.0): + resolution: {integrity: sha512-XyAsEEa4kWOPy+gIdMjJ8XlzA3qrGH55ZDv6nA16ibalCR17k74BI0CztxuRds+Rm6CtbUVgheCVlcCULuqD7A==} + engines: {node: 6.* || 8.* || >= 10.*} + dependencies: + '@glimmer/di': 0.1.11 + '@glimmer/env': 0.1.7 + '@glimmer/util': 0.44.0 + broccoli-file-creator: 2.1.1 + broccoli-merge-trees: 3.0.2 + ember-cli-babel: 7.26.11 + ember-cli-get-component-path-option: 1.0.0 + ember-cli-is-package-missing: 1.0.0 + ember-cli-normalize-entity-name: 1.0.0 + ember-cli-path-utils: 1.0.0 + ember-cli-string-utils: 1.1.0 + ember-cli-typescript: 3.0.0(@babel/core@7.17.0) + ember-cli-version-checker: 3.1.3 + ember-compatibility-helpers: 1.2.6(@babel/core@7.17.0) + transitivePeerDependencies: + - '@babel/core' + - supports-color + dev: false + + /@glimmer/component@1.1.2(@babel/core@7.22.9): resolution: {integrity: sha512-XyAsEEa4kWOPy+gIdMjJ8XlzA3qrGH55ZDv6nA16ibalCR17k74BI0CztxuRds+Rm6CtbUVgheCVlcCULuqD7A==} engines: {node: 6.* || 8.* || >= 10.*} dependencies: @@ -2320,12 +2564,13 @@ packages: ember-cli-normalize-entity-name: 1.0.0 ember-cli-path-utils: 1.0.0 ember-cli-string-utils: 1.1.0 - ember-cli-typescript: 3.0.0(@babel/core@7.22.5) + ember-cli-typescript: 3.0.0(@babel/core@7.22.9) ember-cli-version-checker: 3.1.3 - ember-compatibility-helpers: 1.2.6(@babel/core@7.22.5) + ember-compatibility-helpers: 1.2.6(@babel/core@7.22.9) transitivePeerDependencies: - '@babel/core' - supports-color + dev: true /@glimmer/di@0.1.11: resolution: {integrity: sha512-moRwafNDwHTnTHzyyZC9D+mUSvYrs1Ak0tRPjjmCghdoHHIvMshVbEnwKb/1WmW5CUlKc2eL9rlAV32n3GiItg==} @@ -2343,7 +2588,6 @@ packages: resolution: {integrity: sha512-dk32ykoNojt0mvEaIW6Vli5MGTbQo58uy3Epj7ahCgTHmWOKuw/0G83f2UmFprRwFx689YTXG38I/vbpltEjzg==} dependencies: '@simple-dom/interface': 1.4.0 - dev: true /@glimmer/reference@0.84.3: resolution: {integrity: sha512-lV+p/aWPVC8vUjmlvYVU7WQJsLh319SdXuAWoX/SE3pq340BJlAJiEcAc6q52y9JNhT57gMwtjMX96W5Xcx/qw==} @@ -2362,7 +2606,6 @@ packages: '@glimmer/util': 0.84.3 '@handlebars/parser': 2.0.0 simple-html-tokenizer: 0.5.11 - dev: true /@glimmer/tracking@1.1.2: resolution: {integrity: sha512-cyV32zsHh+CnftuRX84ALZpd2rpbDrhLhJnTXn9W//QpqdRZ5rdMsxSY9fOsj0CKEc706tmEU299oNnDc0d7tA==} @@ -2380,7 +2623,6 @@ packages: '@glimmer/env': 0.1.7 '@glimmer/interfaces': 0.84.3 '@simple-dom/interface': 1.4.0 - dev: true /@glimmer/validator@0.44.0: resolution: {integrity: sha512-i01plR0EgFVz69GDrEuFgq1NheIjZcyTy3c7q+w7d096ddPVeVcRzU3LKaqCfovvLJ+6lJx40j45ecycASUUyw==} @@ -2393,16 +2635,24 @@ packages: '@glimmer/global-context': 0.84.3 dev: true - /@glimmer/vm-babel-plugins@0.84.2(@babel/core@7.22.5): + /@glimmer/vm-babel-plugins@0.84.2(@babel/core@7.17.0): resolution: {integrity: sha512-HS2dEbJ3CgXn56wk/5QdudM7rE3vtNMvPIoG7Rrg+GhkGMNxBCIRxOeEF2g520j9rwlA2LAZFpc7MCDMFbTjNA==} dependencies: - babel-plugin-debug-macros: 0.3.4(@babel/core@7.22.5) + babel-plugin-debug-macros: 0.3.4(@babel/core@7.17.0) transitivePeerDependencies: - '@babel/core' + dev: false + + /@glimmer/vm-babel-plugins@0.84.2(@babel/core@7.22.9): + resolution: {integrity: sha512-HS2dEbJ3CgXn56wk/5QdudM7rE3vtNMvPIoG7Rrg+GhkGMNxBCIRxOeEF2g520j9rwlA2LAZFpc7MCDMFbTjNA==} + dependencies: + babel-plugin-debug-macros: 0.3.4(@babel/core@7.22.9) + transitivePeerDependencies: + - '@babel/core' + dev: true /@handlebars/parser@2.0.0: resolution: {integrity: sha512-EP9uEDZv/L5Qh9IWuMUGJRfwhXJ4h1dqKTT4/3+tY0eu7sPis7xh23j61SYUnNF4vqCQvvUXpDo9Bh/+q1zASA==} - dev: true /@humanwhocodes/config-array@0.11.10: resolution: {integrity: sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==} @@ -2440,8 +2690,8 @@ packages: resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} engines: {node: '>=6.0.0'} - /@jridgewell/source-map@0.3.3: - resolution: {integrity: sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==} + /@jridgewell/source-map@0.3.5: + resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==} dependencies: '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.18 @@ -2467,7 +2717,7 @@ packages: fs-extra: 9.1.0 proper-lockfile: 4.1.2 slash: 3.0.0 - tslib: 2.6.0 + tslib: 2.6.1 upath: 2.0.1 dev: true @@ -2498,7 +2748,7 @@ packages: fastq: 1.15.0 dev: true - /@rollup/plugin-babel@6.0.3(@babel/core@7.22.5)(rollup@3.25.3): + /@rollup/plugin-babel@6.0.3(@babel/core@7.17.0)(rollup@3.21.8): resolution: {integrity: sha512-fKImZKppa1A/gX73eg4JGo+8kQr/q1HBQaCGKECZ0v4YBBv3lFqi14+7xyApECzvkLTHCifx+7ntcrvtBIRcpg==} engines: {node: '>=14.0.0'} peerDependencies: @@ -2511,10 +2761,10 @@ packages: rollup: optional: true dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/helper-module-imports': 7.22.5 - '@rollup/pluginutils': 5.0.2(rollup@3.25.3) - rollup: 3.25.3 + '@rollup/pluginutils': 5.0.2(rollup@3.21.8) + rollup: 3.21.8 dev: true /@rollup/pluginutils@4.2.1: @@ -2525,7 +2775,7 @@ packages: picomatch: 2.3.1 dev: true - /@rollup/pluginutils@5.0.2(rollup@3.25.3): + /@rollup/pluginutils@5.0.2(rollup@3.21.8): resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -2537,7 +2787,7 @@ packages: '@types/estree': 1.0.1 estree-walker: 2.0.2 picomatch: 2.3.1 - rollup: 3.25.3 + rollup: 3.21.8 dev: true /@simple-dom/document@1.4.0: @@ -2548,7 +2798,6 @@ packages: /@simple-dom/interface@1.4.0: resolution: {integrity: sha512-l5qumKFWU0S+4ZzMaLXFU8tQZsicHEMEyAxI5kDFGhJsRqDwe0a7/iPA/GdxlGyDKseQQAgIz5kzU7eXTrlSpA==} - dev: true /@simple-dom/parser@1.4.0: resolution: {integrity: sha512-TNjDkOehueRIKr1df416qk9ELj+qWuVVJNIT25y1aZg3pQvxv4UPGrgaDFte7dsWBTbF3V8NYPNQ5FDUZQ8Wlg==} @@ -2632,7 +2881,7 @@ packages: resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} dependencies: '@types/connect': 3.4.35 - '@types/node': 20.3.2 + '@types/node': 20.4.5 dev: true /@types/broccoli-plugin@3.0.0: @@ -2657,7 +2906,7 @@ packages: /@types/connect@3.4.35: resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} dependencies: - '@types/node': 20.3.2 + '@types/node': 20.4.5 dev: true /@types/cookie@0.4.1: @@ -2667,13 +2916,13 @@ packages: /@types/cors@2.8.13: resolution: {integrity: sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==} dependencies: - '@types/node': 20.3.2 + '@types/node': 20.4.5 dev: true /@types/eslint-scope@3.7.4: resolution: {integrity: sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==} dependencies: - '@types/eslint': 8.40.2 + '@types/eslint': 8.44.1 '@types/estree': 1.0.1 /@types/eslint@7.29.0: @@ -2683,8 +2932,8 @@ packages: '@types/json-schema': 7.0.12 dev: true - /@types/eslint@8.40.2: - resolution: {integrity: sha512-PRVjQ4Eh9z9pmmtaq8nTjZjQwKFk7YIHIud3lRoKRBgUQjgjRmoGxxGEPXQkF+lH7QkHJRNr5F4aBgYCW0lqpQ==} + /@types/eslint@8.44.1: + resolution: {integrity: sha512-XpNDc4Z5Tb4x+SW1MriMVeIsMoONHCkWFMkR/aPJbzEsxqHy+4Glu/BqTdPrApfDeMaXbtNh6bseNgl5KaWrSg==} dependencies: '@types/estree': 1.0.1 '@types/json-schema': 7.0.12 @@ -2695,7 +2944,7 @@ packages: /@types/express-serve-static-core@4.17.35: resolution: {integrity: sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg==} dependencies: - '@types/node': 20.3.2 + '@types/node': 20.4.5 '@types/qs': 6.9.7 '@types/range-parser': 1.2.4 '@types/send': 0.17.1 @@ -2713,26 +2962,26 @@ packages: /@types/fs-extra@5.1.0: resolution: {integrity: sha512-AInn5+UBFIK9FK5xc9yP5e3TQSPNNgjHByqYcj9g5elVBnDQcQL7PlO1CIRy2gWlbwK7UPYqi7vRvFA44dCmYQ==} dependencies: - '@types/node': 20.3.2 + '@types/node': 20.4.5 /@types/fs-extra@8.1.2: resolution: {integrity: sha512-SvSrYXfWSc7R4eqnOzbQF4TZmfpNSM9FrSWLU3EUnWBuyZqNBOrv1B1JA3byUDPUl9z4Ab3jeZG2eDdySlgNMg==} dependencies: - '@types/node': 20.3.2 + '@types/node': 20.4.5 dev: true /@types/glob@7.2.0: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 20.3.2 + '@types/node': 20.4.5 dev: true /@types/glob@8.1.0: resolution: {integrity: sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 20.3.2 + '@types/node': 20.4.5 /@types/http-errors@2.0.1: resolution: {integrity: sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ==} @@ -2744,7 +2993,7 @@ packages: /@types/keyv@3.1.4: resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} dependencies: - '@types/node': 20.3.2 + '@types/node': 20.4.5 dev: true /@types/mime@1.3.2: @@ -2765,8 +3014,8 @@ packages: resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} dev: true - /@types/node@20.3.2: - resolution: {integrity: sha512-vOBLVQeCQfIcF/2Y7eKFTqrMnizK5lRNQ7ykML/5RuwVXVWxYkgwS7xbt4B6fKCUPgbSL5FSsjHQpaGQP/dQmw==} + /@types/node@20.4.5: + resolution: {integrity: sha512-rt40Nk13II9JwQBdeYqmbn2Q6IVTA5uPhvSO+JVqdXw/6/4glI6oR9ezty/A9Hg5u7JH4OmYmuQ+XvjKm0Datg==} /@types/node@9.6.61: resolution: {integrity: sha512-/aKAdg5c8n468cYLy2eQrcR5k6chlbNwZNGUj3TboyPa2hcO2QAJcfymlqPzMiRj8B6nYKXjzQz36minFE0RwQ==} @@ -2787,20 +3036,20 @@ packages: /@types/responselike@1.0.0: resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} dependencies: - '@types/node': 20.3.2 + '@types/node': 20.4.5 dev: true /@types/rimraf@2.0.5: resolution: {integrity: sha512-YyP+VfeaqAyFmXoTh3HChxOQMyjByRMsHU7kc5KOJkSlXudhMhQIALbYV7rHh/l8d2lX3VUQzprrcAgWdRuU8g==} dependencies: '@types/glob': 8.1.0 - '@types/node': 20.3.2 + '@types/node': 20.4.5 /@types/send@0.17.1: resolution: {integrity: sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==} dependencies: '@types/mime': 1.3.2 - '@types/node': 20.3.2 + '@types/node': 20.4.5 dev: true /@types/serve-static@1.15.2: @@ -2808,11 +3057,11 @@ packages: dependencies: '@types/http-errors': 2.0.1 '@types/mime': 3.0.1 - '@types/node': 20.3.2 + '@types/node': 20.4.5 dev: true - /@types/sinon@10.0.15: - resolution: {integrity: sha512-3lrFNQG0Kr2LDzvjyjB6AMJk4ge+8iYhQfdnSwIwlG88FUOV43kPcQqDZkDa/h3WSZy6i8Fr0BSjfQtB1B3xuQ==} + /@types/sinon@10.0.16: + resolution: {integrity: sha512-j2Du5SYpXZjJVJtXBokASpPRj+e2z+VUhCPHmM6WMfe3dpHu6iVKJMU6AiBcMp/XTAYnEj6Wc1trJUWwZ0QaAQ==} dependencies: '@types/sinonjs__fake-timers': 8.1.2 dev: true @@ -2915,8 +3164,8 @@ packages: '@webassemblyjs/ast': 1.11.6 '@xtuc/long': 4.2.2 - /@xmldom/xmldom@0.8.8: - resolution: {integrity: sha512-0LNz4EY8B/8xXY86wMrQ4tz6zEHZv9ehFMJPm8u2gq5lQ71cfRKdaKyxfJAx5aUoyzx0qzgURblTisPGgz3d+Q==} + /@xmldom/xmldom@0.8.10: + resolution: {integrity: sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==} engines: {node: '>=10.0.0'} dev: true @@ -2960,19 +3209,19 @@ packages: acorn-walk: 7.2.0 dev: true - /acorn-import-assertions@1.9.0(acorn@8.9.0): + /acorn-import-assertions@1.9.0(acorn@8.10.0): resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} peerDependencies: acorn: ^8 dependencies: - acorn: 8.9.0 + acorn: 8.10.0 - /acorn-jsx@5.3.2(acorn@8.9.0): + /acorn-jsx@5.3.2(acorn@8.10.0): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - acorn: 8.9.0 + acorn: 8.10.0 dev: true /acorn-walk@7.2.0: @@ -2992,8 +3241,8 @@ packages: hasBin: true dev: true - /acorn@8.9.0: - resolution: {integrity: sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==} + /acorn@8.10.0: + resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} engines: {node: '>=0.4.0'} hasBin: true @@ -3225,6 +3474,17 @@ packages: engines: {node: '>=0.10.0'} dev: true + /arraybuffer.prototype.slice@1.0.1: + resolution: {integrity: sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.0 + call-bind: 1.0.2 + define-properties: 1.2.0 + get-intrinsic: 1.2.1 + is-array-buffer: 3.0.2 + is-shared-array-buffer: 1.0.2 + /arrify@1.0.1: resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} engines: {node: '>=0.10.0'} @@ -3273,6 +3533,7 @@ packages: username-sync: 1.0.3 transitivePeerDependencies: - supports-color + dev: true /async-promise-queue@1.0.5: resolution: {integrity: sha512-xi0aQ1rrjPWYmqbwr18rrSKbSaXIeIwSd1J4KAgVfkq8utNbdZoht7GfvfY6swFUAMJ9obkc4WPJmtGwl+B8dw==} @@ -3314,41 +3575,66 @@ packages: engines: {node: '>= 12.*'} dev: true - /babel-import-util@1.3.0: - resolution: {integrity: sha512-PPzUT17eAI18zn6ek1R3sB4Krc/MbnmT1MkZQFmyhjoaEGBVwNABhfVU9+EKcDSKrrOm9OIpGhjxukx1GCiy1g==} + /babel-import-util@1.4.1: + resolution: {integrity: sha512-TNdiTQdPhXlx02pzG//UyVPSKE7SNWjY0n4So/ZnjQpWwaM5LvWBLkWa1JKll5u06HNscHD91XZPuwrMg1kadQ==} engines: {node: '>= 12.*'} - /babel-loader@8.3.0(@babel/core@7.22.5)(webpack@5.88.0): + /babel-import-util@2.0.0: + resolution: {integrity: sha512-pkWynbLwru0RZmA9iKeQL63+CkkW0RCP3kL5njCtudd6YPUKb5Pa0kL4fb3bmuKn2QDBFwY5mvvhEK/+jv2Ynw==} + engines: {node: '>= 12.*'} + + /babel-loader@8.3.0(@babel/core@7.17.0)(webpack@5.86.0): resolution: {integrity: sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==} engines: {node: '>= 8.9'} peerDependencies: '@babel/core': ^7.0.0 webpack: '>=2' dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 find-cache-dir: 3.3.2 loader-utils: 2.0.4 make-dir: 3.1.0 schema-utils: 2.7.1 - webpack: 5.88.0 + webpack: 5.86.0 - /babel-plugin-debug-macros@0.2.0(@babel/core@7.22.5): + /babel-plugin-debug-macros@0.2.0(@babel/core@7.17.0): resolution: {integrity: sha512-Wpmw4TbhR3Eq2t3W51eBAQSdKlr+uAyF0GI4GtPfMCD12Y4cIdpKC9l0RjNTH/P9isFypSqqewMPm7//fnZlNA==} engines: {node: '>=4'} peerDependencies: '@babel/core': ^7.0.0-beta.42 dependencies: - '@babel/core': 7.22.5 - semver: 5.7.1 + '@babel/core': 7.17.0 + semver: 5.7.2 + dev: false + + /babel-plugin-debug-macros@0.2.0(@babel/core@7.22.9): + resolution: {integrity: sha512-Wpmw4TbhR3Eq2t3W51eBAQSdKlr+uAyF0GI4GtPfMCD12Y4cIdpKC9l0RjNTH/P9isFypSqqewMPm7//fnZlNA==} + engines: {node: '>=4'} + peerDependencies: + '@babel/core': ^7.0.0-beta.42 + dependencies: + '@babel/core': 7.22.9 + semver: 5.7.2 + dev: true + + /babel-plugin-debug-macros@0.3.4(@babel/core@7.17.0): + resolution: {integrity: sha512-wfel/vb3pXfwIDZUrkoDrn5FHmlWI96PCJ3UCDv2a86poJ3EQrnArNW5KfHSVJ9IOgxHbo748cQt7sDU+0KCEw==} + engines: {node: '>=6'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.17.0 + semver: 5.7.2 - /babel-plugin-debug-macros@0.3.4(@babel/core@7.22.5): + /babel-plugin-debug-macros@0.3.4(@babel/core@7.22.9): resolution: {integrity: sha512-wfel/vb3pXfwIDZUrkoDrn5FHmlWI96PCJ3UCDv2a86poJ3EQrnArNW5KfHSVJ9IOgxHbo748cQt7sDU+0KCEw==} engines: {node: '>=6'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.5 - semver: 5.7.1 + '@babel/core': 7.22.9 + semver: 5.7.2 + dev: true /babel-plugin-ember-data-packages-polyfill@0.1.2: resolution: {integrity: sha512-kTHnOwoOXfPXi00Z8yAgyD64+jdSXk3pknnS7NlqnCKAU6YDkXZ4Y7irl66kaZjZn0FBBt0P4YOZFZk85jYOww==} @@ -3362,11 +3648,12 @@ packages: dependencies: ember-rfc176-data: 0.3.18 - /babel-plugin-ember-template-compilation@2.0.3: - resolution: {integrity: sha512-SIetZD/uCLnzIBTJtzYGc2Q55TPqM5WyjuOgW+Is1W3SZVljlY3JD5Add29hDMs//OvXBWoXfOopQxkfG4/pIA==} + /babel-plugin-ember-template-compilation@2.1.1: + resolution: {integrity: sha512-vwEUw7qfwAgwUokQc5xMxrcJMhCu2dVvDDMIXFyOpXwxt+kqZ2FKvXFV+rJjYchIgHH5rBduEtt4Qk1qeZ6RDA==} engines: {node: '>= 12.*'} dependencies: - babel-import-util: 1.3.0 + '@glimmer/syntax': 0.84.3 + babel-import-util: 2.0.0 /babel-plugin-filter-imports@4.0.0: resolution: {integrity: sha512-jDLlxI8QnfKd7PtieH6pl4tZJzymzfCDCPGdTq/grgbiYAikwDPp/oL0IlFJn0HQjLpcLkyYhPKkUVneRESw5w==} @@ -3406,36 +3693,36 @@ packages: resolve: 1.22.2 dev: true - /babel-plugin-polyfill-corejs2@0.4.3(@babel/core@7.22.5): - resolution: {integrity: sha512-bM3gHc337Dta490gg+/AseNB9L4YLHxq1nGKZZSHbhXv4aTYU2MD2cjza1Ru4S6975YLTaL1K8uJf6ukJhhmtw==} + /babel-plugin-polyfill-corejs2@0.4.5(@babel/core@7.17.0): + resolution: {integrity: sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/compat-data': 7.22.5 - '@babel/core': 7.22.5 - '@babel/helper-define-polyfill-provider': 0.4.0(@babel/core@7.22.5) - semver: 6.3.0 + '@babel/compat-data': 7.22.9 + '@babel/core': 7.17.0 + '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.17.0) + semver: 6.3.1 transitivePeerDependencies: - supports-color - /babel-plugin-polyfill-corejs3@0.8.1(@babel/core@7.22.5): - resolution: {integrity: sha512-ikFrZITKg1xH6pLND8zT14UPgjKHiGLqex7rGEZCH2EvhsneJaJPemmpQaIZV5AL03II+lXylw3UmddDK8RU5Q==} + /babel-plugin-polyfill-corejs3@0.8.3(@babel/core@7.17.0): + resolution: {integrity: sha512-z41XaniZL26WLrvjy7soabMXrfPWARN25PZoriDEiLMxAp50AUW3t35BGQUMg5xK3UrpVTtagIDklxYa+MhiNA==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.22.5 - '@babel/helper-define-polyfill-provider': 0.4.0(@babel/core@7.22.5) - core-js-compat: 3.31.0 + '@babel/core': 7.17.0 + '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.17.0) + core-js-compat: 3.32.0 transitivePeerDependencies: - supports-color - /babel-plugin-polyfill-regenerator@0.5.0(@babel/core@7.22.5): - resolution: {integrity: sha512-hDJtKjMLVa7Z+LwnTCxoDLQj6wdc+B8dun7ayF2fYieI6OzfuvcLMB32ihJZ4UhCBwNYGl5bg/x/P9cMdnkc2g==} + /babel-plugin-polyfill-regenerator@0.5.2(@babel/core@7.17.0): + resolution: {integrity: sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.22.5 - '@babel/helper-define-polyfill-provider': 0.4.0(@babel/core@7.22.5) + '@babel/core': 7.17.0 + '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.17.0) transitivePeerDependencies: - supports-color @@ -3446,8 +3733,8 @@ packages: resolution: {integrity: sha512-biNFJ7JAK4+9BwswDGL0dmYpvXHvswOFR/iKg3Q/f+pNxPEa5bWZkLHI1fW4spPytkHGMe7f/XtYyhzml9hiWg==} dev: true - /backbone@1.4.1: - resolution: {integrity: sha512-ADy1ztN074YkWbHi8ojJVFe3vAanO/lrzMGZWUClIP7oDD/Pjy2vrASraUP+2EVCfIiTtCW4FChVow01XneivA==} + /backbone@1.5.0: + resolution: {integrity: sha512-RPKlstw5NW+rD2X4PnEnvgLhslRnXOugXw2iBloHkPMgOxvakP1/A+tZIGM3qCm8uvZeEf8zMm0uvcK1JwL+IA==} dependencies: underscore: 1.13.6 dev: true @@ -3548,8 +3835,8 @@ packages: safe-json-parse: 1.0.1 dev: true - /bootstrap@4.6.2(jquery@3.7.0)(popper.js@1.16.1): - resolution: {integrity: sha512-51Bbp/Uxr9aTuy6ca/8FbFloBUJZLHwnhTcnjIeRn2suQWsWzcuJhGjKDB5eppVte/8oCdOL3VuwxvZDUggwGQ==} + /bootstrap@4.6.0(jquery@3.7.0)(popper.js@1.16.1): + resolution: {integrity: sha512-Io55IuQY3kydzHtbGvQya3H+KorS/M9rSNyfCGCg9WZ4pyT/lCxIlpJgG1GXW/PswzC84Tr2fBYi+7+jFVQQBw==} peerDependencies: jquery: 1.9.1 - 3 popper.js: ^1.16.1 @@ -3645,7 +3932,7 @@ packages: resolution: {integrity: sha512-6IXBgfRt7HZ61g67ssBc6lBb3Smw3DPZ9dEYirgtvXWpRZ2A9M22nxy6opEwJDgDJzlu/bB7ToppW33OFkA1gA==} engines: {node: '>= 6'} dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 '@babel/polyfill': 7.12.1 broccoli-funnel: 2.0.2 broccoli-merge-trees: 3.0.2 @@ -3720,7 +4007,7 @@ packages: broccoli-kitchen-sink-helpers: 0.3.1 broccoli-plugin: 4.0.7 ensure-posix-path: 1.1.1 - fast-sourcemap-concat: 2.1.0 + fast-sourcemap-concat: 2.1.1 find-index: 1.1.1 fs-extra: 8.1.0 fs-tree-diff: 2.0.1 @@ -3934,6 +4221,7 @@ packages: walk-sync: 0.3.4 transitivePeerDependencies: - supports-color + dev: true /broccoli-persistent-filter@2.3.1: resolution: {integrity: sha512-hVsmIgCDrl2NFM+3Gs4Cr2TA6UPaIZip99hN8mtkaUPgM8UeVnCbxelCvBjUBHo0oaaqP5jzqqnRVvb568Yu5g==} @@ -3973,6 +4261,7 @@ packages: sync-disk-cache: 2.1.0 transitivePeerDependencies: - supports-color + dev: true /broccoli-plugin@1.1.0: resolution: {integrity: sha512-dY1QsA20of9wWEto8yhN7JQjpfjySmgeIMsvnQ9aBAv1wEJJCe04B0ekdgq7Bduyx9yWXdoC5CngGy81swmp2w==} @@ -4132,15 +4421,6 @@ packages: transitivePeerDependencies: - supports-color - /broccoli-string-replace@0.1.2: - resolution: {integrity: sha512-QHESTrrrPlKuXQNWsvXawSQbV2g34wCZ5oKgd6bntdOuN8VHxbg1BCBHqVY5HxXJhWelimgGxj3vI7ECkyij8g==} - dependencies: - broccoli-persistent-filter: 1.4.6 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - dev: false - /broccoli-templater@2.0.2: resolution: {integrity: sha512-71KpNkc7WmbEokTQpGcbGzZjUIY1NSVa3GB++KFKAfx5SZPUozCOsBlSTwxcv8TLoCAqbBnsX5AQPgg6vJ2l9g==} engines: {node: 6.* || >= 8.*} @@ -4165,7 +4445,7 @@ packages: matcher-collection: 2.0.1 source-map-url: 0.4.1 symlink-or-copy: 1.3.1 - terser: 5.18.2 + terser: 5.19.2 walk-sync: 2.2.0 workerpool: 6.4.0 transitivePeerDependencies: @@ -4208,15 +4488,15 @@ packages: resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==} dev: true - /browserslist@4.21.9: - resolution: {integrity: sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==} + /browserslist@4.21.10: + resolution: {integrity: sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001509 - electron-to-chromium: 1.4.442 - node-releases: 2.0.12 - update-browserslist-db: 1.0.11(browserslist@4.21.9) + caniuse-lite: 1.0.30001518 + electron-to-chromium: 1.4.479 + node-releases: 2.0.13 + update-browserslist-db: 1.0.11(browserslist@4.21.10) /bser@2.1.1: resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} @@ -4237,7 +4517,7 @@ packages: /builtins@5.0.1: resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} dependencies: - semver: 7.5.3 + semver: 7.5.4 dev: true /bytes@1.0.0: @@ -4322,14 +4602,14 @@ packages: /caniuse-api@3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} dependencies: - browserslist: 4.21.9 - caniuse-lite: 1.0.30001509 + browserslist: 4.21.10 + caniuse-lite: 1.0.30001518 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 dev: true - /caniuse-lite@1.0.30001509: - resolution: {integrity: sha512-2uDDk+TRiTX5hMcUYT/7CSyzMZxjfGu0vAUjS2g0LSD8UoXOv0LtpH4LxGMemsiPq6LCVIUjNwVM0erkOkGCDA==} + /caniuse-lite@1.0.30001518: + resolution: {integrity: sha512-rup09/e3I0BKjncL+FesTayKtPrdwKhUufQFd3riFw1hHg8JmIFoInYfB102cFcY/pPgGmdyl/iy+jgiDi2vdA==} /capture-exit@2.0.0: resolution: {integrity: sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==} @@ -4372,8 +4652,8 @@ packages: ansi-styles: 4.3.0 supports-color: 7.2.0 - /chalk@5.2.0: - resolution: {integrity: sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==} + /chalk@5.3.0: + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} dev: true @@ -4635,15 +4915,15 @@ packages: /concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - /concurrently@7.6.0: - resolution: {integrity: sha512-BKtRgvcJGeZ4XttiDiNcFiRlxoAeZOseqUvyYRUp/Vtd+9p1ULmeoSqGsDA+2ivdeDFpqrJvGvmI+StKfKl5hw==} + /concurrently@7.2.1: + resolution: {integrity: sha512-7cab/QyqipqghrVr9qZmoWbidu0nHsmxrpNqQ7r/67vfl1DWJElexehQnTH1p+87tDkihaAjM79xTZyBQh7HLw==} engines: {node: ^12.20.0 || ^14.13.0 || >=16.0.0} hasBin: true dependencies: chalk: 4.1.2 date-fns: 2.30.0 lodash: 4.17.21 - rxjs: 7.8.1 + rxjs: 6.6.7 shell-quote: 1.8.1 spawn-command: 0.0.2-1 supports-color: 8.1.1 @@ -4918,10 +5198,10 @@ packages: engines: {node: '>=0.10.0'} dev: true - /core-js-compat@3.31.0: - resolution: {integrity: sha512-hM7YCu1cU6Opx7MXNu0NuumM0ezNeAeRKadixyiQELWY3vT3De9S4J5ZBMraWV2vZnrE1Cirl0GtFtDtMUXzPw==} + /core-js-compat@3.32.0: + resolution: {integrity: sha512-7a9a3D1k4UCVKnLhrgALyFcP7YCsLOQIxPd0dKjf/6GuPcgyiGP70ewWdCGrSK7evyhymi0qO4EqCmSJofDeYw==} dependencies: - browserslist: 4.21.9 + browserslist: 4.21.10 /core-js@2.6.12: resolution: {integrity: sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==} @@ -4962,7 +5242,7 @@ packages: dependencies: nice-try: 1.0.5 path-key: 2.0.1 - semver: 5.7.1 + semver: 5.7.2 shebang-command: 1.2.0 which: 1.3.1 dev: true @@ -4980,28 +5260,28 @@ packages: engines: {node: '>=8'} dev: true - /css-functions-list@3.1.0: - resolution: {integrity: sha512-/9lCvYZaUbBGvYUgYGFJ4dcYiyqdhSjG7IPVluoV8A1ILjkF7ilmhp1OGUz8n+nmBcu0RNrQAzgD8B6FJbrt2w==} + /css-functions-list@3.2.0: + resolution: {integrity: sha512-d/jBMPyYybkkLVypgtGv12R+pIFw4/f/IHtCTxWpZc8ofTYOPigIgmA6vu5rMHartZC+WuXhBUHfnyNUIQSYrg==} engines: {node: '>=12.22'} dev: true - /css-loader@5.2.7(webpack@5.88.0): + /css-loader@5.2.7(webpack@5.86.0): resolution: {integrity: sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==} engines: {node: '>= 10.13.0'} peerDependencies: webpack: ^4.27.0 || ^5.0.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.24) + icss-utils: 5.1.0(postcss@8.4.27) loader-utils: 2.0.4 - postcss: 8.4.24 - postcss-modules-extract-imports: 3.0.0(postcss@8.4.24) - postcss-modules-local-by-default: 4.0.3(postcss@8.4.24) - postcss-modules-scope: 3.0.0(postcss@8.4.24) - postcss-modules-values: 4.0.0(postcss@8.4.24) + postcss: 8.4.27 + postcss-modules-extract-imports: 3.0.0(postcss@8.4.27) + postcss-modules-local-by-default: 4.0.3(postcss@8.4.27) + postcss-modules-scope: 3.0.0(postcss@8.4.27) + postcss-modules-values: 4.0.0(postcss@8.4.27) postcss-value-parser: 4.2.0 schema-utils: 3.3.0 - semver: 7.5.3 - webpack: 5.88.0 + semver: 7.5.4 + webpack: 5.86.0 /css-tree@2.3.1: resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} @@ -5077,7 +5357,7 @@ packages: resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} engines: {node: '>=0.11'} dependencies: - '@babel/runtime': 7.22.5 + '@babel/runtime': 7.22.6 dev: true /date-time@2.1.0: @@ -5291,7 +5571,7 @@ packages: resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} dependencies: no-case: 3.0.4 - tslib: 2.6.0 + tslib: 2.6.1 dev: true /dot-prop@5.3.0: @@ -5314,28 +5594,29 @@ packages: engines: {node: '>=0.8'} dependencies: errlop: 2.2.0 - semver: 6.3.0 + semver: 6.3.1 + dev: true /ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} dev: true - /electron-to-chromium@1.4.442: - resolution: {integrity: sha512-RkrZF//Ya+0aJq2NM3OdisNh5ZodZq1rdXOS96G8DdDgpDKqKE81yTbbQ3F/4CKm1JBPsGu1Lp/akkna2xO06Q==} + /electron-to-chromium@1.4.479: + resolution: {integrity: sha512-ABv1nHMIR8I5n3O3Een0gr6i0mfM+YcTZqjHy3pAYaOjgFG+BMquuKrSyfYf5CbEkLr9uM05RA3pOk4udNB/aQ==} - /ember-auto-import@2.6.3(webpack@5.88.0): + /ember-auto-import@2.6.3(webpack@5.86.0): resolution: {integrity: sha512-uLhrRDJYWCRvQ4JQ1e64XlSrqAKSd6PXaJ9ZsZI6Tlms9T4DtQFxNXasqji2ZRJBVrxEoLCRYX3RTldsQ0vNGQ==} engines: {node: 12.* || 14.* || >= 16} dependencies: - '@babel/core': 7.22.5 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.22.5) - '@babel/plugin-proposal-decorators': 7.22.5(@babel/core@7.22.5) - '@babel/preset-env': 7.22.5(@babel/core@7.22.5) + '@babel/core': 7.17.0 + '@babel/plugin-proposal-class-properties': 7.16.7(@babel/core@7.17.0) + '@babel/plugin-proposal-decorators': 7.22.5(@babel/core@7.17.0) + '@babel/preset-env': 7.22.9(@babel/core@7.17.0) '@embroider/macros': 1.11.1 - '@embroider/shared-internals': 2.1.0 - babel-loader: 8.3.0(@babel/core@7.22.5)(webpack@5.88.0) + '@embroider/shared-internals': 2.3.0 + babel-loader: 8.3.0(@babel/core@7.17.0)(webpack@5.86.0) babel-plugin-ember-modules-api-polyfill: 3.5.0 - babel-plugin-ember-template-compilation: 2.0.3 + babel-plugin-ember-template-compilation: 2.1.1 babel-plugin-htmlbars-inline-precompile: 5.3.1 babel-plugin-syntax-dynamic-import: 6.18.0 broccoli-debug: 0.6.5 @@ -5343,19 +5624,19 @@ packages: broccoli-merge-trees: 4.2.0 broccoli-plugin: 4.0.7 broccoli-source: 3.0.1 - css-loader: 5.2.7(webpack@5.88.0) + css-loader: 5.2.7(webpack@5.86.0) debug: 4.3.4 fs-extra: 10.1.0 fs-tree-diff: 2.0.1 handlebars: 4.7.7 js-string-escape: 1.0.1 lodash: 4.17.21 - mini-css-extract-plugin: 2.7.6(webpack@5.88.0) + mini-css-extract-plugin: 2.7.6(webpack@5.86.0) parse5: 6.0.1 resolve: 1.22.2 resolve-package-path: 4.0.3 - semver: 7.5.3 - style-loader: 2.0.0(webpack@5.88.0) + semver: 7.5.4 + style-loader: 2.0.0(webpack@5.86.0) typescript-memoize: 1.1.1 walk-sync: 3.0.0 transitivePeerDependencies: @@ -5363,46 +5644,46 @@ packages: - supports-color - webpack - /ember-cache-primitive-polyfill@1.0.1(@babel/core@7.22.5): + /ember-cache-primitive-polyfill@1.0.1(@babel/core@7.22.9): resolution: {integrity: sha512-hSPcvIKarA8wad2/b6jDd/eU+OtKmi6uP+iYQbzi5TQpjsqV6b4QdRqrLk7ClSRRKBAtdTuutx+m+X+WlEd2lw==} engines: {node: 10.* || >= 12} dependencies: ember-cli-babel: 7.26.11 ember-cli-version-checker: 5.1.2 - ember-compatibility-helpers: 1.2.6(@babel/core@7.22.5) + ember-compatibility-helpers: 1.2.6(@babel/core@7.22.9) silent-error: 1.1.1 transitivePeerDependencies: - '@babel/core' - supports-color dev: true - /ember-cached-decorator-polyfill@1.0.1(@babel/core@7.22.5)(ember-source@4.12.1): - resolution: {integrity: sha512-VDgrpIJ6rDDHIfkYrsFR1BM3fpcC0+zFWIOsX0qY44zPrIXjhQWVXs2iVXLIPHprSgf+tFQ3ESxwDscpeRe/0A==} + /ember-cached-decorator-polyfill@1.0.2(@babel/core@7.22.9)(ember-source@4.12.0): + resolution: {integrity: sha512-hUX6OYTKltAPAu8vsVZK02BfMTV0OUXrPqvRahYPhgS7D0I6joLjlskd7mhqJMcaXLywqceIy8/s+x8bxF8bpQ==} engines: {node: 14.* || >= 16} peerDependencies: - ember-source: ^3.13.0 || ^4.0.0 + ember-source: ^3.13.0 || ^4.0.0 || >= 5.0.0 dependencies: '@embroider/macros': 1.11.1 '@glimmer/tracking': 1.1.2 - babel-import-util: 1.3.0 - ember-cache-primitive-polyfill: 1.0.1(@babel/core@7.22.5) + babel-import-util: 1.4.1 + ember-cache-primitive-polyfill: 1.0.1(@babel/core@7.22.9) ember-cli-babel: 7.26.11 ember-cli-babel-plugin-helpers: 1.1.1 - ember-source: 4.12.1(@babel/core@7.22.5)(@glimmer/component@1.1.2)(webpack@5.88.0) + ember-source: 4.12.0(@babel/core@7.22.9)(@glimmer/component@1.1.2)(webpack@5.86.0) transitivePeerDependencies: - '@babel/core' - '@glint/template' - supports-color dev: true - /ember-cli-app-version@6.0.1(ember-source@4.12.1): - resolution: {integrity: sha512-XA1FwkWA5QytmWF0jcJqEr3jcZoiCl9Fb33TZgOVfClL7Voxe+/RwzISEprBRQgbf7j8z1xf8/RJCKfclUy3rQ==} + /ember-cli-app-version@6.0.0(ember-source@4.12.0): + resolution: {integrity: sha512-XhzETSTy+RMTIyxM/FaZ/8aJvAwT/iIp8HC9zukpOaSPEm5i6Vm4tskeXY4OBnY3VwFWNXWssDt1hgIkUP76WQ==} engines: {node: 14.* || 16.* || >= 18} peerDependencies: - ember-source: ^3.28.0 || >= 4.0.0 + ember-source: ^3.28.0 || ^4.0.0 dependencies: ember-cli-babel: 7.26.11 - ember-source: 4.12.1(@babel/core@7.22.5)(@glimmer/component@1.1.2)(webpack@5.88.0) + ember-source: 4.12.0(@babel/core@7.22.9)(@glimmer/component@1.1.2)(webpack@5.86.0) git-repo-info: 2.1.1 transitivePeerDependencies: - supports-color @@ -5416,20 +5697,20 @@ packages: resolution: {integrity: sha512-JJYeYjiz/JTn34q7F5DSOjkkZqy8qwFOOxXfE6pe9yEJqWGu4qErKxlz8I22JoVEQ/aBUO+OcKTpmctvykM9YA==} engines: {node: 6.* || 8.* || >= 10.*} dependencies: - '@babel/core': 7.22.5 - '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.22.5) - '@babel/plugin-proposal-decorators': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.22.5) - '@babel/plugin-proposal-private-property-in-object': 7.21.11(@babel/core@7.22.5) - '@babel/plugin-transform-modules-amd': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-runtime': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-typescript': 7.22.5(@babel/core@7.22.5) + '@babel/core': 7.17.0 + '@babel/helper-compilation-targets': 7.22.9(@babel/core@7.17.0) + '@babel/plugin-proposal-class-properties': 7.16.7(@babel/core@7.17.0) + '@babel/plugin-proposal-decorators': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.17.0) + '@babel/plugin-proposal-private-property-in-object': 7.21.11(@babel/core@7.17.0) + '@babel/plugin-transform-modules-amd': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-transform-runtime': 7.22.9(@babel/core@7.17.0) + '@babel/plugin-transform-typescript': 7.22.9(@babel/core@7.17.0) '@babel/polyfill': 7.12.1 - '@babel/preset-env': 7.22.5(@babel/core@7.22.5) + '@babel/preset-env': 7.22.9(@babel/core@7.17.0) '@babel/runtime': 7.12.18 amd-name-resolver: 1.3.1 - babel-plugin-debug-macros: 0.3.4(@babel/core@7.22.5) + babel-plugin-debug-macros: 0.3.4(@babel/core@7.17.0) babel-plugin-ember-data-packages-polyfill: 0.1.2 babel-plugin-ember-modules-api-polyfill: 3.5.0 babel-plugin-module-resolver: 3.2.0 @@ -5445,7 +5726,7 @@ packages: fixturify-project: 1.10.0 resolve-package-path: 3.1.0 rimraf: 3.0.2 - semver: 5.7.1 + semver: 5.7.2 transitivePeerDependencies: - supports-color @@ -5460,18 +5741,18 @@ packages: - supports-color dev: true - /ember-cli-dependency-checker@3.3.2(ember-cli@4.12.1): - resolution: {integrity: sha512-PwkrW5oYsdPWwt+0Tojufmv/hxVETTjkrEdK7ANQB2VSnqpA5UcYubwpQM9ONuR2J8wyNDMwEHlqIrk/FYtBsQ==} + /ember-cli-dependency-checker@3.3.1(ember-cli@4.12.0): + resolution: {integrity: sha512-Tg6OeijjXNKWkDm6057Tr0N9j9Vlz/ITewXWpn1A/+Wbt3EowBx5ZKfvoupqz05EznKgL1B/ecG0t+JN7Qm6MA==} engines: {node: '>= 6'} peerDependencies: - ember-cli: ^3.2.0 || >=4.0.0 + ember-cli: ^3.2.0 || ^4.0.0 dependencies: chalk: 2.4.2 - ember-cli: 4.12.1 + ember-cli: 4.12.0 find-yarn-workspace-root: 1.2.1 is-git-url: 1.0.0 resolve: 1.22.2 - semver: 5.7.1 + semver: 5.7.2 transitivePeerDependencies: - supports-color dev: true @@ -5524,7 +5805,7 @@ packages: hash-for-dep: 1.5.1 heimdalljs-logger: 0.1.10 json-stable-stringify: 1.0.2 - semver: 7.5.3 + semver: 7.5.4 silent-error: 1.1.1 strip-bom: 4.0.0 walk-sync: 2.2.0 @@ -5537,7 +5818,7 @@ packages: engines: {node: 12.* || 14.* || >= 16} dependencies: '@ember/edition-utils': 1.2.0 - babel-plugin-ember-template-compilation: 2.0.3 + babel-plugin-ember-template-compilation: 2.1.1 babel-plugin-htmlbars-inline-precompile: 5.3.1 broccoli-debug: 0.6.5 broccoli-persistent-filter: 3.1.3 @@ -5547,11 +5828,12 @@ packages: hash-for-dep: 1.5.1 heimdalljs-logger: 0.1.10 js-string-escape: 1.0.1 - semver: 7.5.3 + semver: 7.5.4 silent-error: 1.1.1 walk-sync: 2.2.0 transitivePeerDependencies: - supports-color + dev: true /ember-cli-inject-live-reload@2.1.0: resolution: {integrity: sha512-YV5wYRD5PJHmxaxaJt18u6LE6Y+wo455BnmcpN+hGNlChy2piM9/GMvYgTAz/8Vin8RJ5KekqP/w/NEaRndc/A==} @@ -5629,8 +5911,8 @@ packages: ember-cli-string-utils: 1.1.0 dev: true - /ember-cli-test-loader@3.0.0: - resolution: {integrity: sha512-wfFRBrfO9gaKScYcdQxTfklx9yp1lWK6zv1rZRpkas9z2SHyJojF7NOQRWQgSB3ypm7vfpiF8VsFFVVr7VBzAQ==} + /ember-cli-test-loader@3.1.0: + resolution: {integrity: sha512-0aocZV9SIoOHiU3hrH3IuLR6busWhTX6UVXgd490hmJkIymmOXNH2+jJoC7Ebkeo3PiOfAdjqhb765QDlHSJOw==} engines: {node: 10.* || >= 12} dependencies: ember-cli-babel: 7.26.11 @@ -5646,12 +5928,12 @@ packages: transitivePeerDependencies: - supports-color - /ember-cli-typescript@2.0.2(@babel/core@7.22.5): + /ember-cli-typescript@2.0.2(@babel/core@7.22.9): resolution: {integrity: sha512-7I5azCTxOgRDN8aSSnJZIKSqr+MGnT+jLTUbBYqF8wu6ojs2DUnTePxUcQMcvNh3Q3B1ySv7Q/uZFSjdU9gSjA==} engines: {node: 6.* || 8.* || >= 10.*} dependencies: - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.22.5) - '@babel/plugin-transform-typescript': 7.4.5(@babel/core@7.22.5) + '@babel/plugin-proposal-class-properties': 7.16.7(@babel/core@7.22.9) + '@babel/plugin-transform-typescript': 7.4.5(@babel/core@7.22.9) ansi-to-html: 0.6.15 debug: 4.3.4 ember-cli-babel-plugin-helpers: 1.1.1 @@ -5659,7 +5941,7 @@ packages: fs-extra: 7.0.1 resolve: 1.22.2 rsvp: 4.8.5 - semver: 6.3.0 + semver: 6.3.1 stagehand: 1.0.1 walk-sync: 1.1.4 transitivePeerDependencies: @@ -5667,11 +5949,31 @@ packages: - supports-color dev: true - /ember-cli-typescript@3.0.0(@babel/core@7.22.5): + /ember-cli-typescript@3.0.0(@babel/core@7.17.0): + resolution: {integrity: sha512-lo5YArbJzJi5ssvaGqTt6+FnhTALnSvYVuxM7lfyL1UCMudyNJ94ovH5C7n5il7ATd6WsNiAPRUO/v+s5Jq/aA==} + engines: {node: 8.* || >= 10.*} + dependencies: + '@babel/plugin-transform-typescript': 7.5.5(@babel/core@7.17.0) + ansi-to-html: 0.6.15 + debug: 4.3.4 + ember-cli-babel-plugin-helpers: 1.1.1 + execa: 2.1.0 + fs-extra: 8.1.0 + resolve: 1.22.2 + rsvp: 4.8.5 + semver: 6.3.1 + stagehand: 1.0.1 + walk-sync: 2.2.0 + transitivePeerDependencies: + - '@babel/core' + - supports-color + dev: false + + /ember-cli-typescript@3.0.0(@babel/core@7.22.9): resolution: {integrity: sha512-lo5YArbJzJi5ssvaGqTt6+FnhTALnSvYVuxM7lfyL1UCMudyNJ94ovH5C7n5il7ATd6WsNiAPRUO/v+s5Jq/aA==} engines: {node: 8.* || >= 10.*} dependencies: - '@babel/plugin-transform-typescript': 7.5.5(@babel/core@7.22.5) + '@babel/plugin-transform-typescript': 7.5.5(@babel/core@7.22.9) ansi-to-html: 0.6.15 debug: 4.3.4 ember-cli-babel-plugin-helpers: 1.1.1 @@ -5679,12 +5981,13 @@ packages: fs-extra: 8.1.0 resolve: 1.22.2 rsvp: 4.8.5 - semver: 6.3.0 + semver: 6.3.1 stagehand: 1.0.1 walk-sync: 2.2.0 transitivePeerDependencies: - '@babel/core' - supports-color + dev: true /ember-cli-typescript@4.2.1: resolution: {integrity: sha512-0iKTZ+/wH6UB/VTWKvGuXlmwiE8HSIGcxHamwNhEC5x1mN3z8RfvsFZdQWYUzIWFN2Tek0gmepGRPTwWdBYl/A==} @@ -5697,7 +6000,7 @@ packages: fs-extra: 9.1.0 resolve: 1.22.2 rsvp: 4.8.5 - semver: 7.5.3 + semver: 7.5.4 stagehand: 1.0.1 walk-sync: 2.2.0 transitivePeerDependencies: @@ -5715,7 +6018,7 @@ packages: fs-extra: 9.1.0 resolve: 1.22.2 rsvp: 4.8.5 - semver: 7.5.3 + semver: 7.5.4 stagehand: 1.0.1 walk-sync: 2.2.0 transitivePeerDependencies: @@ -5727,22 +6030,21 @@ packages: engines: {node: '>= 4'} dependencies: resolve: 1.22.2 - semver: 5.7.1 - dev: true + semver: 5.7.2 /ember-cli-version-checker@3.1.3: resolution: {integrity: sha512-PZNSvpzwWgv68hcXxyjREpj3WWb81A7rtYNQq1lLEgrWIchF8ApKJjWP3NBpHjaatwILkZAV8klair5WFlXAKg==} engines: {node: 6.* || 8.* || >= 10.*} dependencies: resolve-package-path: 1.2.7 - semver: 5.7.1 + semver: 5.7.2 /ember-cli-version-checker@4.1.1: resolution: {integrity: sha512-bzEWsTMXUGEJfxcAGWPe6kI7oHEGD3jaxUWDYPTqzqGhNkgPwXTBgoWs9zG1RaSMaOPFnloWuxRcoHi4TrYS3Q==} engines: {node: 8.* || 10.* || >= 12.*} dependencies: resolve-package-path: 2.0.0 - semver: 6.3.0 + semver: 6.3.1 silent-error: 1.1.1 transitivePeerDependencies: - supports-color @@ -5752,18 +6054,18 @@ packages: engines: {node: 10.* || >= 12.*} dependencies: resolve-package-path: 3.1.0 - semver: 7.5.3 + semver: 7.5.4 silent-error: 1.1.1 transitivePeerDependencies: - supports-color - /ember-cli@4.12.1: - resolution: {integrity: sha512-O4QqvbvyyAvIC5SlYNOOocEhX/co7wKOSEGf8M+ipU/zgzA5ElyKMAQly9wf1QJ/RbSD1j2cFVUBIdVH/OuJHg==} + /ember-cli@4.12.0: + resolution: {integrity: sha512-4b8F6w1xwyLaukiNIq+LzqgaMXEIj1gib/OeCCqLtav4tnOgcj5xKtZ6ZRypUZq92BoSN7j5Tq21Z1kWWcMsZQ==} engines: {node: '>= 14'} hasBin: true dependencies: - '@babel/core': 7.22.5 - '@babel/plugin-transform-modules-amd': 7.22.5(@babel/core@7.22.5) + '@babel/core': 7.22.9 + '@babel/plugin-transform-modules-amd': 7.22.5(@babel/core@7.22.9) amd-name-resolver: 1.3.1 babel-plugin-module-resolver: 4.1.0 bower-config: 1.4.3 @@ -5803,7 +6105,7 @@ packages: execa: 5.1.1 exit: 0.1.2 express: 4.18.2 - filesize: 10.0.7 + filesize: 10.0.8 find-up: 5.0.0 find-yarn-workspace-root: 2.0.0 fixturify-project: 2.1.1 @@ -5842,7 +6144,7 @@ packages: resolve-package-path: 4.0.3 safe-stable-stringify: 2.4.3 sane: 5.0.1 - semver: 7.5.3 + semver: 7.5.4 silent-error: 1.1.1 sort-package-json: 1.57.0 symlink-or-copy: 1.3.1 @@ -5914,42 +6216,57 @@ packages: - whiskers dev: true - /ember-compatibility-helpers@1.2.6(@babel/core@7.22.5): + /ember-compatibility-helpers@1.2.6(@babel/core@7.17.0): + resolution: {integrity: sha512-2UBUa5SAuPg8/kRVaiOfTwlXdeVweal1zdNPibwItrhR0IvPrXpaqwJDlEZnWKEoB+h33V0JIfiWleSG6hGkkA==} + engines: {node: 10.* || >= 12.*} + dependencies: + babel-plugin-debug-macros: 0.2.0(@babel/core@7.17.0) + ember-cli-version-checker: 5.1.2 + find-up: 5.0.0 + fs-extra: 9.1.0 + semver: 5.7.2 + transitivePeerDependencies: + - '@babel/core' + - supports-color + dev: false + + /ember-compatibility-helpers@1.2.6(@babel/core@7.22.9): resolution: {integrity: sha512-2UBUa5SAuPg8/kRVaiOfTwlXdeVweal1zdNPibwItrhR0IvPrXpaqwJDlEZnWKEoB+h33V0JIfiWleSG6hGkkA==} engines: {node: 10.* || >= 12.*} dependencies: - babel-plugin-debug-macros: 0.2.0(@babel/core@7.22.5) + babel-plugin-debug-macros: 0.2.0(@babel/core@7.22.9) ember-cli-version-checker: 5.1.2 find-up: 5.0.0 fs-extra: 9.1.0 - semver: 5.7.1 + semver: 5.7.2 transitivePeerDependencies: - '@babel/core' - supports-color + dev: true - /ember-data@4.12.0(@babel/core@7.22.5)(@ember/string@3.1.1)(@glimmer/tracking@1.1.2)(ember-source@4.12.1)(webpack@5.88.0): + /ember-data@4.12.0(@babel/core@7.22.9)(@ember/string@3.1.1)(@glimmer/tracking@1.1.2)(ember-source@4.12.0)(webpack@5.86.0): resolution: {integrity: sha512-E1A94HOurihoaFzJmArhtXfp56WsLlbTyhnqWfZKgqWZz1qKF4GVbDuOsGIsy6u345LdUCp2jtodRO2s43k88Q==} engines: {node: 16.* || >= 18.*} peerDependencies: '@ember/string': ^3.0.1 dependencies: '@ember-data/adapter': 4.12.0(@ember-data/store@4.12.0)(@ember/string@3.1.1)(ember-inflector@4.0.2) - '@ember-data/debug': 4.12.0(@ember/string@3.1.1)(webpack@5.88.0) + '@ember-data/debug': 4.12.0(@ember/string@3.1.1)(webpack@5.86.0) '@ember-data/graph': 4.12.0(@ember-data/store@4.12.0) '@ember-data/json-api': 4.12.0(@ember-data/graph@4.12.0)(@ember-data/store@4.12.0) '@ember-data/legacy-compat': 4.12.0(@ember-data/graph@4.12.0)(@ember-data/json-api@4.12.0) - '@ember-data/model': 4.12.0(@babel/core@7.22.5)(@ember-data/debug@4.12.0)(@ember-data/graph@4.12.0)(@ember-data/json-api@4.12.0)(@ember-data/legacy-compat@4.12.0)(@ember-data/store@4.12.0)(@ember-data/tracking@4.12.0)(@ember/string@3.1.1)(ember-inflector@4.0.2)(ember-source@4.12.1) + '@ember-data/model': 4.12.0(@babel/core@7.22.9)(@ember-data/debug@4.12.0)(@ember-data/graph@4.12.0)(@ember-data/json-api@4.12.0)(@ember-data/legacy-compat@4.12.0)(@ember-data/store@4.12.0)(@ember-data/tracking@4.12.0)(@ember/string@3.1.1)(ember-inflector@4.0.2)(ember-source@4.12.0) '@ember-data/private-build-infra': 4.12.0 '@ember-data/request': 4.12.0 '@ember-data/serializer': 4.12.0(@ember-data/store@4.12.0)(@ember/string@3.1.1)(ember-inflector@4.0.2) - '@ember-data/store': 4.12.0(@babel/core@7.22.5)(@ember-data/graph@4.12.0)(@ember-data/json-api@4.12.0)(@ember-data/legacy-compat@4.12.0)(@ember-data/model@4.12.0)(@ember-data/tracking@4.12.0)(@ember/string@3.1.1)(@glimmer/tracking@1.1.2)(ember-source@4.12.1) + '@ember-data/store': 4.12.0(@babel/core@7.22.9)(@ember-data/graph@4.12.0)(@ember-data/json-api@4.12.0)(@ember-data/legacy-compat@4.12.0)(@ember-data/model@4.12.0)(@ember-data/tracking@4.12.0)(@ember/string@3.1.1)(@glimmer/tracking@1.1.2)(ember-source@4.12.0) '@ember-data/tracking': 4.12.0 '@ember/edition-utils': 1.2.0 '@ember/string': 3.1.1 '@embroider/macros': 1.11.1 '@glimmer/env': 0.1.7 broccoli-merge-trees: 4.2.0 - ember-auto-import: 2.6.3(webpack@5.88.0) + ember-auto-import: 2.6.3(webpack@5.86.0) ember-cli-babel: 7.26.11 ember-inflector: 4.0.2 transitivePeerDependencies: @@ -5982,8 +6299,8 @@ packages: ember-cli-babel: 7.26.11 ember-cli-typescript: 4.2.1 ember-cli-version-checker: 5.1.2 - node-fetch: 2.6.11 - whatwg-fetch: 3.6.2 + node-fetch: 2.6.12 + whatwg-fetch: 3.6.17 transitivePeerDependencies: - encoding - supports-color @@ -5998,18 +6315,30 @@ packages: - supports-color dev: true - /ember-load-initializers@2.1.2(@babel/core@7.22.5): + /ember-load-initializers@2.1.2(@babel/core@7.22.9): resolution: {integrity: sha512-CYR+U/wRxLbrfYN3dh+0Tb6mFaxJKfdyz+wNql6cqTrA0BBi9k6J3AaKXj273TqvEpyyXegQFFkZEiuZdYtgJw==} engines: {node: 6.* || 8.* || >= 10.*} dependencies: ember-cli-babel: 7.26.11 - ember-cli-typescript: 2.0.2(@babel/core@7.22.5) + ember-cli-typescript: 2.0.2(@babel/core@7.22.9) transitivePeerDependencies: - '@babel/core' - supports-color dev: true - /ember-modifier@4.1.0(ember-source@4.12.1): + /ember-modifier-manager-polyfill@1.2.0(@babel/core@7.17.0): + resolution: {integrity: sha512-bnaKF1LLKMkBNeDoetvIJ4vhwRPKIIumWr6dbVuW6W6p4QV8ZiO+GdF8J7mxDNlog9CeL9Z/7wam4YS86G8BYA==} + engines: {node: 6.* || 8.* || >= 10.*} + dependencies: + ember-cli-babel: 7.26.11 + ember-cli-version-checker: 2.2.0 + ember-compatibility-helpers: 1.2.6(@babel/core@7.17.0) + transitivePeerDependencies: + - '@babel/core' + - supports-color + dev: false + + /ember-modifier@4.1.0(ember-source@4.12.0): resolution: {integrity: sha512-YFCNpEYj6jdyy3EjslRb2ehNiDvaOrXTilR9+ngq+iUqSHYto2zKV0rleiA1XJQ27ELM1q8RihT29U6Lq5EyqQ==} peerDependencies: ember-source: '*' @@ -6017,10 +6346,10 @@ packages: ember-source: optional: true dependencies: - '@embroider/addon-shim': 1.8.5 + '@embroider/addon-shim': 1.8.6 ember-cli-normalize-entity-name: 1.0.0 ember-cli-string-utils: 1.1.0 - ember-source: 4.12.1(@babel/core@7.22.5)(@glimmer/component@1.1.2)(webpack@5.88.0) + ember-source: 4.12.0(@babel/core@7.22.9)(@glimmer/component@1.1.2)(webpack@5.86.0) transitivePeerDependencies: - supports-color dev: true @@ -6050,7 +6379,7 @@ packages: - supports-color dev: true - /ember-qunit@7.0.0(@ember/test-helpers@3.1.0)(ember-source@4.12.1)(qunit@2.19.4)(webpack@5.88.0): + /ember-qunit@7.0.0(@ember/test-helpers@3.0.3)(ember-source@4.12.0)(qunit@2.19.4)(webpack@5.86.0): resolution: {integrity: sha512-KhrndHYEXsHnXvmsGyJLJQ6VCudXaRs5dzPZBsdttZJIhsB6PmYAvq2Q+mh3GRDT/59T/sRDrB3FD3/lATS8aA==} engines: {node: 16.* || >= 18} peerDependencies: @@ -6058,14 +6387,14 @@ packages: ember-source: '>=4.0.0' qunit: ^2.13.0 dependencies: - '@ember/test-helpers': 3.1.0(ember-source@4.12.1)(webpack@5.88.0) + '@ember/test-helpers': 3.0.3(ember-source@4.12.0)(webpack@5.86.0) broccoli-funnel: 3.0.8 broccoli-merge-trees: 3.0.2 common-tags: 1.8.2 - ember-auto-import: 2.6.3(webpack@5.88.0) + ember-auto-import: 2.6.3(webpack@5.86.0) ember-cli-babel: 7.26.11 - ember-cli-test-loader: 3.0.0 - ember-source: 4.12.1(@babel/core@7.22.5)(@glimmer/component@1.1.2)(webpack@5.88.0) + ember-cli-test-loader: 3.1.0 + ember-source: 4.12.0(@babel/core@7.22.9)(@glimmer/component@1.1.2)(webpack@5.86.0) qunit: 2.19.4 resolve-package-path: 4.0.3 silent-error: 1.1.1 @@ -6076,19 +6405,19 @@ packages: - webpack dev: true - /ember-resolver@10.1.1(@ember/string@3.1.1)(ember-source@4.12.1): - resolution: {integrity: sha512-y1zzn6C4YGJui+tJzcCKlsf1oSOSVAkRrvmg8OwqVIKnALKKb9ihx2qLCslHg8x0wJvJgMtDMXgrczvQrZW0Lw==} + /ember-resolver@10.1.0(@ember/string@3.1.1)(ember-source@4.12.0): + resolution: {integrity: sha512-Ju/ORUUbGnR83AgC3qV6fIVuM5tyi/nPRf9ggTM2+kdeGPLNTSkNZ0zSbjWEm0kerDezMjj/RoGuLvZl/L758w==} engines: {node: 14.* || 16.* || >= 18} peerDependencies: '@ember/string': ^3.0.1 - ember-source: ^4.8.3 || >= 5.0.0 + ember-source: ^4.8.3 peerDependenciesMeta: ember-source: optional: true dependencies: '@ember/string': 3.1.1 ember-cli-babel: 7.26.11 - ember-source: 4.12.1(@babel/core@7.22.5)(@glimmer/component@1.1.2)(webpack@5.88.0) + ember-source: 4.12.0(@babel/core@7.22.9)(@glimmer/component@1.1.2)(webpack@5.86.0) transitivePeerDependencies: - supports-color dev: true @@ -6100,13 +6429,13 @@ packages: resolution: {integrity: sha512-89oVHVJwmLDvGvAUWgS87KpBoRhy3aZ6U0Ql6HOmU4TrPkyaa8pM0W81wj9cIwjYprcQtN9EwzZMHnq46+oUyw==} engines: {node: 8.* || 10.* || >= 12} dependencies: - '@babel/parser': 7.22.5 - '@babel/traverse': 7.22.5 + '@babel/parser': 7.22.7 + '@babel/traverse': 7.22.8 recast: 0.18.10 transitivePeerDependencies: - supports-color - /ember-sinon-qunit@7.1.4(ember-source@4.12.1)(qunit@2.19.4)(sinon@15.2.0)(webpack@5.88.0): + /ember-sinon-qunit@7.1.4(ember-source@4.12.0)(qunit@2.19.4)(sinon@15.1.2)(webpack@5.86.0): resolution: {integrity: sha512-aV9jOaLR5W4sFsx0hVqHVVdPt/TxY537YeuwMNyeOgxWYmLLFek7Jo4KMs/m442OsFlP0uCT52r7YOeBXBuEiA==} engines: {node: 14.* || 16.* || >= 18} peerDependencies: @@ -6114,14 +6443,14 @@ packages: qunit: ^2.0.0 sinon: ^15.0.2 dependencies: - '@types/sinon': 10.0.15 + '@types/sinon': 10.0.16 broccoli-funnel: 3.0.8 - ember-auto-import: 2.6.3(webpack@5.88.0) + ember-auto-import: 2.6.3(webpack@5.86.0) ember-cli-babel: 7.26.11 ember-cli-typescript: 5.2.1 - ember-source: 4.12.1(@babel/core@7.22.5)(@glimmer/component@1.1.2)(webpack@5.88.0) + ember-source: 4.12.0(@babel/core@7.22.9)(@glimmer/component@1.1.2)(webpack@5.86.0) qunit: 2.19.4 - sinon: 15.2.0 + sinon: 15.1.2 transitivePeerDependencies: - '@glint/template' - supports-color @@ -6133,23 +6462,63 @@ packages: engines: {node: 10.* || 12.* || >= 14} hasBin: true dependencies: - node-fetch: 2.6.11 + node-fetch: 2.6.12 transitivePeerDependencies: - encoding dev: true - /ember-source@4.12.1(@babel/core@7.22.5)(@glimmer/component@1.1.2)(webpack@5.88.0): - resolution: {integrity: sha512-F7BEr+To7WbBLyFb9rMmi6SrzctRFVl69uQ6BiIzmaMaYBUuxCsTwvS1RoEhPLQbeVqjGk3soyjJD93jq0+prg==} + /ember-source@4.12.0(@babel/core@7.17.0)(@glimmer/component@1.1.2)(webpack@5.86.0): + resolution: {integrity: sha512-h0lV902A4Mny2eiqXPy15uXXoCc7BnUegE4axLAy4IoxEkJ1o5h0aLJFiB4Tzb1htx8vgHjJz//Y5Jig7NSDTw==} + engines: {node: '>= 14.*'} + peerDependencies: + '@glimmer/component': ^1.1.2 + dependencies: + '@babel/helper-module-imports': 7.22.5 + '@babel/plugin-transform-block-scoping': 7.22.5(@babel/core@7.17.0) + '@ember/edition-utils': 1.2.0 + '@glimmer/component': 1.1.2(@babel/core@7.17.0) + '@glimmer/vm-babel-plugins': 0.84.2(@babel/core@7.17.0) + babel-plugin-debug-macros: 0.3.4(@babel/core@7.17.0) + babel-plugin-filter-imports: 4.0.0 + broccoli-concat: 4.2.5 + broccoli-debug: 0.6.5 + broccoli-file-creator: 2.1.1 + broccoli-funnel: 3.0.8 + broccoli-merge-trees: 4.2.0 + chalk: 4.1.2 + ember-auto-import: 2.6.3(webpack@5.86.0) + ember-cli-babel: 7.26.11 + ember-cli-get-component-path-option: 1.0.0 + ember-cli-is-package-missing: 1.0.0 + ember-cli-normalize-entity-name: 1.0.0 + ember-cli-path-utils: 1.0.0 + ember-cli-string-utils: 1.1.0 + ember-cli-typescript-blueprint-polyfill: 0.1.0 + ember-cli-version-checker: 5.1.2 + ember-router-generator: 2.0.0 + inflection: 1.13.4 + resolve: 1.22.2 + semver: 7.5.4 + silent-error: 1.1.1 + transitivePeerDependencies: + - '@babel/core' + - '@glint/template' + - supports-color + - webpack + dev: false + + /ember-source@4.12.0(@babel/core@7.22.9)(@glimmer/component@1.1.2)(webpack@5.86.0): + resolution: {integrity: sha512-h0lV902A4Mny2eiqXPy15uXXoCc7BnUegE4axLAy4IoxEkJ1o5h0aLJFiB4Tzb1htx8vgHjJz//Y5Jig7NSDTw==} engines: {node: '>= 14.*'} peerDependencies: '@glimmer/component': ^1.1.2 dependencies: '@babel/helper-module-imports': 7.22.5 - '@babel/plugin-transform-block-scoping': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-block-scoping': 7.22.5(@babel/core@7.22.9) '@ember/edition-utils': 1.2.0 - '@glimmer/component': 1.1.2(@babel/core@7.22.5) - '@glimmer/vm-babel-plugins': 0.84.2(@babel/core@7.22.5) - babel-plugin-debug-macros: 0.3.4(@babel/core@7.22.5) + '@glimmer/component': 1.1.2(@babel/core@7.22.9) + '@glimmer/vm-babel-plugins': 0.84.2(@babel/core@7.22.9) + babel-plugin-debug-macros: 0.3.4(@babel/core@7.22.9) babel-plugin-filter-imports: 4.0.0 broccoli-concat: 4.2.5 broccoli-debug: 0.6.5 @@ -6157,7 +6526,7 @@ packages: broccoli-funnel: 3.0.8 broccoli-merge-trees: 4.2.0 chalk: 4.1.2 - ember-auto-import: 2.6.3(webpack@5.88.0) + ember-auto-import: 2.6.3(webpack@5.86.0) ember-cli-babel: 7.26.11 ember-cli-get-component-path-option: 1.0.0 ember-cli-is-package-missing: 1.0.0 @@ -6169,13 +6538,14 @@ packages: ember-router-generator: 2.0.0 inflection: 1.13.4 resolve: 1.22.2 - semver: 7.5.3 + semver: 7.5.4 silent-error: 1.1.1 transitivePeerDependencies: - '@babel/core' - '@glint/template' - supports-color - webpack + dev: true /ember-template-imports@3.4.2: resolution: {integrity: sha512-OS8TUVG2kQYYwP3netunLVfeijPoOKIs1SvPQRTNOQX4Pu8xGGBEZmrv0U1YTnQn12Eg+p6w/0UdGbUnITjyzw==} @@ -6194,14 +6564,14 @@ packages: - supports-color dev: true - /ember-template-lint@5.11.0: - resolution: {integrity: sha512-uoVz4IAFRyg3JnMTL+SDtZkHPZM6O1qhvvgcb7LD6325W6asjPZGF1YHDyxnssEOnCSVsu1S5bk77tqE5NnyNg==} + /ember-template-lint@5.10.1: + resolution: {integrity: sha512-WZZypF73Bmei7WQYGMcClARkno3Sdvv1piV3R7jrHEud9Yg589oiFUtwEsCJ28Zbjx7gkcXIt24cRZAqtNvdZQ==} engines: {node: ^14.18.0 || ^16.0.0 || >= 18.0.0} hasBin: true dependencies: '@lint-todo/utils': 13.1.0 aria-query: 5.3.0 - chalk: 5.2.0 + chalk: 5.3.0 ci-info: 3.8.0 date-fns: 2.30.0 ember-template-imports: 3.4.2 @@ -6210,7 +6580,7 @@ packages: find-up: 6.3.0 fuse.js: 6.6.2 get-stdin: 9.0.0 - globby: 13.2.0 + globby: 13.2.2 is-glob: 4.0.3 language-tags: 1.0.8 micromatch: 4.0.5 @@ -6259,7 +6629,7 @@ packages: lodash: 4.17.21 package-json: 6.5.0 remote-git-tags: 3.0.0 - semver: 7.5.3 + semver: 7.5.4 transitivePeerDependencies: - encoding dev: true @@ -6312,7 +6682,7 @@ packages: dependencies: '@types/cookie': 0.4.1 '@types/cors': 2.8.13 - '@types/node': 20.3.2 + '@types/node': 20.4.5 accepts: 1.3.8 base64id: 2.0.0 cookie: 0.4.2 @@ -6352,6 +6722,7 @@ packages: /errlop@2.2.0: resolution: {integrity: sha512-e64Qj9+4aZzjzzFpZC7p5kmm/ccCrbLhAJplhsDXQFs87XTsXwOpH4s1Io2s90Tau/8r2j9f4l/thhDevRjzxw==} engines: {node: '>=0.8'} + dev: true /error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} @@ -6365,11 +6736,12 @@ packages: string-template: 0.2.1 dev: true - /es-abstract@1.21.2: - resolution: {integrity: sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==} + /es-abstract@1.22.1: + resolution: {integrity: sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==} engines: {node: '>= 0.4'} dependencies: array-buffer-byte-length: 1.0.0 + arraybuffer.prototype.slice: 1.0.1 available-typed-arrays: 1.0.5 call-bind: 1.0.2 es-set-tostringtag: 2.0.1 @@ -6390,19 +6762,23 @@ packages: is-regex: 1.1.4 is-shared-array-buffer: 1.0.2 is-string: 1.0.7 - is-typed-array: 1.1.10 + is-typed-array: 1.1.12 is-weakref: 1.0.2 object-inspect: 1.12.3 object-keys: 1.1.1 object.assign: 4.1.4 regexp.prototype.flags: 1.5.0 + safe-array-concat: 1.0.0 safe-regex-test: 1.0.0 string.prototype.trim: 1.2.7 string.prototype.trimend: 1.0.6 string.prototype.trimstart: 1.0.6 + typed-array-buffer: 1.0.0 + typed-array-byte-length: 1.0.0 + typed-array-byte-offset: 1.0.0 typed-array-length: 1.0.4 unbox-primitive: 1.0.2 - which-typed-array: 1.1.9 + which-typed-array: 1.1.11 /es-module-lexer@1.3.0: resolution: {integrity: sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==} @@ -6444,34 +6820,33 @@ packages: engines: {node: '>=10'} dev: true - /escodegen@2.0.0: - resolution: {integrity: sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==} + /escodegen@2.1.0: + resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} engines: {node: '>=6.0'} hasBin: true dependencies: esprima: 4.0.1 estraverse: 5.3.0 esutils: 2.0.3 - optionator: 0.8.3 optionalDependencies: source-map: 0.6.1 dev: true - /eslint-config-prettier@8.8.0(eslint@8.43.0): + /eslint-config-prettier@8.8.0(eslint@8.42.0): resolution: {integrity: sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.43.0 + eslint: 8.42.0 dev: true /eslint-formatter-kakoune@1.0.0: resolution: {integrity: sha512-Uk/TVLt6Nf6Xoz7C1iYuZjOSdJxe5aaauGRke8JhKeJwD66Y61/pY2FjtLP04Ooq9PwV34bzrkKkU2UZ5FtDRA==} dev: true - /eslint-plugin-ember@11.9.0(eslint@8.43.0): - resolution: {integrity: sha512-kpsvbdQOFw9ikzwmhxR8mmsAXtwwj+DPMGn1NOHAHJOnhTkyioKEiNO6tQK/b33VtQy1VpJP6zFu+Bt6m/cYxA==} + /eslint-plugin-ember@11.8.0(eslint@8.42.0): + resolution: {integrity: sha512-oZ6My7LlbyhNCguHuyBnajGbpU5+raQ5zkaF9Vqe8EkWf3Ji2uJZH7BxzMMcR4gAuyx5qTUZRXVs42km1nTzVg==} engines: {node: 14.* || 16.* || >= 18} peerDependencies: eslint: '>= 7' @@ -6481,48 +6856,47 @@ packages: css-tree: 2.3.1 ember-rfc176-data: 0.3.18 ember-template-imports: 3.4.2 - ember-template-recast: 6.1.4 - eslint: 8.43.0 - eslint-utils: 3.0.0(eslint@8.43.0) + eslint: 8.42.0 + eslint-utils: 3.0.0(eslint@8.42.0) estraverse: 5.3.0 lodash.camelcase: 4.3.0 lodash.kebabcase: 4.1.1 - magic-string: 0.30.0 + magic-string: 0.30.2 requireindex: 1.2.0 snake-case: 3.0.4 transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-es-x@7.1.0(eslint@8.43.0): - resolution: {integrity: sha512-AhiaF31syh4CCQ+C5ccJA0VG6+kJK8+5mXKKE7Qs1xcPRg02CDPOj3mWlQxuWS/AYtg7kxrDNgW9YW3vc0Q+Mw==} + /eslint-plugin-es-x@6.2.1(eslint@8.42.0): + resolution: {integrity: sha512-uR34zUhZ9EBoiSD2DdV5kHLpydVEvwWqjteUr9sXRgJknwbKZJZhdJ7uFnaTtd+Nr/2G3ceJHnHXrFhJ67n3Tw==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: eslint: '>=8' dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.43.0) - '@eslint-community/regexpp': 4.5.1 - eslint: 8.43.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.42.0) + '@eslint-community/regexpp': 4.6.2 + eslint: 8.42.0 dev: true - /eslint-plugin-n@16.0.1(eslint@8.43.0): - resolution: {integrity: sha512-CDmHegJN0OF3L5cz5tATH84RPQm9kG+Yx39wIqIwPR2C0uhBGMWfbbOtetR83PQjjidA5aXMu+LEFw1jaSwvTA==} + /eslint-plugin-n@16.0.0(eslint@8.42.0): + resolution: {integrity: sha512-akkZTE3hsHBrq6CwmGuYCzQREbVUrA855kzcHqe6i0FLBkeY7Y/6tThCVkjUnjhvRBAlc+8lILcSe5QvvDpeZQ==} engines: {node: '>=16.0.0'} peerDependencies: eslint: '>=7.0.0' dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.43.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.42.0) builtins: 5.0.1 - eslint: 8.43.0 - eslint-plugin-es-x: 7.1.0(eslint@8.43.0) + eslint: 8.42.0 + eslint-plugin-es-x: 6.2.1(eslint@8.42.0) ignore: 5.2.4 is-core-module: 2.12.1 minimatch: 3.1.2 resolve: 1.22.2 - semver: 7.5.3 + semver: 7.5.4 dev: true - /eslint-plugin-prettier@4.2.1(eslint-config-prettier@8.8.0)(eslint@8.43.0)(prettier@2.8.8): + /eslint-plugin-prettier@4.2.1(eslint-config-prettier@8.8.0)(eslint@8.42.0)(prettier@2.8.8): resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} engines: {node: '>=12.0.0'} peerDependencies: @@ -6533,17 +6907,17 @@ packages: eslint-config-prettier: optional: true dependencies: - eslint: 8.43.0 - eslint-config-prettier: 8.8.0(eslint@8.43.0) + eslint: 8.42.0 + eslint-config-prettier: 8.8.0(eslint@8.42.0) prettier: 2.8.8 prettier-linter-helpers: 1.0.0 dev: true - /eslint-plugin-qunit@7.3.4(eslint@8.43.0): + /eslint-plugin-qunit@7.3.4(eslint@8.42.0): resolution: {integrity: sha512-EbDM0zJerH9zVdUswMJpcFF7wrrpvsGuYfNexUpa5hZkkdFhaFcX+yD+RSK4Nrauw4psMGlcqeWUMhaVo+Manw==} engines: {node: 12.x || 14.x || >=16.0.0} dependencies: - eslint-utils: 3.0.0(eslint@8.43.0) + eslint-utils: 3.0.0(eslint@8.42.0) requireindex: 1.2.0 transitivePeerDependencies: - eslint @@ -6556,21 +6930,21 @@ packages: esrecurse: 4.3.0 estraverse: 4.3.0 - /eslint-scope@7.2.0: - resolution: {integrity: sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==} + /eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 dev: true - /eslint-utils@3.0.0(eslint@8.43.0): + /eslint-utils@3.0.0(eslint@8.42.0): resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} peerDependencies: eslint: '>=5' dependencies: - eslint: 8.43.0 + eslint: 8.42.0 eslint-visitor-keys: 2.1.0 dev: true @@ -6579,20 +6953,20 @@ packages: engines: {node: '>=10'} dev: true - /eslint-visitor-keys@3.4.1: - resolution: {integrity: sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==} + /eslint-visitor-keys@3.4.2: + resolution: {integrity: sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint@8.43.0: - resolution: {integrity: sha512-aaCpf2JqqKesMFGgmRPessmVKjcGXqdlAYLLC3THM8t5nBRZRQ+st5WM/hoJXkdioEXLLbXgclUpM0TXo5HX5Q==} + /eslint@8.42.0: + resolution: {integrity: sha512-ulg9Ms6E1WPf67PHaEY4/6E2tEn5/f7FXGzr3t9cBMugOmf1INYvuUwwh1aXQN4MfJ6a5K2iNwP3w4AColvI9A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.43.0) - '@eslint-community/regexpp': 4.5.1 - '@eslint/eslintrc': 2.0.3 - '@eslint/js': 8.43.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.42.0) + '@eslint-community/regexpp': 4.6.2 + '@eslint/eslintrc': 2.1.1 + '@eslint/js': 8.42.0 '@humanwhocodes/config-array': 0.11.10 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 @@ -6602,9 +6976,9 @@ packages: debug: 4.3.4 doctrine: 3.0.0 escape-string-regexp: 4.0.0 - eslint-scope: 7.2.0 - eslint-visitor-keys: 3.4.1 - espree: 9.5.2 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.2 + espree: 9.6.1 esquery: 1.5.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 @@ -6637,13 +7011,13 @@ packages: engines: {node: '>=6'} dev: true - /espree@9.5.2: - resolution: {integrity: sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==} + /espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - acorn: 8.9.0 - acorn-jsx: 5.3.2(acorn@8.9.0) - eslint-visitor-keys: 3.4.1 + acorn: 8.10.0 + acorn-jsx: 5.3.2(acorn@8.10.0) + eslint-visitor-keys: 3.4.2 dev: true /esprima@3.0.0: @@ -6886,8 +7260,8 @@ packages: resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} dev: true - /fast-glob@3.2.12: - resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} + /fast-glob@3.3.1: + resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 @@ -6925,8 +7299,8 @@ packages: - supports-color dev: true - /fast-sourcemap-concat@2.1.0: - resolution: {integrity: sha512-L9uADEnnHOeF4U5Kc3gzEs3oFpNCFkiTJXvT+nKmR0zcFqHZJJbszWT7dv4t9558FJRGpCj8UxUpTgz2zwiIZA==} + /fast-sourcemap-concat@2.1.1: + resolution: {integrity: sha512-7h9/x25c6AQwdU3mA8MZDUMR3UCy50f237egBrBkuwjnUZSmfu4ptCf91PZSKzON2Uh5VvIHozYKWcPPgcjxIw==} engines: {node: 10.* || >= 12.*} dependencies: chalk: 2.4.2 @@ -6936,7 +7310,6 @@ packages: mkdirp: 0.5.6 source-map: 0.4.4 source-map-url: 0.3.0 - sourcemap-validator: 1.1.1 transitivePeerDependencies: - supports-color @@ -7025,8 +7398,8 @@ packages: flat-cache: 3.0.4 dev: true - /filesize@10.0.7: - resolution: {integrity: sha512-iMRG7Qo9nayLoU3PNCiLizYtsy4W1ClrapeCwEgtiQelOAOuRJiw4QaLI+sSr8xr901dgHv+EYP2bCusGZgoiA==} + /filesize@10.0.8: + resolution: {integrity: sha512-/ylBrxZ1GAjgh2CEemKKLwTtmXfWqTtN1jRl6iqLwnMEucUX5cmaCCUPGstQOHVCcK9uYL6o1cPNakLQU2sasQ==} engines: {node: '>= 10.4.0'} dev: true @@ -7405,7 +7778,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.2.0 - es-abstract: 1.21.2 + es-abstract: 1.22.1 functions-have-names: 1.2.3 /functions-have-names@1.2.3: @@ -7550,7 +7923,7 @@ packages: fs.realpath: 1.0.0 minimatch: 8.0.4 minipass: 4.2.8 - path-scurry: 1.10.0 + path-scurry: 1.10.1 dev: true /global-modules@1.0.0: @@ -7617,7 +7990,7 @@ packages: '@types/glob': 7.2.0 array-union: 2.1.0 dir-glob: 3.0.1 - fast-glob: 3.2.12 + fast-glob: 3.3.1 glob: 7.2.3 ignore: 5.2.4 merge2: 1.4.1 @@ -7631,7 +8004,7 @@ packages: '@types/glob': 7.2.0 array-union: 2.1.0 dir-glob: 3.0.1 - fast-glob: 3.2.12 + fast-glob: 3.3.1 glob: 7.2.3 ignore: 5.2.4 merge2: 1.4.1 @@ -7645,7 +8018,7 @@ packages: '@types/glob': 7.2.0 array-union: 2.1.0 dir-glob: 3.0.1 - fast-glob: 3.2.12 + fast-glob: 3.3.1 glob: 7.2.3 ignore: 5.2.4 merge2: 1.4.1 @@ -7658,18 +8031,18 @@ packages: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 - fast-glob: 3.2.12 + fast-glob: 3.3.1 ignore: 5.2.4 merge2: 1.4.1 slash: 3.0.0 dev: true - /globby@13.2.0: - resolution: {integrity: sha512-jWsQfayf13NvqKUIL3Ta+CIqMnvlaIDFveWE/dpOZ9+3AMEJozsxDvKA02zync9UuvOM8rOXzsD5GqKP4OnWPQ==} + /globby@13.2.2: + resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: dir-glob: 3.0.1 - fast-glob: 3.2.12 + fast-glob: 3.3.1 ignore: 5.2.4 merge2: 1.4.1 slash: 4.0.0 @@ -8010,13 +8383,13 @@ packages: safer-buffer: 2.1.2 dev: true - /icss-utils@5.1.0(postcss@8.4.24): + /icss-utils@5.1.0(postcss@8.4.27): resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.24 + postcss: 8.4.27 /ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} @@ -8027,8 +8400,8 @@ packages: engines: {node: '>= 4'} dev: true - /immutable@4.3.0: - resolution: {integrity: sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==} + /immutable@4.3.1: + resolution: {integrity: sha512-lj9cnmB/kVS0QHsJnYKD1uo3o39nrbKxszjnqS9Fr6NB7bZzW45U6WSGBPKXDL/CvDKqDNPA4r3DoDQ8GTxo2A==} dev: true /import-fresh@3.3.0: @@ -8191,7 +8564,7 @@ packages: dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.1 - is-typed-array: 1.1.10 + is-typed-array: 1.1.12 /is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} @@ -8320,7 +8693,7 @@ packages: /is-language-code@3.1.0: resolution: {integrity: sha512-zJdQ3QTeLye+iphMeK3wks+vXSRFKh68/Pnlw7aOfApFSEIOhYa8P9vwwa6QrImNNBMJTiL1PpYF0f4BxDuEgA==} dependencies: - '@babel/runtime': 7.22.5 + '@babel/runtime': 7.17.0 dev: true /is-negative-zero@2.0.2: @@ -8436,15 +8809,11 @@ packages: core-util-is: 1.0.3 dev: true - /is-typed-array@1.1.10: - resolution: {integrity: sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==} + /is-typed-array@1.1.12: + resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} engines: {node: '>= 0.4'} dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 - for-each: 0.3.3 - gopd: 1.0.1 - has-tostringtag: 1.0.0 + which-typed-array: 1.1.11 /is-typedarray@1.0.0: resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} @@ -8478,6 +8847,9 @@ packages: /isarray@1.0.0: resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + /isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + /isbinaryfile@5.0.0: resolution: {integrity: sha512-UDdnyGvMajJUWCkib7Cei/dvyJrrvo4FIrsvSFWdPpXSUorzXrDJ0S+X5Q4ZlasfPjca4yqCNNsjbCeiy8FFeg==} engines: {node: '>= 14.0.0'} @@ -8512,12 +8884,13 @@ packages: binaryextensions: 2.3.0 editions: 2.3.1 textextensions: 2.6.0 + dev: true /jest-worker@27.5.1: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.3.2 + '@types/node': 20.4.5 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -8557,20 +8930,20 @@ packages: optional: true dependencies: abab: 2.0.6 - acorn: 8.9.0 + acorn: 8.10.0 acorn-globals: 6.0.0 cssom: 0.4.4 cssstyle: 2.3.0 data-urls: 2.0.0 decimal.js: 10.4.3 domexception: 2.0.1 - escodegen: 2.0.0 + escodegen: 2.1.0 form-data: 3.0.1 html-encoding-sniffer: 2.0.1 http-proxy-agent: 4.0.1 https-proxy-agent: 5.0.1 is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.5 + nwsapi: 2.2.7 parse5: 6.0.1 saxes: 5.0.1 symbol-tree: 3.2.4 @@ -8599,20 +8972,20 @@ packages: optional: true dependencies: abab: 2.0.6 - acorn: 8.9.0 + acorn: 8.10.0 acorn-globals: 6.0.0 cssom: 0.5.0 cssstyle: 2.3.0 data-urls: 3.0.2 decimal.js: 10.4.3 domexception: 4.0.0 - escodegen: 2.0.0 + escodegen: 2.1.0 form-data: 4.0.0 html-encoding-sniffer: 3.0.0 http-proxy-agent: 5.0.0 https-proxy-agent: 5.0.1 is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.5 + nwsapi: 2.2.7 parse5: 6.0.1 saxes: 5.0.1 symbol-tree: 3.2.4 @@ -8650,7 +9023,7 @@ packages: http-proxy-agent: 5.0.0 https-proxy-agent: 5.0.1 is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.5 + nwsapi: 2.2.7 parse5: 7.1.2 rrweb-cssom: 0.6.0 saxes: 6.0.0 @@ -8672,6 +9045,7 @@ packages: /jsesc@0.3.0: resolution: {integrity: sha512-UHQmAeTXV+iwEk0aHheJRqo6Or90eDxI6KIYpHSjKLXKuKlPt1CQ7tGBerFcFA8uKU5mYxiPMlckmFptd5XZzA==} hasBin: true + dev: true /jsesc@0.5.0: resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} @@ -8799,14 +9173,6 @@ packages: - supports-color dev: true - /levn@0.3.0: - resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} - engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.1.2 - type-check: 0.3.2 - dev: true - /levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} @@ -8831,28 +9197,6 @@ packages: uc.micro: 1.0.6 dev: true - /liquid-fire@0.35.1(ember-source@4.12.1): - resolution: {integrity: sha512-F36LoR9AuL1kGiVszZoA+4quXABizk6ZVTp1/Ti556Y7BjEbE12k16ySAJE+bAuqJiI847DGclRmIrRAuAR2zw==} - engines: {node: 12.* || 14.* || >= 16} - peerDependencies: - ember-source: '>= 3.8.0' - dependencies: - '@embroider/macros': 1.11.1 - broccoli-funnel: 3.0.8 - broccoli-merge-trees: 4.2.0 - broccoli-stew: 3.0.0 - broccoli-string-replace: 0.1.2 - ember-cli-babel: 7.26.11 - ember-cli-htmlbars: 6.2.0 - ember-cli-version-checker: 5.1.2 - ember-source: 4.12.1(@babel/core@7.22.5)(@glimmer/component@1.1.2)(webpack@5.88.0) - match-media: 0.2.0 - velocity-animate: 1.5.2 - transitivePeerDependencies: - - '@glint/template' - - supports-color - dev: false - /livereload-js@3.4.1: resolution: {integrity: sha512-5MP0uUeVCec89ZbNOT/i97Mc+q3SxXmiUGhRFOTmhrGPn//uWVQdCvcLJDy64MSBR5MidFdOR7B9viumoavy6g==} dev: true @@ -8951,6 +9295,7 @@ packages: /lodash._reinterpolate@3.0.0: resolution: {integrity: sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==} + dev: true /lodash.assign@3.2.0: resolution: {integrity: sha512-/VVxzgGBmbphasTg51FrztxQJ/VgAUpol6zmJuSVSGcNg4g7FA4z7rQV8Ovr9V3vFBNWZhvKWHfpAytjTVUfFA==} @@ -9002,6 +9347,7 @@ packages: /lodash.foreach@4.5.0: resolution: {integrity: sha512-aEXTF4d+m05rVOAUG3z4vZZ4xVexLKZGF0lIxuHZ1Hplpk/3B6Z1+/ICICYRLm7c41Z2xiejbkCkJoTlypoXhQ==} + dev: true /lodash.get@4.4.2: resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} @@ -9046,11 +9392,13 @@ packages: dependencies: lodash._reinterpolate: 3.0.0 lodash.templatesettings: 4.2.0 + dev: true /lodash.templatesettings@4.2.0: resolution: {integrity: sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==} dependencies: lodash._reinterpolate: 3.0.0 + dev: true /lodash.truncate@4.4.2: resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==} @@ -9084,7 +9432,7 @@ packages: /lower-case@2.0.2: resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} dependencies: - tslib: 2.6.0 + tslib: 2.6.1 dev: true /lowercase-keys@1.0.1: @@ -9129,8 +9477,8 @@ packages: dependencies: sourcemap-codec: 1.4.8 - /magic-string@0.30.0: - resolution: {integrity: sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==} + /magic-string@0.30.2: + resolution: {integrity: sha512-lNZdu7pewtq/ZvWUp9Wpf/x7WzMTsR26TWV03BRZrXFsv+BI6dy8RAiKgm1uM/kyR0rCfUcqvOlXKG66KhIGug==} engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 @@ -9140,7 +9488,7 @@ packages: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} dependencies: - semver: 6.3.0 + semver: 6.3.1 /makeerror@1.0.12: resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} @@ -9200,10 +9548,6 @@ packages: uc.micro: 1.0.6 dev: true - /match-media@0.2.0: - resolution: {integrity: sha512-EoLj8yVf95UNcZMbNJBlAA3E6XLzgMI6ZbnL90WnL2YCzOO4Nza1Ol6TH9ElbuUcDWxN7KxgVM2vYI6P5JqvKg==} - dev: false - /matcher-collection@1.1.2: resolution: {integrity: sha512-YQ/teqaOIIfUHedRam08PB3NK7Mjct6BvzRnJmpGDm8uFXpNr1sbY4yuflI5JcEs6COpYA0FpRQhSDBf1tT95g==} dependencies: @@ -9374,14 +9718,14 @@ packages: engines: {node: '>=4'} dev: true - /mini-css-extract-plugin@2.7.6(webpack@5.88.0): + /mini-css-extract-plugin@2.7.6(webpack@5.86.0): resolution: {integrity: sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==} engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^5.0.0 dependencies: schema-utils: 4.2.0 - webpack: 5.88.0 + webpack: 5.86.0 /minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} @@ -9437,8 +9781,8 @@ packages: engines: {node: '>=8'} dev: true - /minipass@6.0.2: - resolution: {integrity: sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==} + /minipass@7.0.2: + resolution: {integrity: sha512-eL79dXrE1q9dBbDCLg7xfn/vl7MS4F1gvJAgjJrQli/jbQWdUttuVawphqpffoIYfRdq78LHx6GP4bU/EQ2ATA==} engines: {node: '>=16 || 14 >=14.17'} dev: true @@ -9570,11 +9914,11 @@ packages: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} dependencies: lower-case: 2.0.2 - tslib: 2.6.0 + tslib: 2.6.1 dev: true - /node-fetch@2.6.11: - resolution: {integrity: sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==} + /node-fetch@2.6.12: + resolution: {integrity: sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==} engines: {node: 4.x || >=6.0.0} peerDependencies: encoding: ^0.1.0 @@ -9598,14 +9942,14 @@ packages: dependencies: growly: 1.3.0 is-wsl: 2.2.0 - semver: 7.5.3 + semver: 7.5.4 shellwords: 0.1.1 uuid: 8.3.2 which: 2.0.2 dev: true - /node-releases@2.0.12: - resolution: {integrity: sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==} + /node-releases@2.0.13: + resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} /node-watch@0.7.3: resolution: {integrity: sha512-3l4E8uMPY1HdMMryPRUAl+oIHtXtyiTlIiESNSVSNxcPfzAFzeTbXFQkZfAwBbo0B1qMSG8nUABx+Gd+YrbKrQ==} @@ -9624,7 +9968,7 @@ packages: dependencies: hosted-git-info: 2.8.9 resolve: 1.22.2 - semver: 5.7.1 + semver: 5.7.2 validate-npm-package-license: 3.0.4 dev: true @@ -9634,7 +9978,7 @@ packages: dependencies: hosted-git-info: 4.1.0 is-core-module: 2.12.1 - semver: 7.5.3 + semver: 7.5.4 validate-npm-package-license: 3.0.4 dev: true @@ -9665,7 +10009,7 @@ packages: dependencies: hosted-git-info: 6.1.1 proc-log: 3.0.0 - semver: 7.5.3 + semver: 7.5.4 validate-npm-package-name: 5.0.0 dev: true @@ -9699,8 +10043,8 @@ packages: set-blocking: 2.0.0 dev: true - /nwsapi@2.2.5: - resolution: {integrity: sha512-6xpotnECFy/og7tKSBVmUNft7J3jyXAka4XvG6AUhFWRz+Q/Ljus7znJAA3bxColfQLdS+XsjoodtJfCgeTEFQ==} + /nwsapi@2.2.7: + resolution: {integrity: sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==} dev: true /object-assign@4.1.1: @@ -9787,23 +10131,11 @@ packages: dependencies: mimic-fn: 2.1.0 - /optionator@0.8.3: - resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} - engines: {node: '>= 0.8.0'} - dependencies: - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.3.0 - prelude-ls: 1.1.2 - type-check: 0.3.2 - word-wrap: 1.2.3 - dev: true - /optionator@0.9.3: resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} engines: {node: '>= 0.8.0'} dependencies: - '@aashutoshrathi/word-wrap': 1.2.5 + '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 fast-levenshtein: 2.0.6 levn: 0.4.1 @@ -9971,7 +10303,7 @@ packages: got: 9.6.0 registry-auth-token: 4.2.2 registry-url: 5.1.0 - semver: 6.3.0 + semver: 6.3.1 dev: true /parent-module@1.0.1: @@ -10065,12 +10397,12 @@ packages: dependencies: path-root-regex: 0.1.2 - /path-scurry@1.10.0: - resolution: {integrity: sha512-tZFEaRQbMLjwrsmidsGJ6wDMv0iazJWk6SfIKnY4Xru8auXgmJkOBa5DUbYFcFD2Rzk2+KDlIiF0GVXNCbgC7g==} + /path-scurry@1.10.1: + resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} engines: {node: '>=16 || 14 >=14.17'} dependencies: lru-cache: 10.0.0 - minipass: 6.0.2 + minipass: 7.0.2 dev: true /path-to-regexp@0.1.7: @@ -10152,54 +10484,54 @@ packages: resolution: {integrity: sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==} dev: true - /postcss-modules-extract-imports@3.0.0(postcss@8.4.24): + /postcss-modules-extract-imports@3.0.0(postcss@8.4.27): resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.24 + postcss: 8.4.27 - /postcss-modules-local-by-default@4.0.3(postcss@8.4.24): + /postcss-modules-local-by-default@4.0.3(postcss@8.4.27): resolution: {integrity: sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.24) - postcss: 8.4.24 + icss-utils: 5.1.0(postcss@8.4.27) + postcss: 8.4.27 postcss-selector-parser: 6.0.13 postcss-value-parser: 4.2.0 - /postcss-modules-scope@3.0.0(postcss@8.4.24): + /postcss-modules-scope@3.0.0(postcss@8.4.27): resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.24 + postcss: 8.4.27 postcss-selector-parser: 6.0.13 - /postcss-modules-values@4.0.0(postcss@8.4.24): + /postcss-modules-values@4.0.0(postcss@8.4.27): resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.24) - postcss: 8.4.24 + icss-utils: 5.1.0(postcss@8.4.27) + postcss: 8.4.27 /postcss-resolve-nested-selector@0.1.1: resolution: {integrity: sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==} dev: true - /postcss-safe-parser@6.0.0(postcss@8.4.24): + /postcss-safe-parser@6.0.0(postcss@8.4.27): resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.3.3 dependencies: - postcss: 8.4.24 + postcss: 8.4.27 dev: true /postcss-selector-parser@6.0.13: @@ -10212,19 +10544,14 @@ packages: /postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - /postcss@8.4.24: - resolution: {integrity: sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==} + /postcss@8.4.27: + resolution: {integrity: sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.6 picocolors: 1.0.0 source-map-js: 1.0.2 - /prelude-ls@1.1.2: - resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} - engines: {node: '>= 0.8.0'} - dev: true - /prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -10527,7 +10854,7 @@ packages: /regenerator-transform@0.15.1: resolution: {integrity: sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==} dependencies: - '@babel/runtime': 7.22.5 + '@babel/runtime': 7.17.0 /regex-not@1.0.2: resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} @@ -10588,9 +10915,9 @@ packages: /remove-types@1.0.0: resolution: {integrity: sha512-G7Hk1Q+UJ5DvlNAoJZObxANkBZGiGdp589rVcTW/tYqJWJ5rwfraSnKSQaETN8Epaytw8J40nS/zC7bcHGv36w==} dependencies: - '@babel/core': 7.22.5 - '@babel/plugin-syntax-decorators': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-typescript': 7.22.5(@babel/core@7.22.5) + '@babel/core': 7.17.0 + '@babel/plugin-syntax-decorators': 7.22.5(@babel/core@7.17.0) + '@babel/plugin-transform-typescript': 7.22.9(@babel/core@7.17.0) prettier: 2.8.8 transitivePeerDependencies: - supports-color @@ -10764,13 +11091,13 @@ packages: dependencies: glob: 7.2.3 - /rollup-plugin-copy-assets@2.0.3(rollup@3.25.3): + /rollup-plugin-copy-assets@2.0.3(rollup@3.21.8): resolution: {integrity: sha512-ETShhQGb9SoiwcNrvb3BhUNSGR89Jao0+XxxfzzLW1YsUzx8+rMO4z9oqWWmo6OHUmfNQRvqRj0cAyPkS9lN9w==} peerDependencies: rollup: '>=1.1.2' dependencies: fs-extra: 7.0.1 - rollup: 3.25.3 + rollup: 3.21.8 dev: true /rollup-plugin-copy@3.4.0: @@ -10822,8 +11149,8 @@ packages: fsevents: 2.3.2 dev: true - /rollup@3.25.3: - resolution: {integrity: sha512-ZT279hx8gszBj9uy5FfhoG4bZx8c+0A1sbqtr7Q3KNWIizpTdDEPZbV2xcbvHsnFp4MavCQYZyzApJ+virB8Yw==} + /rollup@3.21.8: + resolution: {integrity: sha512-SSFV2T2fWtQ/vvBip85u2Nr0GNKireabH9d7nXswBg+XSH+jbVDSYptRAEbCEsquhs503rpPA9POYAp0/Jhasw==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: @@ -10866,9 +11193,18 @@ packages: /rxjs@7.8.1: resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} dependencies: - tslib: 2.6.0 + tslib: 2.6.1 dev: true + /safe-array-concat@1.0.0: + resolution: {integrity: sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==} + engines: {node: '>=0.4'} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.1 + has-symbols: 1.0.3 + isarray: 2.0.5 + /safe-buffer@5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} dev: true @@ -10937,13 +11273,13 @@ packages: walker: 1.0.8 dev: true - /sass@1.63.6: - resolution: {integrity: sha512-MJuxGMHzaOW7ipp+1KdELtqKbfAWbH7OLIdoSMnVe3EXPMTmxTmlaZDCTsgIpPCs3w99lLo9/zDKkOrJuT5byw==} + /sass@1.63.3: + resolution: {integrity: sha512-ySdXN+DVpfwq49jG1+hmtDslYqpS7SkOR5GpF6o2bmb1RL/xS+wvPmegMvMywyfsmAV6p7TgwXYGrCZIFFbAHg==} engines: {node: '>=14.0.0'} hasBin: true dependencies: chokidar: 3.5.3 - immutable: 4.3.0 + immutable: 4.3.1 source-map-js: 1.0.2 dev: true @@ -10986,16 +11322,16 @@ packages: ajv-formats: 2.1.1(ajv@8.12.0) ajv-keywords: 5.1.0(ajv@8.12.0) - /semver@5.7.1: - resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} + /semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true - /semver@6.3.0: - resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - /semver@7.5.3: - resolution: {integrity: sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==} + /semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} engines: {node: '>=10'} hasBin: true dependencies: @@ -11101,8 +11437,8 @@ packages: /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - /signal-exit@4.0.2: - resolution: {integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==} + /signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} dev: true @@ -11125,10 +11461,9 @@ packages: /simple-html-tokenizer@0.5.11: resolution: {integrity: sha512-C2WEK/Z3HoSFbYq8tI7ni3eOo/NneSPRoPpcM7WdLjFOArFuyXEjAoCdOC3DgMfRyziZQ1hCNR4mrNdWEvD0og==} - dev: true - /sinon@15.2.0: - resolution: {integrity: sha512-nPS85arNqwBXaIsFCkolHjGIkFo+Oxu9vbgmBJizLAhqe6P2o3Qmj3KCUoRkfhHtvgDhZdWD3risLHAUJ8npjw==} + /sinon@15.1.2: + resolution: {integrity: sha512-uG1pU54Fis4EfYOPoEi13fmRHgZNg/u+3aReSEzHsN52Bpf+bMVfsBQS5MjouI+rTuG6UBIINlpuuO2Epr7SiA==} dependencies: '@sinonjs/commons': 3.0.0 '@sinonjs/fake-timers': 10.3.0 @@ -11161,7 +11496,7 @@ packages: resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} dependencies: dot-case: 3.0.4 - tslib: 2.6.0 + tslib: 2.6.1 dev: true /snapdragon-node@2.1.1: @@ -11215,8 +11550,8 @@ packages: - supports-color dev: true - /socket.io@4.7.0: - resolution: {integrity: sha512-eOpu7oCNiPGBHn9Falg0cAGivp6TpDI3Yt596fbsf+vln8kRLFWxXKrecFrybn/xNYVn9HcdJNAkYToCmTjsyg==} + /socket.io@4.7.1: + resolution: {integrity: sha512-W+utHys2w//dhFjy7iQQu9sGd3eokCjGbl2r59tyLqNiJJBdIebn3GAKEXBr3osqHTObJi2die/25bCx2zsaaw==} engines: {node: '>=10.0.0'} dependencies: accepts: 1.3.8 @@ -11283,6 +11618,7 @@ packages: engines: {node: '>=0.8.0'} dependencies: amdefine: 1.0.1 + dev: true /source-map@0.4.4: resolution: {integrity: sha512-Y8nIfcb1s/7DcobUz1yOO1GSp7gyL+D9zLHDehT7iRESqGSxjJ448Sg7rvfgsRJCnKLdSl11uGf0s9X80cH0/A==} @@ -11311,6 +11647,7 @@ packages: lodash.foreach: 4.5.0 lodash.template: 4.5.0 source-map: 0.1.43 + dev: true /spawn-args@0.2.0: resolution: {integrity: sha512-73BoniQDcRWgnLAf/suKH6V5H54gd1KLzwYN9FB6J/evqTV33htH9xwV/4BHek+++jzxpVlZQKKZkqstPQPmQg==} @@ -11417,7 +11754,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.2.0 - es-abstract: 1.21.2 + es-abstract: 1.22.1 get-intrinsic: 1.2.1 has-symbols: 1.0.3 internal-slot: 1.0.5 @@ -11430,21 +11767,21 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.2.0 - es-abstract: 1.21.2 + es-abstract: 1.22.1 /string.prototype.trimend@1.0.6: resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} dependencies: call-bind: 1.0.2 define-properties: 1.2.0 - es-abstract: 1.21.2 + es-abstract: 1.22.1 /string.prototype.trimstart@1.0.6: resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} dependencies: call-bind: 1.0.2 define-properties: 1.2.0 - es-abstract: 1.21.2 + es-abstract: 1.22.1 /string_decoder@0.10.31: resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==} @@ -11514,7 +11851,7 @@ packages: engines: {node: '>=8'} dev: true - /style-loader@2.0.0(webpack@5.88.0): + /style-loader@2.0.0(webpack@5.86.0): resolution: {integrity: sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -11522,7 +11859,7 @@ packages: dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.88.0 + webpack: 5.86.0 /style-search@0.1.0: resolution: {integrity: sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==} @@ -11532,24 +11869,24 @@ packages: resolution: {integrity: sha512-DU2KZiB6VbPkO2tGSqQ9n96ZstUPjW7X4sGO6V2m1myIQluX0p1Ol8BrA/l6/EesqhMqXOIXs3cJNOy1UuU2BA==} dev: true - /stylelint-config-recommended@12.0.0(stylelint@15.9.0): + /stylelint-config-recommended@12.0.0(stylelint@15.7.0): resolution: {integrity: sha512-x6x8QNARrGO2sG6iURkzqL+Dp+4bJorPMMRNPScdvaUK8PsynriOcMW7AFDKqkWAS5wbue/u8fUT/4ynzcmqdQ==} peerDependencies: stylelint: ^15.5.0 dependencies: - stylelint: 15.9.0 + stylelint: 15.7.0 dev: true - /stylelint-config-standard@33.0.0(stylelint@15.9.0): + /stylelint-config-standard@33.0.0(stylelint@15.7.0): resolution: {integrity: sha512-eyxnLWoXImUn77+ODIuW9qXBDNM+ALN68L3wT1lN2oNspZ7D9NVGlNHb2QCUn4xDug6VZLsh0tF8NyoYzkgTzg==} peerDependencies: stylelint: ^15.5.0 dependencies: - stylelint: 15.9.0 - stylelint-config-recommended: 12.0.0(stylelint@15.9.0) + stylelint: 15.7.0 + stylelint-config-recommended: 12.0.0(stylelint@15.7.0) dev: true - /stylelint-prettier@3.0.0(prettier@2.8.8)(stylelint@15.9.0): + /stylelint-prettier@3.0.0(prettier@2.8.8)(stylelint@15.7.0): resolution: {integrity: sha512-kIks1xw6np0zElokMT2kP6ar3S4MBoj6vUtPJuND1pFELMpZxVS/0uHPR4HDAVn0WAD3I5oF0IA3qBFxBpMkLg==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: @@ -11558,25 +11895,25 @@ packages: dependencies: prettier: 2.8.8 prettier-linter-helpers: 1.0.0 - stylelint: 15.9.0 + stylelint: 15.7.0 dev: true - /stylelint@15.9.0: - resolution: {integrity: sha512-sXtAZi64CllWr6A+8ymDWnlIaYwuAa7XRmGnJxLQXFNnLjd3Izm4HAD+loKVaZ7cpK6SLxhAUX1lwPJKGCn0mg==} + /stylelint@15.7.0: + resolution: {integrity: sha512-fQRwHwWuZsDn4ENyE9AsKkOkV9WlD2CmYiVDbdZPdS3iZh0ceypOn1EuwTNuZ8xTrHF+jVeIEzLtFFSlD/nJHg==} engines: {node: ^14.13.1 || >=16.0.0} hasBin: true dependencies: - '@csstools/css-parser-algorithms': 2.2.0(@csstools/css-tokenizer@2.1.1) - '@csstools/css-tokenizer': 2.1.1 - '@csstools/media-query-list-parser': 2.1.1(@csstools/css-parser-algorithms@2.2.0)(@csstools/css-tokenizer@2.1.1) + '@csstools/css-parser-algorithms': 2.3.1(@csstools/css-tokenizer@2.2.0) + '@csstools/css-tokenizer': 2.2.0 + '@csstools/media-query-list-parser': 2.1.3(@csstools/css-parser-algorithms@2.3.1)(@csstools/css-tokenizer@2.2.0) '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.0.13) balanced-match: 2.0.0 colord: 2.9.3 cosmiconfig: 8.2.0 - css-functions-list: 3.1.0 + css-functions-list: 3.2.0 css-tree: 2.3.1 debug: 4.3.4 - fast-glob: 3.2.12 + fast-glob: 3.3.1 fastest-levenshtein: 1.0.16 file-entry-cache: 6.0.1 global-modules: 2.0.0 @@ -11593,10 +11930,10 @@ packages: micromatch: 4.0.5 normalize-path: 3.0.0 picocolors: 1.0.0 - postcss: 8.4.24 + postcss: 8.4.27 postcss-media-query-parser: 0.2.3 postcss-resolve-nested-selector: 0.1.1 - postcss-safe-parser: 6.0.0(postcss@8.4.24) + postcss-safe-parser: 6.0.0(postcss@8.4.27) postcss-selector-parser: 6.0.13 postcss-value-parser: 4.2.0 resolve-from: 5.0.0 @@ -11606,6 +11943,7 @@ packages: supports-hyperlinks: 3.0.0 svg-tags: 1.0.0 table: 6.8.1 + v8-compile-cache: 2.3.0 write-file-atomic: 5.0.1 transitivePeerDependencies: - supports-color @@ -11685,6 +12023,7 @@ packages: username-sync: 1.0.3 transitivePeerDependencies: - supports-color + dev: true /table@6.8.1: resolution: {integrity: sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==} @@ -11718,7 +12057,7 @@ packages: rimraf: 2.6.3 dev: true - /terser-webpack-plugin@5.3.9(webpack@5.88.0): + /terser-webpack-plugin@5.3.9(webpack@5.86.0): resolution: {integrity: sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -11738,16 +12077,16 @@ packages: jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.1 - terser: 5.18.2 - webpack: 5.88.0 + terser: 5.19.2 + webpack: 5.86.0 - /terser@5.18.2: - resolution: {integrity: sha512-Ah19JS86ypbJzTzvUCX7KOsEIhDaRONungA4aYBjEP3JZRf4ocuDzTg4QWZnPn9DEMiMYGJPiSOy7aykoCc70w==} + /terser@5.19.2: + resolution: {integrity: sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==} engines: {node: '>=10'} hasBin: true dependencies: - '@jridgewell/source-map': 0.3.3 - acorn: 8.9.0 + '@jridgewell/source-map': 0.3.5 + acorn: 8.10.0 commander: 2.20.3 source-map-support: 0.5.21 @@ -11756,8 +12095,8 @@ packages: engines: {node: '>= 7.*'} hasBin: true dependencies: - '@xmldom/xmldom': 0.8.8 - backbone: 1.4.1 + '@xmldom/xmldom': 0.8.10 + backbone: 1.5.0 bluebird: 3.7.2 charm: 1.0.2 commander: 2.20.3 @@ -11780,7 +12119,7 @@ packages: npmlog: 6.0.2 printf: 0.6.1 rimraf: 3.0.2 - socket.io: 4.7.0 + socket.io: 4.7.1 spawn-args: 0.2.0 styled_string: 0.0.1 tap-parser: 7.0.0 @@ -12048,15 +12387,8 @@ packages: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} dev: true - /tslib@2.6.0: - resolution: {integrity: sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==} - dev: true - - /type-check@0.3.2: - resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} - engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.1.2 + /tslib@2.6.1: + resolution: {integrity: sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==} dev: true /type-check@0.4.0: @@ -12109,12 +12441,39 @@ packages: mime-types: 2.1.35 dev: true + /typed-array-buffer@1.0.0: + resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.1 + is-typed-array: 1.1.12 + + /typed-array-byte-length@1.0.0: + resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + for-each: 0.3.3 + has-proto: 1.0.1 + is-typed-array: 1.1.12 + + /typed-array-byte-offset@1.0.0: + resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.2 + for-each: 0.3.3 + has-proto: 1.0.1 + is-typed-array: 1.1.12 + /typed-array-length@1.0.4: resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} dependencies: call-bind: 1.0.2 for-each: 0.3.3 - is-typed-array: 1.1.10 + is-typed-array: 1.1.12 /typedarray-to-buffer@3.1.5: resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} @@ -12228,13 +12587,13 @@ packages: engines: {node: '>=4'} dev: true - /update-browserslist-db@1.0.11(browserslist@4.21.9): + /update-browserslist-db@1.0.11(browserslist@4.21.10): resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: - browserslist: 4.21.9 + browserslist: 4.21.10 escalade: 3.1.1 picocolors: 1.0.0 @@ -12310,7 +12669,7 @@ packages: resolution: {integrity: sha512-nd2HUpKc6RWblPZQ2GDuI65sxJ2n/UqZwSBVtj64xlWjMx0m7ZB2m9b2JS3v1f+n9VWH/dd1CMhkHfP6pIdckA==} dependencies: resolve-package-path: 3.1.0 - semver: 7.5.3 + semver: 7.5.4 dev: true /validate-peer-dependencies@2.2.0: @@ -12318,7 +12677,7 @@ packages: engines: {node: '>= 12'} dependencies: resolve-package-path: 4.0.3 - semver: 7.5.3 + semver: 7.5.4 dev: true /vary@1.1.2: @@ -12448,8 +12807,8 @@ packages: resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} engines: {node: '>=10.13.0'} - /webpack@5.88.0: - resolution: {integrity: sha512-O3jDhG5e44qIBSi/P6KpcCcH7HD+nYIHVBhdWFxcLOcIGN8zGo5nqF3BjyNCxIh4p1vFdNnreZv2h2KkoAw3lw==} + /webpack@5.86.0: + resolution: {integrity: sha512-3BOvworZ8SO/D4GVP+GoRC3fVeg5MO4vzmq8TJJEkdmopxyazGDxN8ClqN12uzrZW9Tv8EED8v5VSb6Sqyi0pg==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -12463,9 +12822,9 @@ packages: '@webassemblyjs/ast': 1.11.6 '@webassemblyjs/wasm-edit': 1.11.6 '@webassemblyjs/wasm-parser': 1.11.6 - acorn: 8.9.0 - acorn-import-assertions: 1.9.0(acorn@8.9.0) - browserslist: 4.21.9 + acorn: 8.10.0 + acorn-import-assertions: 1.9.0(acorn@8.10.0) + browserslist: 4.21.10 chrome-trace-event: 1.0.3 enhanced-resolve: 5.15.0 es-module-lexer: 1.3.0 @@ -12479,7 +12838,7 @@ packages: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.9(webpack@5.88.0) + terser-webpack-plugin: 5.3.9(webpack@5.86.0) watchpack: 2.4.0 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -12514,8 +12873,8 @@ packages: iconv-lite: 0.6.3 dev: true - /whatwg-fetch@3.6.2: - resolution: {integrity: sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==} + /whatwg-fetch@3.6.17: + resolution: {integrity: sha512-c4ghIvG6th0eudYwKZY5keb81wtFz9/WeAHAoy8+r18kcWlitUIrmGFQ2rWEl4UCKUilD3zCLHOIPheHx5ypRQ==} dev: true /whatwg-mimetype@2.3.0: @@ -12576,8 +12935,8 @@ packages: is-string: 1.0.7 is-symbol: 1.0.4 - /which-typed-array@1.1.9: - resolution: {integrity: sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==} + /which-typed-array@1.1.11: + resolution: {integrity: sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==} engines: {node: '>= 0.4'} dependencies: available-typed-arrays: 1.0.5 @@ -12585,7 +12944,6 @@ packages: for-each: 0.3.3 gopd: 1.0.1 has-tostringtag: 1.0.0 - is-typed-array: 1.1.10 /which@1.3.1: resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} @@ -12607,11 +12965,6 @@ packages: string-width: 4.2.3 dev: true - /word-wrap@1.2.3: - resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} - engines: {node: '>=0.10.0'} - dev: true - /wordwrap@0.0.3: resolution: {integrity: sha512-1tMA907+V4QmxV7dbRvb4/8MaRALK6q9Abid3ndMYnbyo8piisCmeONVqVSXqQA3KaP4SLt5b7ud6E2sqP8TFw==} engines: {node: '>=0.4.0'} @@ -12623,7 +12976,7 @@ packages: /workerpool@3.1.2: resolution: {integrity: sha512-WJFA0dGqIK7qj7xPTqciWBH5DlJQzoPjsANvc3Y4hNB0SScT+Emjvt0jPPkDBUjBNngX1q9hHgt1Gfwytu6pug==} dependencies: - '@babel/core': 7.22.5 + '@babel/core': 7.17.0 object-assign: 4.1.1 rsvp: 4.8.5 transitivePeerDependencies: @@ -12659,7 +13012,7 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: imurmurhash: 0.1.4 - signal-exit: 4.0.2 + signal-exit: 4.1.0 dev: true /ws@7.5.9: diff --git a/test-app/package.json b/test-app/package.json index 578d0985..bf872c4c 100644 --- a/test-app/package.json +++ b/test-app/package.json @@ -100,6 +100,6 @@ "edition": "octane" }, "dependencies": { - "liquid-fire": "*" + "liquid-fire": "workspace:*" } } diff --git a/test-app/tests/integration/helpers/liquid-bind-block-form-test.js b/test-app/tests/integration/helpers/liquid-bind-block-form-test.js index 4ff3a60a..a956460f 100644 --- a/test-app/tests/integration/helpers/liquid-bind-block-form-test.js +++ b/test-app/tests/integration/helpers/liquid-bind-block-form-test.js @@ -19,7 +19,7 @@ module('Integration: liquid-bind block form', function (hooks) { this.set('title', 'Mr'); this.set('person', 'Tom'); await render( - hbs`{{#liquid-bind this.person as |p|}}{{this.title}}:{{p}}{{/liquid-bind}}` + hbs`{{#liquid-bind value=this.person as |p|}}{{this.title}}:{{p}}{{/liquid-bind}}` ); assert.dom().hasText('Mr:Tom'); }); @@ -27,7 +27,7 @@ module('Integration: liquid-bind block form', function (hooks) { test('it should update', async function (assert) { this.set('person', 'Tom'); await render( - hbs`{{#liquid-bind this.person as |p|}}A{{p}}B{{/liquid-bind}}` + hbs`{{#liquid-bind value=this.person as |p|}}A{{p}}B{{/liquid-bind}}` ); this.set('person', 'Yehua'); await settled(); @@ -36,7 +36,7 @@ module('Integration: liquid-bind block form', function (hooks) { test('it should support element id', async function (assert) { await render( - hbs`{{#liquid-bind this.foo containerId="foo"}} {{/liquid-bind}}` + hbs`{{#liquid-bind value=this.foo containerId="foo"}} {{/liquid-bind}}` ); assert .dom('.liquid-container#foo') @@ -52,7 +52,7 @@ module('Integration: liquid-bind block form', function (hooks) { this.transition(this.inHelper('liquid-bind'), this.use(dummyAnimation)); }); sinon.spy(tmap, 'transitionFor'); - await render(hbs`{{#liquid-bind this.foo}} {{/liquid-bind}}`); + await render(hbs`{{#liquid-bind value=this.foo}} {{/liquid-bind}}`); assert.dom('.liquid-child').exists({ count: 1 }, 'initial child'); assert.ok(tmap.transitionFor.calledOnce, 'initial transition'); assert.notEqual( @@ -71,8 +71,11 @@ module('Integration: liquid-bind block form', function (hooks) { test('should support containerless mode', async function (assert) { this.set('foo', 'Hi'); + this.setup = (element) => { + this.containerElement = element; + }; await render( - hbs`
    {{#liquid-bind this.foo containerless=true}}{{this.foo}}{{/liquid-bind}}
    ` + hbs`
    {{#liquid-bind value=this.foo containerless=true containerElement=this.containerElement}}{{this.foo}}{{/liquid-bind}}
    ` ); assert.dom('.liquid-container').doesNotExist('no container'); assert @@ -82,8 +85,11 @@ module('Integration: liquid-bind block form', function (hooks) { test('should support `class` in containerless mode', async function (assert) { this.set('foo', 'Hi'); + this.setup = (element) => { + this.containerElement = element; + }; await render( - hbs`
    {{#liquid-bind this.foo class="bar" containerless=true}}{{this.foo}}{{/liquid-bind}}
    ` + hbs`
    {{#liquid-bind value=this.foo class="bar" containerless=true containerElement=this.containerElement}}{{this.foo}}{{/liquid-bind}}
    ` ); assert .dom('[data-test-target] > .liquid-child.bar') diff --git a/test-app/tests/integration/helpers/liquid-bind-test.js b/test-app/tests/integration/helpers/liquid-bind-test.js index eee3261a..8c6c602c 100644 --- a/test-app/tests/integration/helpers/liquid-bind-test.js +++ b/test-app/tests/integration/helpers/liquid-bind-test.js @@ -28,7 +28,7 @@ module('Integration: liquid-bind', function (hooks) { test('it should support a static class name', async function (assert) { this.set('name', 'unicorn'); - await render(hbs`{{liquid-bind this.name class="magical"}}`); + await render(hbs`{{liquid-bind value=this.name class="magical"}}`); assert .dom('.liquid-container.magical') .exists({ count: 1 }, 'found static class'); @@ -37,7 +37,7 @@ module('Integration: liquid-bind', function (hooks) { test('it should support a dynamic class name', async function (assert) { this.set('name', 'unicorn'); this.set('power', 'rainbow'); - await render(hbs`{{liquid-bind this.name class=this.power}}`); + await render(hbs`{{liquid-bind value=this.name class=this.power}}`); assert .dom('.liquid-container.rainbow') .exists({ count: 1 }, 'found dynamic class'); @@ -46,7 +46,7 @@ module('Integration: liquid-bind', function (hooks) { test('it should update a dynamic class name', async function (assert) { this.set('name', 'unicorn'); this.set('power', 'rainbow'); - await render(hbs`{{liquid-bind this.name class=this.power}}`); + await render(hbs`{{liquid-bind value=this.name class=this.power}}`); this.set('power', 'sparkle'); assert .dom('.liquid-container.sparkle') @@ -54,7 +54,7 @@ module('Integration: liquid-bind', function (hooks) { }); test('it should support element id', async function (assert) { - await render(hbs`{{liquid-bind this.something containerId="foo"}}`); + await render(hbs`{{liquid-bind value=this.something containerId="foo"}}`); assert .dom('.liquid-container#foo') .exists({ count: 1 }, 'found element by id'); @@ -64,7 +64,7 @@ module('Integration: liquid-bind', function (hooks) { let tmap = this.owner.lookup('service:liquid-fire-transitions'); sinon.spy(tmap, 'transitionFor'); this.set('name', 'unicorn'); - await render(hbs`{{liquid-bind this.name use="fade"}}`); + await render(hbs`{{liquid-bind value=this.name use="fade"}}`); this.set('name', 'other'); await settled(); assert.strictEqual( @@ -77,7 +77,7 @@ module('Integration: liquid-bind', function (hooks) { let transition = sinon.stub().returns(resolve()); this.set('transition', transition); this.set('name', 'unicorn'); - await render(hbs`{{liquid-bind this.name use=this.transition}}`); + await render(hbs`{{liquid-bind value=this.name use=this.transition}}`); this.set('name', 'other'); await settled(); assert.ok(transition.called, 'expected my custom transition to be called'); @@ -94,7 +94,7 @@ module('Integration: liquid-bind', function (hooks) { ); }); this.set('name', 'unicorn'); - await render(hbs`{{liquid-bind this.name rules=this.rules}}`); + await render(hbs`{{liquid-bind value=this.name rules=this.rules}}`); this.set('name', 'other'); await settled(); assert.ok(transitionA.called, 'expected transitionA to run'); @@ -119,7 +119,7 @@ module('Integration: liquid-bind', function (hooks) { this.transition(this.inHelper('liquid-bind'), this.use(dummyAnimation)); }); sinon.spy(tmap, 'transitionFor'); - await render(hbs`{{liquid-bind this.foo}}`); + await render(hbs`{{liquid-bind value=this.foo}}`); this.set('foo', 'bar'); await settled(); assert.strictEqual( @@ -129,13 +129,16 @@ module('Integration: liquid-bind', function (hooks) { }); test('should render child even when false', async function (assert) { - await render(hbs`{{liquid-bind this.foo}}`); + await render(hbs`{{liquid-bind value=this.foo}}`); assert.dom('.liquid-child').exists({ count: 1 }); }); test('should support containerless mode', async function (assert) { + this.setup = (element) => { + this.containerElement = element; + }; await render( - hbs`
    {{liquid-bind this.foo containerless=true}}
    ` + hbs`
    {{liquid-bind value=this.foo containerless=true containerElement=this.containerElement}}
    ` ); assert.dom('.liquid-container').doesNotExist('no container'); assert @@ -144,8 +147,11 @@ module('Integration: liquid-bind', function (hooks) { }); test('should support `class` on liquid-children in containerless mode', async function (assert) { + this.setup = (element) => { + this.containerElement = element; + }; await render( - hbs`
    {{liquid-bind this.foo class="bar" containerless=true}}
    ` + hbs`
    ` ); assert.dom('.liquid-container').doesNotExist('no container'); assert diff --git a/test-app/tests/integration/helpers/liquid-container-test.js b/test-app/tests/integration/helpers/liquid-container-test.js index ea4b23be..201494da 100644 --- a/test-app/tests/integration/helpers/liquid-container-test.js +++ b/test-app/tests/integration/helpers/liquid-container-test.js @@ -58,11 +58,11 @@ module('Integration: liquid-container', function (hooks) { - {{#liquid-container class="test-container" growDuration=1 as |c|}} - {{#liquid-versions notify=c value=this.value as |valueVersion|}} + +
    - {{/liquid-versions}} - {{/liquid-container}} +
    +
    `); await tmap.waitUntilIdle(); initialSize = { @@ -98,11 +98,11 @@ module('Integration: liquid-container', function (hooks) { }); await render(hbs` - {{#liquid-container class="test-container" growDuration=1 as |c|}} - {{#liquid-versions notify=c value=this.value use="blocking" as |valueVersion|}} + +
    - {{/liquid-versions}} - {{/liquid-container}} +
    +
    `); assert.dom('.test-container').exists({ count: 1 }, 'have test-container'); diff --git a/test-app/tests/integration/helpers/liquid-if-test.js b/test-app/tests/integration/helpers/liquid-if-test.js index 54273356..35c9e1f7 100644 --- a/test-app/tests/integration/helpers/liquid-if-test.js +++ b/test-app/tests/integration/helpers/liquid-if-test.js @@ -17,7 +17,7 @@ module('Integration: liquid-if', function (hooks) { test('it should render', async function (assert) { this.set('person', 'Tom'); await render(hbs` - {{#liquid-if this.isReady}} + {{#liquid-if predicate=this.isReady}} {{this.person}} is ready {{else}} {{this.person}} is not ready @@ -33,7 +33,7 @@ module('Integration: liquid-if', function (hooks) { }); test('it should work without else block', async function (assert) { - await render(hbs`{{#liquid-if this.isReady}}Hi{{/liquid-if}}`); + await render(hbs`{{#liquid-if predicate=this.isReady}}Hi{{/liquid-if}}`); assert.dom('.liquid-child').doesNotExist(); this.set('isReady', true); assert.dom('.liquid-child').exists({ count: 1 }); @@ -41,14 +41,14 @@ module('Integration: liquid-if', function (hooks) { }); test('it should support static class name', async function (assert) { - await render(hbs`{{#liquid-if this.isReady class="foo"}}hi{{/liquid-if}}`); + await render(hbs`{{#liquid-if predicate=this.isReady class="foo"}}hi{{/liquid-if}}`); assert.dom('.liquid-container.foo').exists({ count: 1 }, 'found class foo'); }); test('it should support dynamic class name', async function (assert) { this.set('foo', 'bar'); await render( - hbs`{{#liquid-if this.isReady class=this.foo}}hi{{/liquid-if}}` + hbs`{{#liquid-if predicate=this.isReady class=this.foo}}hi{{/liquid-if}}` ); assert.dom('.liquid-container.bar').exists({ count: 1 }, 'found class bar'); }); @@ -56,7 +56,7 @@ module('Integration: liquid-if', function (hooks) { test('it should update dynamic class name', async function (assert) { this.set('foo', 'bar'); await render( - hbs`{{#liquid-if this.isReady class=this.foo}}hi{{/liquid-if}}` + hbs`{{#liquid-if predicate=this.isReady class=this.foo}}hi{{/liquid-if}}` ); this.set('foo', 'bar2'); assert @@ -66,7 +66,7 @@ module('Integration: liquid-if', function (hooks) { test('it should support element id', async function (assert) { await render( - hbs`{{#liquid-if this.isReady containerId="foo"}}hi{{/liquid-if}}` + hbs`{{#liquid-if predicate=this.isReady containerId="foo"}}hi{{/liquid-if}}` ); assert .dom('.liquid-container#foo') @@ -76,7 +76,7 @@ module('Integration: liquid-if', function (hooks) { test('it should support liquid-unless', async function (assert) { this.set('isReady', true); await render( - hbs`{{#liquid-unless this.isReady}}A{{else}}B{{/liquid-unless}}` + hbs`{{#liquid-unless predicate=this.isReady}}A{{else}}B{{/liquid-unless}}` ); assert.dom().hasText('B'); this.set('isReady', false); @@ -86,15 +86,16 @@ module('Integration: liquid-if', function (hooks) { test('liquid-unless should have no content when true and there is no else block', async function (assert) { this.set('isReady', true); - await render(hbs`{{#liquid-unless this.isReady }}hi{{/liquid-unless}}`); + await render(hbs`{{#liquid-unless predicate=this.isReady}}hi{{/liquid-unless}}`); assert.dom('.liquid-container').exists({ count: 1 }, 'have container'); assert.dom('.liquid-child').doesNotExist('no child'); }); test('liquid-unless should have no content when true and there is no else block in containerless mode', async function (assert) { this.set('isReady', true); + this.containerElement = document.querySelector('body'); await render( - hbs`{{#liquid-unless this.isReady containerless=true }}hi{{/liquid-unless}}` + hbs`{{#liquid-unless predicate=this.isReady containerless=true containerElement=this.containerElement}}hi{{/liquid-unless}}` ); assert.dom('.liquid-container').doesNotExist('no container'); assert.dom('.liquid-child').doesNotExist('no child'); @@ -109,7 +110,7 @@ module('Integration: liquid-if', function (hooks) { this.transition(this.inHelper('liquid-if'), this.use(dummyAnimation)); }); sinon.spy(tmap, 'transitionFor'); - await render(hbs`{{#liquid-if this.isReady}}A{{else}}B{{/liquid-if}}`); + await render(hbs`{{#liquid-if predicate=this.isReady}}A{{else}}B{{/liquid-if}}`); this.set('isReady', true); await settled(); assert.strictEqual( @@ -128,7 +129,7 @@ module('Integration: liquid-if', function (hooks) { }); sinon.spy(tmap, 'transitionFor'); await render( - hbs`{{#liquid-unless this.isReady}}A{{else}}B{{/liquid-unless}}` + hbs`{{#liquid-unless predicate=this.isReady}}A{{else}}B{{/liquid-unless}}` ); this.set('isReady', true); await settled(); @@ -139,14 +140,15 @@ module('Integration: liquid-if', function (hooks) { }); test('it should have no content when false and there is no else block', async function (assert) { - await render(hbs`{{#liquid-if this.isReady }}hi{{/liquid-if}}`); + await render(hbs`{{#liquid-if predicate=this.isReady }}hi{{/liquid-if}}`); assert.dom('.liquid-container').exists({ count: 1 }, 'have container'); assert.dom('.liquid-child').doesNotExist('no child'); }); test('it should have no content when false and there is no else block in containerless mode', async function (assert) { + this.containerElement = document.querySelector('body'); await render( - hbs`{{#liquid-if this.isReady containerless=true }}hi{{/liquid-if}}` + hbs`{{#liquid-if predicate=this.isReady containerless=true containerElement=this.containerElement}}hi{{/liquid-if}}` ); assert.dom('.liquid-container').doesNotExist('no container'); assert.dom('.liquid-child').doesNotExist('no child'); @@ -154,8 +156,11 @@ module('Integration: liquid-if', function (hooks) { test('it should support containerless mode', async function (assert) { this.set('isReady', true); + this.setup = (element) => { + this.containerElement = element; + }; await render( - hbs`
    {{#liquid-if this.isReady containerless=true}}hi{{/liquid-if}}
    ` + hbs`
    {{#liquid-if predicate=this.isReady containerless=true containerElement=this.containerElement}}hi{{/liquid-if}}
    ` ); assert.dom('.liquid-container').doesNotExist('no container'); assert @@ -166,8 +171,11 @@ module('Integration: liquid-if', function (hooks) { test('should support `class` on liquid-children in containerless mode', async function (assert) { this.set('isReady', true); + this.setup = (element) => { + this.containerElement = element; + }; await render( - hbs`
    {{#liquid-if this.isReady class="bar" containerless=true}}hi{{/liquid-if}}
    ` + hbs`
    {{#liquid-if predicate=this.isReady class="bar" containerless=true containerElement=this.containerElement}}hi{{/liquid-if}}
    ` ); assert .dom('[data-test-target] > .liquid-child.bar') @@ -186,7 +194,7 @@ module('Integration: liquid-if', function (hooks) { }); this.set('predicate', false); await render( - hbs`{{#liquid-if this.predicate rules=this.rules}}hi{{/liquid-if}}` + hbs`{{#liquid-if predicate=this.predicate rules=this.rules}}hi{{/liquid-if}}` ); this.set('predicate', true); await settled(); diff --git a/test-app/tests/integration/helpers/liquid-outlet-test.js b/test-app/tests/integration/helpers/liquid-outlet-test.js index 8e6cee84..a361104f 100644 --- a/test-app/tests/integration/helpers/liquid-outlet-test.js +++ b/test-app/tests/integration/helpers/liquid-outlet-test.js @@ -5,7 +5,7 @@ import { setupRenderingTest } from 'ember-qunit'; import { render, settled } from '@ember/test-helpers'; import { hbs } from 'ember-cli-htmlbars'; import sinon from 'sinon'; -import { macroCondition, dependencySatisfies } from '@embroider/macros'; +// import { macroCondition, dependencySatisfies } from '@embroider/macros'; import { ensureSafeComponent } from '@embroider/util'; import { RouteBuilder, @@ -53,21 +53,21 @@ module('Integration: liquid-outlet', function (hooks) { assert.dom().hasText('AHelloGoodbyeB'); }); - if (macroCondition(dependencySatisfies('ember-source', '<=3.26.0'))) { - test('it should support an optional name', async function (assert) { - await render( - hbs`A{{outlet}}B` - ); - let hello = this.makeRoute({ - template: hbs`Hello{{liquid-outlet "other"}}`, - }); - this.setState(hello); - assert.dom().hasText('AHelloB'); - hello.setChild('other', { template: hbs`Goodbye` }); - this.setState(hello); - assert.dom().hasText('AHelloGoodbyeB'); - }); - } + // if (macroCondition(dependencySatisfies('ember-source', '<=3.26.0'))) { + // test('it should support an optional name', async function (assert) { + // await render( + // hbs`A{{outlet}}B` + // ); + // let hello = this.makeRoute({ + // template: hbs`Hello{{liquid-outlet inputOutletName="other"}}`, + // }); + // this.setState(hello); + // assert.dom().hasText('AHelloB'); + // hello.setChild('other', { template: hbs`Goodbye` }); + // this.setState(hello); + // assert.dom().hasText('AHelloGoodbyeB'); + // }); + // } test('it should support static class', async function (assert) { await render(hbs`{{liquid-outlet class="magical"}}`); @@ -114,8 +114,11 @@ module('Integration: liquid-outlet', function (hooks) { }); test('should support containerless mode', async function (assert) { + this.setup = (element) => { + this.containerElement = element; + }; await render( - hbs`
    {{liquid-outlet containerless=true}}
    ` + hbs`
    {{liquid-outlet containerless=true containerElement=this.containerElement}}
    ` ); this.setState(this.makeRoute({ template: hbs`

    Hello world

    ` })); await settled(); @@ -126,8 +129,11 @@ module('Integration: liquid-outlet', function (hooks) { }); test('should support `class` on children in containerless mode', async function (assert) { + this.setup = (element) => { + this.containerElement = element; + }; await render( - hbs`
    {{liquid-outlet class="bar" containerless=true}}
    ` + hbs`
    {{liquid-outlet class="bar" containerless=true containerElement=this.containerElement}}
    ` ); this.setState(this.makeRoute({ template: hbs`

    Hello world

    ` })); await settled(); @@ -190,7 +196,7 @@ module('Integration: liquid-outlet', function (hooks) { this.set('thing', 'Goodbye'); this.setState(this.makeRoute({ template: hbs`Hello` })); await render( - hbs`{{#liquid-bind this.thing as |thingVersion|}}{{thingVersion}}{{outlet}}{{/liquid-bind}}` + hbs`{{#liquid-bind value=this.thing as |thingVersion|}}{{thingVersion}}{{outlet}}{{/liquid-bind}}` ); assert.dom().hasText('GoodbyeHello'); this.set('thing', 'Other'); diff --git a/test-app/tests/integration/helpers/liquid-spacer-test.js b/test-app/tests/integration/helpers/liquid-spacer-test.js index c0be3efb..923e17b4 100644 --- a/test-app/tests/integration/helpers/liquid-spacer-test.js +++ b/test-app/tests/integration/helpers/liquid-spacer-test.js @@ -24,13 +24,14 @@ module('Integration: liquid-spacer', function (hooks) { assert.expect(1); let theSpacer; + this.spacer = ensureSafeComponent( - LiquidSpacer.extend({ - didInsertElement() { - this._super(...arguments); + class LiquidSpacerComponent extends LiquidSpacer { + constructor() { + super(...arguments); theSpacer = this; - }, - }), + } + }, this ); @@ -80,7 +81,7 @@ module('Integration: liquid-spacer', function (hooks) { {{!-- template-lint-disable no-inline-styles --}}
    - + {{this.message}}
    @@ -111,7 +112,7 @@ module('Integration: liquid-spacer', function (hooks) { assert.expect(2); await render(hbs` - + Hi. `); @@ -129,7 +130,7 @@ module('Integration: liquid-spacer', function (hooks) { assert.expect(2); await render(hbs` - + Hi. `); @@ -149,7 +150,7 @@ module('Integration: liquid-spacer', function (hooks) { await render(hbs` {{!-- template-lint-disable no-inline-styles --}}
    - +
    diff --git a/test-app/tests/integration/helpers/liquid-sync-test.js b/test-app/tests/integration/helpers/liquid-sync-test.js index ab9c5e20..fe66cd30 100644 --- a/test-app/tests/integration/helpers/liquid-sync-test.js +++ b/test-app/tests/integration/helpers/liquid-sync-test.js @@ -38,7 +38,7 @@ module('Integration | Component | liquid sync', function (hooks) { test('it causes the transition to wait', async function (assert) { await render(hbs` - {{#liquid-if this.activated use="spy"}} + {{#liquid-if predicate=this.activated use="spy"}} @@ -69,7 +69,7 @@ module('Integration | Component | liquid sync', function (hooks) { test('transition moves on if component is destroyed', async function (assert) { await render(hbs` - {{#liquid-if this.activated use="spy"}} + {{#liquid-if predicate=this.activated use="spy"}} {{#if this.innerThing}}
    Alt
    {{else}} @@ -104,7 +104,7 @@ module('Integration | Component | liquid sync', function (hooks) { test('it considers liquid-fire non-idle when waiting for liquid-sync to resolve', async function (assert) { await render(hbs` - {{#liquid-if this.activated use="spy"}} + {{#liquid-if predicate=this.activated use="spy"}} diff --git a/test-app/tests/integration/transitions/explode-test.js b/test-app/tests/integration/transitions/explode-test.js index 3c6b588b..e5d9b887 100644 --- a/test-app/tests/integration/transitions/explode-test.js +++ b/test-app/tests/integration/transitions/explode-test.js @@ -46,7 +46,7 @@ module('Integration: explode transition', function (hooks) { ); }); await render(hbs` - {{#liquid-if this.showBlue class="explode-transition-test"}} + {{#liquid-if predicate=this.showBlue class="explode-transition-test"}}
    {{else}}
    @@ -71,7 +71,7 @@ module('Integration: explode transition', function (hooks) { ); }); await render(hbs` - {{#liquid-if this.showBlue class="explode-transition-test"}} + {{#liquid-if predicate=this.showBlue class="explode-transition-test"}}
    {{else}}
    @@ -116,7 +116,7 @@ module('Integration: explode transition', function (hooks) { ); }); await render(hbs` - {{#liquid-if this.showBlue class="explode-transition-test"}} + {{#liquid-if predicate=this.showBlue class="explode-transition-test"}}
    {{else}}
    @@ -143,7 +143,7 @@ module('Integration: explode transition', function (hooks) { ); }); await render(hbs` - {{#liquid-if this.otherMode class="explode-transition-test"}} + {{#liquid-if predicate=this.otherMode class="explode-transition-test"}}

    New Title

    {{else}}

    Old Title

    @@ -170,7 +170,7 @@ module('Integration: explode transition', function (hooks) { ); }); await render(hbs` - {{#liquid-if this.otherMode class="explode-transition-test"}} + {{#liquid-if predicate=this.otherMode class="explode-transition-test"}}

    New Title

    {{else}}

    Old Title

    @@ -196,7 +196,7 @@ module('Integration: explode transition', function (hooks) { ); }); await render(hbs` - {{#liquid-if this.otherMode class="explode-transition-test"}} + {{#liquid-if predicate=this.otherMode class="explode-transition-test"}}

    New Title

    {{else}}

    Old Title

    @@ -222,7 +222,7 @@ module('Integration: explode transition', function (hooks) { ); }); await render(hbs` - {{#liquid-if this.otherMode class="explode-transition-test"}} + {{#liquid-if predicate=this.otherMode class="explode-transition-test"}}

    New Title

    {{else}}

    Old Title

    @@ -251,7 +251,7 @@ module('Integration: explode transition', function (hooks) { ); }); await render(hbs` - {{#liquid-if this.otherMode class="explode-transition-test"}} + {{#liquid-if predicate=this.otherMode class="explode-transition-test"}}
    New One
    New Two
    {{else}} @@ -281,7 +281,7 @@ module('Integration: explode transition', function (hooks) { ); }); await render(hbs` - {{#liquid-if this.otherMode class="explode-transition-test"}} + {{#liquid-if predicate=this.otherMode class="explode-transition-test"}}
    New One
    New Two
    {{else}} @@ -307,7 +307,7 @@ module('Integration: explode transition', function (hooks) { ); }); await render(hbs` - {{#liquid-if this.otherMode class="explode-transition-test"}} + {{#liquid-if predicate=this.otherMode class="explode-transition-test"}}
    New Two
    {{else}}
    Old One
    @@ -356,7 +356,7 @@ module('Integration: explode transition', function (hooks) { ); }); await render(hbs` - {{#liquid-if this.otherMode class="explode-transition-test"}} + {{#liquid-if predicate=this.otherMode class="explode-transition-test"}}
    A
    {{else}}
    B
    @@ -381,7 +381,7 @@ module('Integration: explode transition', function (hooks) { ); }); await render(hbs` - {{#liquid-if this.otherMode class="explode-transition-test"}} + {{#liquid-if predicate=this.otherMode class="explode-transition-test"}}
    New One
    New Two
    {{else}} @@ -413,7 +413,7 @@ module('Integration: explode transition', function (hooks) { ); }); await render(hbs` - {{#liquid-if this.otherMode class="explode-transition-test"}} + {{#liquid-if predicate=this.otherMode class="explode-transition-test"}}
    New One
    New Two
    @@ -483,7 +483,7 @@ module('Integration: explode transition', function (hooks) { this.styles = ensureSafeComponent(stylesheet(), this); await render(hbs` - {{#liquid-if this.showBlue class="explode-transition-test"}} + {{#liquid-if predicate=this.showBlue class="explode-transition-test"}}
    {{else}}
    @@ -548,7 +548,7 @@ module('Integration: explode transition', function (hooks) { this.styles = ensureSafeComponent(stylesheet(), this); await render(hbs` - {{#liquid-if this.showYellow class="explode-transition-test"}} + {{#liquid-if predicate=this.showYellow class="explode-transition-test"}}
    {{else}}
    @@ -586,7 +586,7 @@ module('Integration: explode transition', function (hooks) { ); }); await render(hbs` - {{#liquid-if this.showTitleOne class="explode-transition-test"}} + {{#liquid-if predicate=this.showTitleOne class="explode-transition-test"}}

    Title 1

    Lorem ipsum dolor sit amet consectetur adipisicing elit. Odio error vitae consequuntur quasi, pariatur odit ea itaque libero repudiandae dolor nam minus assumenda, blanditiis natus sit unde illo quibusdam quos.

    diff --git a/test-app/tests/integration/transitions/fly-to-test.js b/test-app/tests/integration/transitions/fly-to-test.js index 53767cff..acba6a31 100644 --- a/test-app/tests/integration/transitions/fly-to-test.js +++ b/test-app/tests/integration/transitions/fly-to-test.js @@ -77,7 +77,7 @@ module('Integration: fly-to transition', function (hooks) { this.styles = ensureSafeComponent(stylesheet(), this); await render(hbs` - {{#liquid-if this.showBlue class="fly-to-test"}} + {{#liquid-if predicate=this.showBlue class="fly-to-test"}}
    {{else}}
    @@ -132,7 +132,7 @@ module('Integration: fly-to transition', function (hooks) { this.styles = ensureSafeComponent(stylesheet(), this); await render(hbs` - {{#liquid-if this.showYellow class="fly-to-test"}} + {{#liquid-if predicate=this.showYellow class="fly-to-test"}}
    {{else}}
    From 772ea5d0c43d6588d97946efc9e2546088d9ad4a Mon Sep 17 00:00:00 2001 From: Markus Sanin Date: Thu, 3 Aug 2023 12:52:42 +0200 Subject: [PATCH 02/35] fix lint errors in liquid-fire package --- docs/app/controllers/scenarios.js | 5 +-- docs/app/templates/scenarios.hbs | 6 +--- docs/tests/acceptance/scenarios-test.js | 9 ------ liquid-fire/src/components/liquid-child.js | 13 +++++--- .../src/components/liquid-container.js | 2 +- liquid-fire/src/components/liquid-if.js | 6 ++-- liquid-fire/src/components/liquid-measured.js | 4 +-- liquid-fire/src/components/liquid-outlet.js | 6 +--- liquid-fire/src/components/liquid-spacer.js | 2 +- liquid-fire/src/components/liquid-sync.js | 4 +-- liquid-fire/src/components/liquid-versions.js | 9 ++++-- liquid-fire/src/ember-internals.js | 17 ---------- .../src/services/liquid-fire-children.js | 32 +++++++++++-------- liquid-fire/src/transition-map.js | 5 ++- liquid-fire/src/utils/animate.js | 7 +++- .../integration/helpers/liquid-outlet-test.js | 16 ---------- 16 files changed, 53 insertions(+), 90 deletions(-) diff --git a/docs/app/controllers/scenarios.js b/docs/app/controllers/scenarios.js index b4ffb01f..62d7f5ad 100644 --- a/docs/app/controllers/scenarios.js +++ b/docs/app/controllers/scenarios.js @@ -1,5 +1,4 @@ import Controller from '@ember/controller'; -import { dependencySatisfies } from '@embroider/macros'; export default Controller.extend({ queryParams: ['testSalutation', 'testPerson'], @@ -7,7 +6,5 @@ export default Controller.extend({ changeSalutation: function () { this.set('testSalutation', 'Hola'); }, - }, - - supportsNamedOutlets: dependencySatisfies('ember-source', '<4.0.0-alpha.0'), + } }); diff --git a/docs/app/templates/scenarios.hbs b/docs/app/templates/scenarios.hbs index 25264f48..e2147cab 100644 --- a/docs/app/templates/scenarios.hbs +++ b/docs/app/templates/scenarios.hbs @@ -1,5 +1 @@ -{{outlet}} - -{{#if this.supportsNamedOutlets}} - {{liquid-outlet inputOutletName="test"}} -{{/if}} \ No newline at end of file +{{outlet}} \ No newline at end of file diff --git a/docs/tests/acceptance/scenarios-test.js b/docs/tests/acceptance/scenarios-test.js index f01a6520..b607d909 100644 --- a/docs/tests/acceptance/scenarios-test.js +++ b/docs/tests/acceptance/scenarios-test.js @@ -2,7 +2,6 @@ import { click, findAll, visit, waitUntil } from '@ember/test-helpers'; import { setupTransitionTest } from '../helpers/integration'; import { module, test } from 'qunit'; import { setupApplicationTest } from 'ember-qunit'; -import { macroCondition, dependencySatisfies } from '@embroider/macros'; module('Acceptance: Scenarios', function (hooks) { setupApplicationTest(hooks); @@ -25,14 +24,6 @@ module('Acceptance: Scenarios', function (hooks) { assert.ranTransition('fade'); }); - // named outlets are deprecated in ember starting at 3.27. - if (macroCondition(dependencySatisfies('ember-source', '<=3.26.0'))) { - test('liquid-outlet animate by outlet name', async function (assert) { - await visit('/scenarios/in-test-outlet'); - assert.ranTransition('toLeft'); - }); - } - test('model-dependent transitions are matching correctly', async function (assert) { await visit('/scenarios/model-dependent-rule/1'); await click( diff --git a/liquid-fire/src/components/liquid-child.js b/liquid-fire/src/components/liquid-child.js index aaa6de10..a8821db0 100644 --- a/liquid-fire/src/components/liquid-child.js +++ b/liquid-fire/src/components/liquid-child.js @@ -6,7 +6,7 @@ import './liquid-child.css'; export default class LiquidChildComponent extends Component { @service liquidFireChildren; - + element = null; _waitingFor = []; _isLiquidChild = true; @@ -15,9 +15,12 @@ export default class LiquidChildComponent extends Component { @action setup(element) { this.element = element; - - this._serviceElement = this.liquidFireChildren.register(this.args.uniqueChildId, this); - + + this._serviceElement = this.liquidFireChildren.register( + this.args.uniqueChildId, + this + ); + element.style.visibility = 'hidden'; this._waitForAll().then(() => { @@ -30,7 +33,7 @@ export default class LiquidChildComponent extends Component { } }); } - + @action destroyElement() { if (this._serviceElement) { diff --git a/liquid-fire/src/components/liquid-container.js b/liquid-fire/src/components/liquid-container.js index e86bd05e..a8117cdf 100644 --- a/liquid-fire/src/components/liquid-container.js +++ b/liquid-fire/src/components/liquid-container.js @@ -109,7 +109,7 @@ export default class LiquidContainerComponent extends Component { } this.unlockSize(); } - + animateGrowth(elt, have, want) { return animateGrowth( elt, diff --git a/liquid-fire/src/components/liquid-if.js b/liquid-fire/src/components/liquid-if.js index e19c7207..2b70c14e 100644 --- a/liquid-fire/src/components/liquid-if.js +++ b/liquid-fire/src/components/liquid-if.js @@ -1,7 +1,7 @@ import Component from '@glimmer/component'; export default class LiquidIfComponent extends Component { - get helperName() { - return this.args.helperName || 'liquid-if'; - } + get helperName() { + return this.args.helperName || 'liquid-if'; + } } diff --git a/liquid-fire/src/components/liquid-measured.js b/liquid-fire/src/components/liquid-measured.js index a61d1f72..825d284e 100644 --- a/liquid-fire/src/components/liquid-measured.js +++ b/liquid-fire/src/components/liquid-measured.js @@ -14,11 +14,11 @@ export default class LiquidMeasuredComponent extends Component { // this._destroyOnUnload = bind(this, this._destroyOnUnload); } - + @action setup(element) { this.element = element; - + let self = this; // This prevents margin collapse diff --git a/liquid-fire/src/components/liquid-outlet.js b/liquid-fire/src/components/liquid-outlet.js index db5098e0..ecab42b5 100644 --- a/liquid-fire/src/components/liquid-outlet.js +++ b/liquid-fire/src/components/liquid-outlet.js @@ -1,9 +1,5 @@ import Component from '@glimmer/component'; -import { - childRoute, - routeIsStable, - modelIsStable, -} from '../ember-internals'; +import { childRoute, routeIsStable, modelIsStable } from '../ember-internals'; export default class LiquidOutletComponent extends Component { get outletName() { diff --git a/liquid-fire/src/components/liquid-spacer.js b/liquid-fire/src/components/liquid-spacer.js index 3ef47ac1..adaf5aab 100644 --- a/liquid-fire/src/components/liquid-spacer.js +++ b/liquid-fire/src/components/liquid-spacer.js @@ -67,7 +67,7 @@ export default class LiquidOutletComponent extends Component { let have = measure(elt); this.animateGrowth(elt, have, want); } - + animateGrowth(elt, have, want) { return animateGrowth( elt, diff --git a/liquid-fire/src/components/liquid-sync.js b/liquid-fire/src/components/liquid-sync.js index 6bbaea2f..8b08e94f 100644 --- a/liquid-fire/src/components/liquid-sync.js +++ b/liquid-fire/src/components/liquid-sync.js @@ -9,7 +9,7 @@ export default class LiquidSyncComponent extends Component { @service('liquid-fire-transitions') _transitionMap; _lfDefer = []; - + @action setup(element) { this.element = element; @@ -20,7 +20,7 @@ export default class LiquidSyncComponent extends Component { destroyElement() { this.ready(); } - + @action ready() { this.resumeLiquidFire(); diff --git a/liquid-fire/src/components/liquid-versions.js b/liquid-fire/src/components/liquid-versions.js index 03d855c3..3c7f76dd 100644 --- a/liquid-fire/src/components/liquid-versions.js +++ b/liquid-fire/src/components/liquid-versions.js @@ -11,7 +11,7 @@ export default class LiquidVersionsComponent extends Component { @service('liquid-fire-transitions') transitionMap; @tracked versions = null; - + @action appendVersion() { let versions = this.versions; @@ -59,8 +59,11 @@ export default class LiquidVersionsComponent extends Component { } _transition() { - assert(`LiquidVersions: @containerElement is required!`, !!this.args.containerElement); - + assert( + `LiquidVersions: @containerElement is required!`, + !!this.args.containerElement + ); + let versions = this.versions; let transition; let firstTime = this.firstTime; diff --git a/liquid-fire/src/ember-internals.js b/liquid-fire/src/ember-internals.js index 2b83ff0b..8d4ab768 100644 --- a/liquid-fire/src/ember-internals.js +++ b/liquid-fire/src/ember-internals.js @@ -1,16 +1,3 @@ -// import { -// macroCondition, -// dependencySatisfies, -// importSync, -// } from '@embroider/macros'; - -// let getViewBounds; -// if (macroCondition(dependencySatisfies('ember-source', '>=3.27.0'))) { -// ({ getViewBounds } = importSync('@ember/-internals/views')); -// } else { -// ({ getViewBounds } = window.Ember.ViewUtils); -// } - // Traverses down to the child routeInfo with the given name. export function childRoute(routeInfo, outletName) { let outlets; @@ -74,7 +61,3 @@ export function modelIsStable(oldRouteInfo, newRouteInfo) { let newModel = routeModel(newRouteInfo) || []; return oldModel[0] === newModel[0]; } - -// export function containingElement(view) { -// return getViewBounds(view).parentElement; -// } diff --git a/liquid-fire/src/services/liquid-fire-children.js b/liquid-fire/src/services/liquid-fire-children.js index 29fb1cbf..3f0595ed 100644 --- a/liquid-fire/src/services/liquid-fire-children.js +++ b/liquid-fire/src/services/liquid-fire-children.js @@ -1,7 +1,7 @@ import Service from '@ember/service'; class LiquidFireChild { - constructor(uniqueChildId, componentClass){ + constructor(uniqueChildId, componentClass) { this.uniqueChildId = uniqueChildId; this.componentClass = componentClass; } @@ -10,7 +10,7 @@ class LiquidFireChild { export default class LiquidFireChildrenService extends Service { children = []; _waitingFor = []; - + register(uniqueChildId, componentClass) { const child = new LiquidFireChild(uniqueChildId, componentClass); this.children.push(child); @@ -19,35 +19,41 @@ export default class LiquidFireChildrenService extends Service { unregister(child) { const index = this.children.indexOf(child); - + if (index === -1) { return; } - + this.children.splice(index, 1); } - + closest(element) { if (!element) { return null; } - + const closestElement = element.closest('[data-liquid-child]'); - + if (!closestElement) { return null; } - - if (closestElement.getAttribute('data-liquid-child') === element.getAttribute('data-liquid-child')) { + + if ( + closestElement.getAttribute('data-liquid-child') === + element.getAttribute('data-liquid-child') + ) { return null; } - - var child = this.children.find((x) => x.uniqueChildId === closestElement.getAttribute('data-liquid-child')); - + + let child = this.children.find( + (x) => + x.uniqueChildId === closestElement.getAttribute('data-liquid-child') + ); + if (!child) { return null; } - + return child.componentClass; } } diff --git a/liquid-fire/src/transition-map.js b/liquid-fire/src/transition-map.js index 321d4505..bc416dea 100644 --- a/liquid-fire/src/transition-map.js +++ b/liquid-fire/src/transition-map.js @@ -1,4 +1,3 @@ -/* eslint-disable ember/no-legacy-test-waiters */ import { registerWaiter, unregisterWaiter } from '@ember/test'; import { Promise as EmberPromise } from 'rsvp'; import { next } from '@ember/runloop'; @@ -29,7 +28,7 @@ export default class TransitionMapService extends Service { if (config) { this.map(config); } - + if (DEBUG) { if (this.isTest) { this._waiter = () => { @@ -39,7 +38,7 @@ export default class TransitionMapService extends Service { } } } - + willDestroy() { if (DEBUG) { if (this._waiter) { diff --git a/liquid-fire/src/utils/animate.js b/liquid-fire/src/utils/animate.js index 4cc1c4ee..3d9df1a5 100644 --- a/liquid-fire/src/utils/animate.js +++ b/liquid-fire/src/utils/animate.js @@ -89,7 +89,12 @@ function adaptDimension( target['outer' + capitalize(dimension)] = [want[dimension], have[dimension]]; return Velocity(elt, target, { delay: delayFor(have[dimension], want[dimension], shrinkDelay, growDelay), - duration: durationFor(have[dimension], want[dimension], growDuration, growPixelsPerSecond), + duration: durationFor( + have[dimension], + want[dimension], + growDuration, + growPixelsPerSecond + ), queue: false, easing: growEasing, }); diff --git a/test-app/tests/integration/helpers/liquid-outlet-test.js b/test-app/tests/integration/helpers/liquid-outlet-test.js index a361104f..5a1595ac 100644 --- a/test-app/tests/integration/helpers/liquid-outlet-test.js +++ b/test-app/tests/integration/helpers/liquid-outlet-test.js @@ -53,22 +53,6 @@ module('Integration: liquid-outlet', function (hooks) { assert.dom().hasText('AHelloGoodbyeB'); }); - // if (macroCondition(dependencySatisfies('ember-source', '<=3.26.0'))) { - // test('it should support an optional name', async function (assert) { - // await render( - // hbs`A{{outlet}}B` - // ); - // let hello = this.makeRoute({ - // template: hbs`Hello{{liquid-outlet inputOutletName="other"}}`, - // }); - // this.setState(hello); - // assert.dom().hasText('AHelloB'); - // hello.setChild('other', { template: hbs`Goodbye` }); - // this.setState(hello); - // assert.dom().hasText('AHelloGoodbyeB'); - // }); - // } - test('it should support static class', async function (assert) { await render(hbs`{{liquid-outlet class="magical"}}`); assert From e62c00d252e718fd31d43fb48699e107d5eb3c3e Mon Sep 17 00:00:00 2001 From: Markus Sanin Date: Thu, 3 Aug 2023 14:12:12 +0200 Subject: [PATCH 03/35] remove lint rules in liquid-fire --- liquid-fire/.eslintrc.cjs | 19 +++------------- liquid-fire/src/animate.js | 2 +- liquid-fire/src/components/liquid-versions.js | 6 ++--- liquid-fire/src/constraints.js | 2 +- liquid-fire/src/ember-internals.js | 2 +- liquid-fire/src/running-transition.js | 2 +- liquid-fire/src/transition-map.js | 22 ------------------- 7 files changed, 10 insertions(+), 45 deletions(-) diff --git a/liquid-fire/.eslintrc.cjs b/liquid-fire/.eslintrc.cjs index 5f1064aa..e89c8112 100644 --- a/liquid-fire/.eslintrc.cjs +++ b/liquid-fire/.eslintrc.cjs @@ -20,22 +20,9 @@ module.exports = { browser: true, }, rules: { - 'no-var': 'error', - semi: ['error', 'always'], - 'ember/no-actions-hash': 'off', - 'ember/no-classic-classes': 'off', - 'ember/no-classic-components': 'off', - 'ember/no-component-lifecycle-hooks': 'off', - 'ember/no-get': 'off', - 'ember/no-new-mixins': 'off', - 'ember/no-old-shims': 'error', - 'ember/new-module-imports': 'error', - 'ember/no-jquery': 'off', - 'ember/no-mixins': 'off', - 'ember/no-side-effects': 'error', - 'ember/require-return-from-computed': 'off', - 'ember/require-tagless-components': 'off', - 'no-prototype-builtins': 'off', + eqeqeq: ['error'], + 'no-console': ['error'], + 'no-var': ['error'], }, overrides: [ // node files diff --git a/liquid-fire/src/animate.js b/liquid-fire/src/animate.js index 125caa05..b024d3e1 100644 --- a/liquid-fire/src/animate.js +++ b/liquid-fire/src/animate.js @@ -80,7 +80,7 @@ export function stop(elt) { export function setDefaults(props) { for (let key in props) { - if (props.hasOwnProperty(key)) { + if (Object.hasOwnProperty.call(props, key)) { if (key === 'progress') { throw new Error( "liquid-fire's 'animate' function reserves the use of Velocity's '" + diff --git a/liquid-fire/src/components/liquid-versions.js b/liquid-fire/src/components/liquid-versions.js index 3c7f76dd..eff8bfcc 100644 --- a/liquid-fire/src/components/liquid-versions.js +++ b/liquid-fire/src/components/liquid-versions.js @@ -1,5 +1,5 @@ import Component from '@glimmer/component'; -import { action, set, get } from '@ember/object'; +import { action, set } from '@ember/object'; import { assert } from '@ember/debug'; import { tracked } from '@glimmer/tracking'; import { A } from '@ember/array'; @@ -113,8 +113,8 @@ export default class LiquidVersionsComponent extends Component { notifyContainer(method, versions) { let target = this.args.notify; - if (target && !get(target, 'isDestroying')) { - get(target, method)(versions); + if (target && !target.isDestroying) { + target[method](versions); } } diff --git a/liquid-fire/src/constraints.js b/liquid-fire/src/constraints.js index c01f3c2e..8208bd23 100644 --- a/liquid-fire/src/constraints.js +++ b/liquid-fire/src/constraints.js @@ -215,7 +215,7 @@ function intersection(sets) { let key = keys[keyIndex]; let matched = true; for (let restIndex = 0; restIndex < restLength; restIndex++) { - if (!rest[restIndex].hasOwnProperty(key)) { + if (!Object.hasOwnProperty.call(rest[restIndex], key)) { matched = false; break; } diff --git a/liquid-fire/src/ember-internals.js b/liquid-fire/src/ember-internals.js index 8d4ab768..df83484a 100644 --- a/liquid-fire/src/ember-internals.js +++ b/liquid-fire/src/ember-internals.js @@ -24,7 +24,7 @@ export function routeName(routeInfo) { // us avoid the problem of singleton controllers changing underneath // us. export function routeModel(routeInfo) { - if (routeInfo && !routeInfo.hasOwnProperty('_lf_model')) { + if (routeInfo && !Object.hasOwnProperty.call(routeInfo, '_lf_model')) { let r, c; if ((r = routeInfo.render) && (c = r.controller)) { routeInfo._lf_model = c.model; diff --git a/liquid-fire/src/running-transition.js b/liquid-fire/src/running-transition.js index d0ceb502..f07561d5 100644 --- a/liquid-fire/src/running-transition.js +++ b/liquid-fire/src/running-transition.js @@ -81,7 +81,7 @@ function addPublicVersion(context, prefix, version) { }; for (let key in props) { let outputKey = key; - if (props.hasOwnProperty(key)) { + if (Object.hasOwnProperty.call(props, key)) { if (prefix) { outputKey = prefix + capitalize(key); } diff --git a/liquid-fire/src/transition-map.js b/liquid-fire/src/transition-map.js index bc416dea..2e4c2a26 100644 --- a/liquid-fire/src/transition-map.js +++ b/liquid-fire/src/transition-map.js @@ -1,9 +1,7 @@ -import { registerWaiter, unregisterWaiter } from '@ember/test'; import { Promise as EmberPromise } from 'rsvp'; import { next } from '@ember/runloop'; import { getOwner } from '@ember/application'; import Service from '@ember/service'; -import { DEBUG } from '@glimmer/env'; import RunningTransition from './running-transition'; import DSL from './dsl'; import Action from './action'; @@ -28,26 +26,6 @@ export default class TransitionMapService extends Service { if (config) { this.map(config); } - - if (DEBUG) { - if (this.isTest) { - this._waiter = () => { - return this.runningTransitions() === 0; - }; - registerWaiter(this._waiter); - } - } - } - - willDestroy() { - if (DEBUG) { - if (this._waiter) { - unregisterWaiter(this._waiter); - this._waiter = null; - } - } - - super.willDestroy(...arguments); } runningTransitions() { From 4fdf35bae8860dab6b8d75f3a2b783e6d2514b38 Mon Sep 17 00:00:00 2001 From: Markus Sanin Date: Thu, 3 Aug 2023 14:18:58 +0200 Subject: [PATCH 04/35] Add lint rule for using const --- liquid-fire/.eslintrc.cjs | 1 + liquid-fire/src/animate.js | 6 +- liquid-fire/src/components/liquid-child.js | 2 +- .../src/components/liquid-container.js | 18 +++--- liquid-fire/src/components/liquid-measured.js | 4 +- liquid-fire/src/components/liquid-outlet.js | 8 +-- liquid-fire/src/components/liquid-spacer.js | 20 +++--- liquid-fire/src/components/liquid-sync.js | 8 +-- liquid-fire/src/components/liquid-versions.js | 17 +++-- liquid-fire/src/constrainables.js | 4 +- liquid-fire/src/constraint.js | 4 +- liquid-fire/src/constraints.js | 62 +++++++++---------- liquid-fire/src/dsl.js | 14 +++-- liquid-fire/src/ember-internals.js | 4 +- liquid-fire/src/mutation-observer.js | 2 +- liquid-fire/src/rule.js | 2 +- liquid-fire/src/running-transition.js | 8 +-- .../src/services/liquid-fire-children.js | 2 +- liquid-fire/src/transition-map.js | 14 ++--- liquid-fire/src/transitions/explode.js | 30 ++++----- liquid-fire/src/transitions/fade.js | 4 +- liquid-fire/src/transitions/fly-to.js | 8 +-- liquid-fire/src/transitions/move-over.js | 12 ++-- liquid-fire/src/transitions/scroll-then.js | 4 +- liquid-fire/src/utils/animate.js | 12 ++-- liquid-fire/src/velocity-ext.js | 12 ++-- 26 files changed, 143 insertions(+), 139 deletions(-) diff --git a/liquid-fire/.eslintrc.cjs b/liquid-fire/.eslintrc.cjs index e89c8112..150b3958 100644 --- a/liquid-fire/.eslintrc.cjs +++ b/liquid-fire/.eslintrc.cjs @@ -23,6 +23,7 @@ module.exports = { eqeqeq: ['error'], 'no-console': ['error'], 'no-var': ['error'], + 'prefer-const': ['error'], }, overrides: [ // node files diff --git a/liquid-fire/src/animate.js b/liquid-fire/src/animate.js index b024d3e1..8eaaab30 100644 --- a/liquid-fire/src/animate.js +++ b/liquid-fire/src/animate.js @@ -18,7 +18,7 @@ export function animate(elt, props, opts, label) { // These numbers are just sane defaults in the probably-impossible // case where somebody tries to read our state before the first // 'progress' callback has fired. - let state = { percentComplete: 0, timeRemaining: 100, timeSpent: 0 }; + const state = { percentComplete: 0, timeRemaining: 100, timeSpent: 0 }; if (!elt) { return Promise.resolve(); @@ -79,7 +79,7 @@ export function stop(elt) { } export function setDefaults(props) { - for (let key in props) { + for (const key in props) { if (Object.hasOwnProperty.call(props, key)) { if (key === 'progress') { throw new Error( @@ -110,7 +110,7 @@ export function timeRemaining(elt, animationLabel) { } function stateForLabel(elt, label) { - let state = isAnimating(elt, label); + const state = isAnimating(elt, label); if (!state) { throw new Error('no animation labeled ' + label + ' is in progress'); } diff --git a/liquid-fire/src/components/liquid-child.js b/liquid-fire/src/components/liquid-child.js index a8821db0..4393c795 100644 --- a/liquid-fire/src/components/liquid-child.js +++ b/liquid-fire/src/components/liquid-child.js @@ -47,7 +47,7 @@ export default class LiquidChildComponent extends Component { return; } this.liquidFireChildren._waitingFor.push(promise); - let ancestor = this.liquidFireChildren.closest(this.element); + const ancestor = this.liquidFireChildren.closest(this.element); if (ancestor) { ancestor._waitForMe(promise); } diff --git a/liquid-fire/src/components/liquid-container.js b/liquid-fire/src/components/liquid-container.js index a8117cdf..0c59c0e8 100644 --- a/liquid-fire/src/components/liquid-container.js +++ b/liquid-fire/src/components/liquid-container.js @@ -61,11 +61,11 @@ export default class LiquidContainerComponent extends Component { @action afterChildInsertion(versions) { - let elt = this.element; - let enableGrowth = this.args.enableGrowth !== false; + const elt = this.element; + const enableGrowth = this.args.enableGrowth !== false; // Measure children - let sizes = []; + const sizes = []; for (let i = 0; i < versions.length; i++) { if (versions[i].view) { sizes[i] = measure(versions[i].view.element); @@ -74,8 +74,8 @@ export default class LiquidContainerComponent extends Component { // Measure ourself again to see how big the new children make // us. - let want = measure(elt); - let have = this._cachedSize || want; + const want = measure(elt); + const have = this._cachedSize || want; // Make ourself absolute if (enableGrowth) { @@ -132,7 +132,7 @@ export default class LiquidContainerComponent extends Component { } unlockSize() { - let doUnlock = () => { + const doUnlock = () => { this.updateAnimatingClass(false); if (this.element) { this.element.style.width = ''; @@ -165,8 +165,8 @@ function goAbsolute(version, size) { if (!version.view) { return; } - let elt = version.view.element; - let pos = { + const elt = version.view.element; + const pos = { top: elt.offsetTop, left: elt.offsetLeft, }; @@ -182,7 +182,7 @@ function goAbsolute(version, size) { function goStatic(version) { if (version.view && !version.view.isDestroyed) { - let elt = version.view.element; + const elt = version.view.element; elt.style.width = ''; elt.style.height = ''; elt.style.position = ''; diff --git a/liquid-fire/src/components/liquid-measured.js b/liquid-fire/src/components/liquid-measured.js index 825d284e..f1b49b52 100644 --- a/liquid-fire/src/components/liquid-measured.js +++ b/liquid-fire/src/components/liquid-measured.js @@ -19,7 +19,7 @@ export default class LiquidMeasuredComponent extends Component { setup(element) { this.element = element; - let self = this; + const self = this; // This prevents margin collapse this.element.style.overflow = 'auto'; @@ -62,7 +62,7 @@ export default class LiquidMeasuredComponent extends Component { // tests from falling through the gap between the time they // triggered mutation the time we may actually animate in // response. - let tmap = this.transitionMap; + const tmap = this.transitionMap; tmap.incrementRunningTransitions(); next(this, function () { this._didMutate(); diff --git a/liquid-fire/src/components/liquid-outlet.js b/liquid-fire/src/components/liquid-outlet.js index ecab42b5..d8bf10c0 100644 --- a/liquid-fire/src/components/liquid-outlet.js +++ b/liquid-fire/src/components/liquid-outlet.js @@ -7,11 +7,11 @@ export default class LiquidOutletComponent extends Component { } get versionEquality() { - let outletName = this.outletName; - let watchModels = this.args.watchModels; + const outletName = this.outletName; + const watchModels = this.args.watchModels; return function (oldValue, newValue) { - let oldChild = childRoute(oldValue, outletName); - let newChild = childRoute(newValue, outletName); + const oldChild = childRoute(oldValue, outletName); + const newChild = childRoute(newValue, outletName); return ( routeIsStable(oldChild, newChild) && (!watchModels || modelIsStable(oldChild, newChild)) diff --git a/liquid-fire/src/components/liquid-spacer.js b/liquid-fire/src/components/liquid-spacer.js index adaf5aab..ef0dc83c 100644 --- a/liquid-fire/src/components/liquid-spacer.js +++ b/liquid-fire/src/components/liquid-spacer.js @@ -41,9 +41,9 @@ export default class LiquidOutletComponent extends Component { setup(element) { this.element = element; - let elt = element; - let child = elt.getElementsByTagName('div')[0]; - let measurements = this.myMeasurements(measure(child)); + const elt = element; + const child = elt.getElementsByTagName('div')[0]; + const measurements = this.myMeasurements(measure(child)); element.style.overflow = 'hidden'; @@ -62,9 +62,9 @@ export default class LiquidOutletComponent extends Component { if (!this.element) { return; } - let want = this.myMeasurements(measurements); - let elt = this.element; - let have = measure(elt); + const want = this.myMeasurements(measurements); + const elt = this.element; + const have = measure(elt); this.animateGrowth(elt, have, want); } @@ -87,7 +87,7 @@ export default class LiquidOutletComponent extends Component { // given our child's outerWidth & outerHeight, figure out what our // outerWidth & outerHeight should be. myMeasurements(childMeasurements) { - let elt = this.element; + const elt = this.element; return { width: childMeasurements.width + @@ -106,12 +106,12 @@ function sides(dimension) { } function padding(dimension) { - let s = sides(dimension); + const s = sides(dimension); return ['padding' + s[0], 'padding' + s[1]]; } function border(dimension) { - let s = sides(dimension); + const s = sides(dimension); return ['border' + s[0] + 'Width', 'border' + s[1] + 'Width']; } @@ -120,7 +120,7 @@ function sumCSS(elt, fields) { const style = getComputedStyle(elt); for (let i = 0; i < fields.length; i++) { - let num = parseFloat(style[fields[i]], 10); + const num = parseFloat(style[fields[i]], 10); if (!isNaN(num)) { accum += num; } diff --git a/liquid-fire/src/components/liquid-sync.js b/liquid-fire/src/components/liquid-sync.js index 8b08e94f..8d4d836e 100644 --- a/liquid-fire/src/components/liquid-sync.js +++ b/liquid-fire/src/components/liquid-sync.js @@ -27,10 +27,10 @@ export default class LiquidSyncComponent extends Component { } pauseLiquidFire() { - let context = this.liquidFireChildren.closest(this.element); + const context = this.liquidFireChildren.closest(this.element); if (context) { - let def = new defer(); - let tmap = this._transitionMap; + const def = new defer(); + const tmap = this._transitionMap; tmap.incrementRunningTransitions(); def.promise.finally(() => tmap.decrementRunningTransitions()); this._lfDefer.push(def); @@ -40,7 +40,7 @@ export default class LiquidSyncComponent extends Component { @action resumeLiquidFire() { - let def = this._lfDefer.pop(); + const def = this._lfDefer.pop(); if (def) { def.resolve(); } diff --git a/liquid-fire/src/components/liquid-versions.js b/liquid-fire/src/components/liquid-versions.js index eff8bfcc..52815984 100644 --- a/liquid-fire/src/components/liquid-versions.js +++ b/liquid-fire/src/components/liquid-versions.js @@ -16,9 +16,9 @@ export default class LiquidVersionsComponent extends Component { appendVersion() { let versions = this.versions; let firstTime = false; - let newValue = this.args.value; + const newValue = this.args.value; let oldValue; - let versionEquality = this.args.versionEquality || defaultEqualityCheck; + const versionEquality = this.args.versionEquality || defaultEqualityCheck; if (!versions) { firstTime = true; @@ -42,7 +42,7 @@ export default class LiquidVersionsComponent extends Component { } this.notifyContainer('willTransition', versions); - let newVersion = { + const newVersion = { value: newValue, uniqueChildId: this.uniqueChildId, }; @@ -64,14 +64,13 @@ export default class LiquidVersionsComponent extends Component { !!this.args.containerElement ); - let versions = this.versions; - let transition; - let firstTime = this.firstTime; + const versions = this.versions; + const firstTime = this.firstTime; this.firstTime = false; this.notifyContainer('afterChildInsertion', versions); - transition = this.transitionMap.transitionFor({ + const transition = this.transitionMap.transitionFor({ versions: versions, parentElement: this.args.containerElement, use: this.args.use, @@ -112,7 +111,7 @@ export default class LiquidVersionsComponent extends Component { } notifyContainer(method, versions) { - let target = this.args.notify; + const target = this.args.notify; if (target && !target.isDestroying) { target[method](versions); } @@ -120,7 +119,7 @@ export default class LiquidVersionsComponent extends Component { @action childDidRender(child) { - let version = child.args.version; + const version = child.args.version; set(version, 'view', child); this._transition(); } diff --git a/liquid-fire/src/constrainables.js b/liquid-fire/src/constrainables.js index 3dc942fa..edfbcef0 100644 --- a/liquid-fire/src/constrainables.js +++ b/liquid-fire/src/constrainables.js @@ -69,7 +69,7 @@ export default { }, parentElementClass: { accessor: function (conditions) { - let cls = conditions.parentElement.getAttribute('class'); + const cls = conditions.parentElement.getAttribute('class'); if (cls) { return cls.split(/\s+/); } @@ -81,6 +81,6 @@ export default { }; function versionValue(conditions, index) { - let versions = conditions.versions; + const versions = conditions.versions; return versions[index] ? versions[index].value : null; } diff --git a/liquid-fire/src/constraint.js b/liquid-fire/src/constraint.js index bfb85d95..212c4b6f 100644 --- a/liquid-fire/src/constraint.js +++ b/liquid-fire/src/constraint.js @@ -32,7 +32,9 @@ export default class Constraint { if (!constrainables[this.target].reversesTo) { return this; } - let inverse = new this.constructor(constrainables[this.target].reversesTo); + const inverse = new this.constructor( + constrainables[this.target].reversesTo + ); inverse.predicate = this.predicate; inverse.keys = this.keys; return inverse; diff --git a/liquid-fire/src/constraints.js b/liquid-fire/src/constraints.js index 8208bd23..69f2ac42 100644 --- a/liquid-fire/src/constraints.js +++ b/liquid-fire/src/constraints.js @@ -22,14 +22,14 @@ export default class Constraints { } this.addHalfRule(rule); if (rule.reverse) { - let inverted = rule.invert(); + const inverted = rule.invert(); inverted.id = rule.id + ' reverse'; this.addHalfRule(inverted); } } addHalfRule(rule) { - let seen = {}; + const seen = {}; rule.constraints.forEach((constraint) => { seen[constraint.target] = true; this.addConstraint(rule, constraint); @@ -42,7 +42,7 @@ export default class Constraints { } addConstraint(rule, constraint) { - let context = this.targets[constraint.target]; + const context = this.targets[constraint.target]; if (!context) { throw new Error(`Unknown constraint target ${constraint.target}`); } @@ -70,8 +70,8 @@ export default class Constraints { ); } - let rules = this.match(conditions); - let best = highestPriority(rules); + const rules = this.match(conditions); + const best = highestPriority(rules); if (rules.length > 1 && this.debug) { rules.forEach((rule) => { @@ -97,18 +97,18 @@ export default class Constraints { } matchByKeys(conditions) { - let matchSets = []; + const matchSets = []; for (let i = 0; i < constrainableKeys.length; i++) { - let key = constrainableKeys[i]; - let value = conditionAccessor(conditions, key); + const key = constrainableKeys[i]; + const value = conditionAccessor(conditions, key); matchSets.push(this.matchingSet(key, value)); } return intersection(matchSets); } matchingSet(prop, value) { - let keys = constraintKeys(value); - let context = this.targets[prop]; + const keys = constraintKeys(value); + const context = this.targets[prop]; let matched = A(); for (let i = 0; i < keys.length; i++) { if (context[keys[i]]) { @@ -130,9 +130,9 @@ export default class Constraints { logDebugRules(matched, context, target, value) { A(Object.keys(context)).forEach((setKey) => { - let set = context[setKey]; + const set = context[setKey]; A(Object.keys(set)).forEach((ruleKey) => { - let rule = set[ruleKey]; + const rule = set[ruleKey]; if (rule.debug && !matched[guidFor(rule)]) { console.log( `${describeRule(rule)} rejected because ${target} was`, @@ -144,12 +144,12 @@ export default class Constraints { } matchPredicates(conditions, rules) { - let output = []; + const output = []; for (let i = 0; i < rules.length; i++) { - let rule = rules[i]; + const rule = rules[i]; let matched = true; for (let j = 0; j < rule.constraints.length; j++) { - let constraint = rule.constraints[j]; + const constraint = rule.constraints[j]; if ( constraint.predicate && !this.matchConstraintPredicate(conditions, rule, constraint) @@ -167,7 +167,7 @@ export default class Constraints { matchConstraintPredicate(conditions, rule, constraint) { let values = conditionAccessor(conditions, constraint.target); - let reverse = constrainables[constraint.target].reversesTo; + const reverse = constrainables[constraint.target].reversesTo; let inverseValues; if (reverse) { inverseValues = conditionAccessor(conditions, reverse); @@ -194,7 +194,7 @@ export default class Constraints { } function conditionAccessor(conditions, key) { - let constrainable = constrainables[key]; + const constrainable = constrainables[key]; if (constrainable.accessor) { return constrainable.accessor(conditions) || []; } else { @@ -205,14 +205,14 @@ function conditionAccessor(conditions, key) { // Returns a list of property values from source whose keys also // appear in all of the rest objects. function intersection(sets) { - let source = sets[0]; - let rest = sets.slice(1); - let keys = Object.keys(source); - let keysLength = keys.length; - let restLength = rest.length; - let result = []; + const source = sets[0]; + const rest = sets.slice(1); + const keys = Object.keys(source); + const keysLength = keys.length; + const restLength = rest.length; + const result = []; for (let keyIndex = 0; keyIndex < keysLength; keyIndex++) { - let key = keys[keyIndex]; + const key = keys[keyIndex]; let matched = true; for (let restIndex = 0; restIndex < restLength; restIndex++) { if (!Object.hasOwnProperty.call(rest[restIndex], key)) { @@ -228,13 +228,13 @@ function intersection(sets) { } function union(sets) { - let setsLength = sets.length; - let output = {}; + const setsLength = sets.length; + const output = {}; for (let i = 0; i < setsLength; i++) { - let set = sets[i]; - let keys = Object.keys(set); + const set = sets[i]; + const keys = Object.keys(set); for (let j = 0; j < keys.length; j++) { - let key = keys[j]; + const key = keys[j]; output[key] = set[key]; } } @@ -249,8 +249,8 @@ function highestPriority(rules) { let best; let bestScore = 0; for (let i = 0; i < rules.length; i++) { - let rule = rules[i]; - let score = rules[i].constraints.length; + const rule = rules[i]; + const score = rules[i].constraints.length; if ( !best || score > bestScore || diff --git a/liquid-fire/src/dsl.js b/liquid-fire/src/dsl.js index 1e5553c6..d6d8d060 100644 --- a/liquid-fire/src/dsl.js +++ b/liquid-fire/src/dsl.js @@ -14,10 +14,12 @@ export default class DSL { } transition() { - let rule = new Rule(); - let parts = Array.prototype.slice.apply(arguments).reduce(function (a, b) { - return a.concat(b); - }, []); + const rule = new Rule(); + const parts = Array.prototype.slice + .apply(arguments) + .reduce(function (a, b) { + return a.concat(b); + }, []); for (let i = 0; i < parts.length; i++) { rule.add(parts[i]); @@ -123,8 +125,8 @@ function matches(elt, s) { if (Element.prototype.matches) { return elt.matches(s); } else { - let matches = (elt.document || elt.ownerDocument).querySelectorAll(s), - i = matches.length; + const matches = (elt.document || elt.ownerDocument).querySelectorAll(s); + let i = matches.length; // eslint-disable-next-line no-empty while (--i >= 0 && matches.item(i) !== elt) {} return i > -1; diff --git a/liquid-fire/src/ember-internals.js b/liquid-fire/src/ember-internals.js index df83484a..721ab1fa 100644 --- a/liquid-fire/src/ember-internals.js +++ b/liquid-fire/src/ember-internals.js @@ -57,7 +57,7 @@ export function routeIsStable(oldRouteInfo, newRouteInfo) { // Only valid for states that already satisfy routeIsStable export function modelIsStable(oldRouteInfo, newRouteInfo) { - let oldModel = routeModel(oldRouteInfo) || []; - let newModel = routeModel(newRouteInfo) || []; + const oldModel = routeModel(oldRouteInfo) || []; + const newModel = routeModel(newRouteInfo) || []; return oldModel[0] === newModel[0]; } diff --git a/liquid-fire/src/mutation-observer.js b/liquid-fire/src/mutation-observer.js index 83cf2cb6..e8285896 100644 --- a/liquid-fire/src/mutation-observer.js +++ b/liquid-fire/src/mutation-observer.js @@ -1,5 +1,5 @@ import isBrowser from './is-browser'; -let activePollers = []; +const activePollers = []; function MutationPoller(callback) { this.callback = callback; diff --git a/liquid-fire/src/rule.js b/liquid-fire/src/rule.js index 19a29fb4..cd8c23fa 100644 --- a/liquid-fire/src/rule.js +++ b/liquid-fire/src/rule.js @@ -42,7 +42,7 @@ export default class Rule { } invert() { - let rule = new this.constructor(); + const rule = new this.constructor(); rule.use = this.reverse; rule.reverse = this.use; rule.constraints = this.constraints.map((c) => c.invert()); diff --git a/liquid-fire/src/running-transition.js b/liquid-fire/src/running-transition.js index f07561d5..38ab6507 100644 --- a/liquid-fire/src/running-transition.js +++ b/liquid-fire/src/running-transition.js @@ -48,13 +48,13 @@ export default class RunningTransition { // This defines the public set of things that user's transition // implementations can access as `this`. function publicAnimationContext(rt, versions) { - let c = {}; + const c = {}; addPublicVersion(c, 'new', versions[0]); if (versions[1]) { addPublicVersion(c, 'old', versions[1]); } c.older = versions.slice(2).map((v) => { - let context = {}; + const context = {}; addPublicVersion(context, null, v); return context; }); @@ -74,12 +74,12 @@ function addPublicVersion(context, prefix, version) { elt = version.view.element; } - let props = { + const props = { view: version.view, element: elt, value: version.value, }; - for (let key in props) { + for (const key in props) { let outputKey = key; if (Object.hasOwnProperty.call(props, key)) { if (prefix) { diff --git a/liquid-fire/src/services/liquid-fire-children.js b/liquid-fire/src/services/liquid-fire-children.js index 3f0595ed..fda3054d 100644 --- a/liquid-fire/src/services/liquid-fire-children.js +++ b/liquid-fire/src/services/liquid-fire-children.js @@ -45,7 +45,7 @@ export default class LiquidFireChildrenService extends Service { return null; } - let child = this.children.find( + const child = this.children.find( (x) => x.uniqueChildId === closestElement.getAttribute('data-liquid-child') ); diff --git a/liquid-fire/src/transition-map.js b/liquid-fire/src/transition-map.js index 2e4c2a26..ab8be4ae 100644 --- a/liquid-fire/src/transition-map.js +++ b/liquid-fire/src/transition-map.js @@ -13,12 +13,12 @@ export default class TransitionMapService extends Service { this.activeCount = 0; this.constraints = new Constraints(); - let owner = getOwner(this); + const owner = getOwner(this); this.isTest = owner.resolveRegistration('config:environment').environment === 'test'; let config; if (owner.factoryFor) { - let maybeConfig = owner.factoryFor('transitions:main'); + const maybeConfig = owner.factoryFor('transitions:main'); config = maybeConfig && maybeConfig.class; } else { config = owner._lookupFactory('transitions:main'); @@ -57,7 +57,7 @@ export default class TransitionMapService extends Service { _maybeResolveIdle() { if (this.activeCount === 0 && this._resolveWaiting) { - let resolveWaiting = this._resolveWaiting; + const resolveWaiting = this._resolveWaiting; this._resolveWaiting = null; this._waitingPromise = null; resolveWaiting(); @@ -65,10 +65,10 @@ export default class TransitionMapService extends Service { } lookup(transitionName) { - let owner = getOwner(this); + const owner = getOwner(this); let handler; if (owner.factoryFor) { - let maybeHandler = owner.factoryFor('transition:' + transitionName); + const maybeHandler = owner.factoryFor('transition:' + transitionName); handler = maybeHandler && maybeHandler.class; } else { handler = owner._lookupFactory('transition:' + transitionName); @@ -88,7 +88,7 @@ export default class TransitionMapService extends Service { constraintsFor(conditions) { if (conditions.rules) { - let constraints = new Constraints(); + const constraints = new Constraints(); this.map(conditions.rules, constraints); return constraints; } else { @@ -102,7 +102,7 @@ export default class TransitionMapService extends Service { action = new Action(conditions.use); action.validateHandler(this); } else { - let rule = this.constraintsFor(conditions).bestMatch(conditions); + const rule = this.constraintsFor(conditions).bestMatch(conditions); if (rule) { action = rule.use; } else { diff --git a/liquid-fire/src/transitions/explode.js b/liquid-fire/src/transitions/explode.js index c89682be..5f5f1284 100644 --- a/liquid-fire/src/transitions/explode.js +++ b/liquid-fire/src/transitions/explode.js @@ -6,28 +6,28 @@ import { Promise } from '../index'; // other elements so that each of the pieces can be targeted by // animations. -let deduplicateChildElementIds = (parentElem) => { +const deduplicateChildElementIds = (parentElem) => { if (!parentElem) { return; } - let parentEl = parentElem; + const parentEl = parentElem; if (parentEl.id) { parentEl.setAttribute('id', `${guidFor(parentEl)}-${parentEl.id}`); } - let childrenWithUniqueIds = parentEl.querySelectorAll('[id]'); + const childrenWithUniqueIds = parentEl.querySelectorAll('[id]'); if (childrenWithUniqueIds.length) { - for (let el of childrenWithUniqueIds) { + for (const el of childrenWithUniqueIds) { el.setAttribute('id', `${guidFor(el)}-${el.id}`); } } }; export default function explode(...pieces) { - let seenElements = {}; + const seenElements = {}; let sawBackgroundPiece = false; - let promises = pieces.map((piece) => { + const promises = pieces.map((piece) => { if (piece.matchBy) { return matchAndExplode(this, piece, seenElements); } else if (piece.pick || piece.pickOld || piece.pickNew) { @@ -49,8 +49,8 @@ export default function explode(...pieces) { } function explodePiece(context, piece, seen) { - let childContext = { ...context }; - let selectors = [piece.pickOld || piece.pick, piece.pickNew || piece.pick]; + const childContext = { ...context }; + const selectors = [piece.pickOld || piece.pick, piece.pickNew || piece.pick]; let cleanupOld, cleanupNew; if (selectors[0] || selectors[1]) { @@ -85,12 +85,12 @@ function explodePiece(context, piece, seen) { function _explodePart(context, field, childContext, selector, seen) { let child, childOffset, width, height, newChild; - let elt = context[field]; + const elt = context[field]; childContext[field] = null; if (elt && selector) { child = [...elt.querySelectorAll(selector)].filter(function (elm) { - let guid = guidFor(elm); + const guid = guidFor(elm); if (!seen[guid]) { seen[guid] = true; return true; @@ -118,7 +118,7 @@ function _explodePart(context, field, childContext, selector, seen) { elt.parentElement.append(newChild); newChild.style.width = `${width}px`; newChild.style.height = `${height}px`; - let newParentOffset = getOffset(newChild.offsetParent); + const newParentOffset = getOffset(newChild.offsetParent); css(newChild, { position: 'absolute', @@ -212,15 +212,17 @@ function matchAndExplode(context, piece, seen) { }; } else { selector = (attrValue) => { - let escapedAttrValue = attrValue.replace(/'/g, "\\'"); + const escapedAttrValue = attrValue.replace(/'/g, "\\'"); return `[${piece.matchBy}='${escapedAttrValue}']`; }; } - let hits = A([...context.oldElement.querySelectorAll(`[${piece.matchBy}]`)]); + const hits = A([ + ...context.oldElement.querySelectorAll(`[${piece.matchBy}]`), + ]); return Promise.all( hits.map((elt) => { - let attrValue = elt.getAttribute(piece.matchBy); + const attrValue = elt.getAttribute(piece.matchBy); // if there is no match for a particular item just skip it if ( diff --git a/liquid-fire/src/transitions/fade.js b/liquid-fire/src/transitions/fade.js index 61d373a2..e9b9409a 100644 --- a/liquid-fire/src/transitions/fade.js +++ b/liquid-fire/src/transitions/fade.js @@ -4,7 +4,7 @@ import { isAnimating, finish, timeSpent, animate, stop } from '../index'; export default function fade(opts = {}) { let firstStep; let outOpts = opts; - let fadingElement = findFadingElement(this); + const fadingElement = findFadingElement(this); if (fadingElement) { // We still have some older version that is in the process of @@ -31,7 +31,7 @@ export default function fade(opts = {}) { function findFadingElement(context) { for (let i = 0; i < context.older.length; i++) { - let entry = context.older[i]; + const entry = context.older[i]; if (isAnimating(entry.element, 'fade-out')) { return entry.element; } diff --git a/liquid-fire/src/transitions/fly-to.js b/liquid-fire/src/transitions/fly-to.js index 342eab1b..fda724e8 100644 --- a/liquid-fire/src/transitions/fly-to.js +++ b/liquid-fire/src/transitions/fly-to.js @@ -8,11 +8,11 @@ export default function flyTo(opts = {}) { return Promise.resolve(); } - let oldOffset = getOffset(this.oldElement); - let newOffset = getOffset(this.newElement); + const oldOffset = getOffset(this.oldElement); + const newOffset = getOffset(this.newElement); if (opts.movingSide === 'new') { - let motion = { + const motion = { translateX: [0, oldOffset.left - newOffset.left], translateY: [0, oldOffset.top - newOffset.top], outerWidth: [this.newElement.offsetWidth, this.oldElement.offsetWidth], @@ -21,7 +21,7 @@ export default function flyTo(opts = {}) { this.oldElement.style.visibility = 'hidden'; return animate(this.newElement, motion, opts); } else { - let motion = { + const motion = { translateX: newOffset.left - oldOffset.left, translateY: newOffset.top - oldOffset.top, outerWidth: this.newElement.offsetWidth, diff --git a/liquid-fire/src/transitions/move-over.js b/liquid-fire/src/transitions/move-over.js index fb11c4fa..2623ccf8 100644 --- a/liquid-fire/src/transitions/move-over.js +++ b/liquid-fire/src/transitions/move-over.js @@ -1,11 +1,9 @@ import { stop, animate, Promise, isAnimating, finish } from '../index'; export default function moveOver(dimension, direction, opts) { - let oldParams = {}, - newParams = {}, - firstStep, - property, - measure; + const oldParams = {}, + newParams = {}; + let firstStep, property, measure; if (dimension.toLowerCase() === 'x') { property = 'translateX'; @@ -23,7 +21,7 @@ export default function moveOver(dimension, direction, opts) { } return firstStep.then(() => { - let bigger = biggestSize(this, measure); + const bigger = biggestSize(this, measure); oldParams[property] = bigger * direction + 'px'; newParams[property] = ['0px', -1 * bigger * direction + 'px']; @@ -35,7 +33,7 @@ export default function moveOver(dimension, direction, opts) { } function biggestSize(context, dimension) { - let sizes = []; + const sizes = []; if (context.newElement) { sizes.push(parseInt(context.newElement.style[dimension], 10)); sizes.push(parseInt(context.newElement.parentElement.style[dimension], 10)); diff --git a/liquid-fire/src/transitions/scroll-then.js b/liquid-fire/src/transitions/scroll-then.js index 9659e07a..a340922c 100644 --- a/liquid-fire/src/transitions/scroll-then.js +++ b/liquid-fire/src/transitions/scroll-then.js @@ -9,8 +9,8 @@ export default function (nextTransitionName, options, ...rest) { 'string' === typeof nextTransitionName ); - let el = document.getElementsByTagName('html'); - let nextTransition = this.lookup(nextTransitionName); + const el = document.getElementsByTagName('html'); + const nextTransition = this.lookup(nextTransitionName); if (!options) { options = {}; } diff --git a/liquid-fire/src/utils/animate.js b/liquid-fire/src/utils/animate.js index 3d9df1a5..2b0fdb4d 100644 --- a/liquid-fire/src/utils/animate.js +++ b/liquid-fire/src/utils/animate.js @@ -2,15 +2,15 @@ import { capitalize } from '@ember/string'; import { Velocity } from '../index'; export function measure($elt) { - let boundingRect = $elt.getBoundingClientRect(); + const boundingRect = $elt.getBoundingClientRect(); // Calculate the scaling. // NOTE: We only handle the simple zoom case. - let claimedWidth = $elt.offsetWidth; + const claimedWidth = $elt.offsetWidth; // Round the width because offsetWidth is rounded - let actualWidth = Math.round(boundingRect.width); - let scale = actualWidth > 0 ? claimedWidth / actualWidth : 0; + const actualWidth = Math.round(boundingRect.width); + const scale = actualWidth > 0 ? claimedWidth / actualWidth : 0; return { width: boundingRect.width * scale, @@ -32,7 +32,7 @@ export function animateGrowth( growPixelsPerSecond ) { transitionMap.incrementRunningTransitions(); - let adaptations = []; + const adaptations = []; if (growWidth) { adaptations.push( @@ -85,7 +85,7 @@ function adaptDimension( if (have[dimension] === want[dimension]) { return Promise.resolve(); } - let target = {}; + const target = {}; target['outer' + capitalize(dimension)] = [want[dimension], have[dimension]]; return Velocity(elt, target, { delay: delayFor(have[dimension], want[dimension], shrinkDelay, growDelay), diff --git a/liquid-fire/src/velocity-ext.js b/liquid-fire/src/velocity-ext.js index 072e726c..600df74e 100644 --- a/liquid-fire/src/velocity-ext.js +++ b/liquid-fire/src/velocity-ext.js @@ -7,10 +7,10 @@ import { Velocity } from './index'; if (typeof FastBoot === 'undefined') { - let VCSS = Velocity.CSS; + const VCSS = Velocity.CSS; - let augmentDimension = function (name, element) { - let sides = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom']; + const augmentDimension = function (name, element) { + const sides = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom']; if ( VCSS.getPropertyValue(element, 'boxSizing').toString().toLowerCase() === @@ -20,14 +20,14 @@ if (typeof FastBoot === 'undefined') { return 0; } else { let augment = 0; - let fields = [ + const fields = [ 'padding' + sides[0], 'padding' + sides[1], 'border' + sides[0] + 'Width', 'border' + sides[1] + 'Width', ]; for (let i = 0; i < fields.length; i++) { - let value = parseFloat(VCSS.getPropertyValue(element, fields[i])); + const value = parseFloat(VCSS.getPropertyValue(element, fields[i])); if (!isNaN(value)) { augment += value; } @@ -36,7 +36,7 @@ if (typeof FastBoot === 'undefined') { } }; - let outerDimension = function (name) { + const outerDimension = function (name) { return function (type, element, propertyValue) { switch (type) { case 'name': From 198c374cbfd836fcc5988be7a40e1362828159ae Mon Sep 17 00:00:00 2001 From: Markus Sanin Date: Thu, 3 Aug 2023 14:52:37 +0200 Subject: [PATCH 05/35] Tests to glimmer --- .../helpers/liquid-bind-block-form-test.js | 12 +++++------ .../integration/helpers/liquid-bind-test.js | 20 +++++++++---------- .../integration/helpers/liquid-outlet-test.js | 18 ++++++++--------- 3 files changed, 25 insertions(+), 25 deletions(-) diff --git a/test-app/tests/integration/helpers/liquid-bind-block-form-test.js b/test-app/tests/integration/helpers/liquid-bind-block-form-test.js index a956460f..e5efae17 100644 --- a/test-app/tests/integration/helpers/liquid-bind-block-form-test.js +++ b/test-app/tests/integration/helpers/liquid-bind-block-form-test.js @@ -19,7 +19,7 @@ module('Integration: liquid-bind block form', function (hooks) { this.set('title', 'Mr'); this.set('person', 'Tom'); await render( - hbs`{{#liquid-bind value=this.person as |p|}}{{this.title}}:{{p}}{{/liquid-bind}}` + hbs`{{this.title}}:{{p}}` ); assert.dom().hasText('Mr:Tom'); }); @@ -27,7 +27,7 @@ module('Integration: liquid-bind block form', function (hooks) { test('it should update', async function (assert) { this.set('person', 'Tom'); await render( - hbs`{{#liquid-bind value=this.person as |p|}}A{{p}}B{{/liquid-bind}}` + hbs`A{{p}}B` ); this.set('person', 'Yehua'); await settled(); @@ -36,7 +36,7 @@ module('Integration: liquid-bind block form', function (hooks) { test('it should support element id', async function (assert) { await render( - hbs`{{#liquid-bind value=this.foo containerId="foo"}} {{/liquid-bind}}` + hbs` ` ); assert .dom('.liquid-container#foo') @@ -52,7 +52,7 @@ module('Integration: liquid-bind block form', function (hooks) { this.transition(this.inHelper('liquid-bind'), this.use(dummyAnimation)); }); sinon.spy(tmap, 'transitionFor'); - await render(hbs`{{#liquid-bind value=this.foo}} {{/liquid-bind}}`); + await render(hbs` `); assert.dom('.liquid-child').exists({ count: 1 }, 'initial child'); assert.ok(tmap.transitionFor.calledOnce, 'initial transition'); assert.notEqual( @@ -75,7 +75,7 @@ module('Integration: liquid-bind block form', function (hooks) { this.containerElement = element; }; await render( - hbs`
    {{#liquid-bind value=this.foo containerless=true containerElement=this.containerElement}}{{this.foo}}{{/liquid-bind}}
    ` + hbs`
    {{this.foo}}
    ` ); assert.dom('.liquid-container').doesNotExist('no container'); assert @@ -89,7 +89,7 @@ module('Integration: liquid-bind block form', function (hooks) { this.containerElement = element; }; await render( - hbs`
    {{#liquid-bind value=this.foo class="bar" containerless=true containerElement=this.containerElement}}{{this.foo}}{{/liquid-bind}}
    ` + hbs`
    {{this.foo}}
    ` ); assert .dom('[data-test-target] > .liquid-child.bar') diff --git a/test-app/tests/integration/helpers/liquid-bind-test.js b/test-app/tests/integration/helpers/liquid-bind-test.js index 8c6c602c..261df05f 100644 --- a/test-app/tests/integration/helpers/liquid-bind-test.js +++ b/test-app/tests/integration/helpers/liquid-bind-test.js @@ -28,7 +28,7 @@ module('Integration: liquid-bind', function (hooks) { test('it should support a static class name', async function (assert) { this.set('name', 'unicorn'); - await render(hbs`{{liquid-bind value=this.name class="magical"}}`); + await render(hbs``); assert .dom('.liquid-container.magical') .exists({ count: 1 }, 'found static class'); @@ -37,7 +37,7 @@ module('Integration: liquid-bind', function (hooks) { test('it should support a dynamic class name', async function (assert) { this.set('name', 'unicorn'); this.set('power', 'rainbow'); - await render(hbs`{{liquid-bind value=this.name class=this.power}}`); + await render(hbs``); assert .dom('.liquid-container.rainbow') .exists({ count: 1 }, 'found dynamic class'); @@ -46,7 +46,7 @@ module('Integration: liquid-bind', function (hooks) { test('it should update a dynamic class name', async function (assert) { this.set('name', 'unicorn'); this.set('power', 'rainbow'); - await render(hbs`{{liquid-bind value=this.name class=this.power}}`); + await render(hbs``); this.set('power', 'sparkle'); assert .dom('.liquid-container.sparkle') @@ -54,7 +54,7 @@ module('Integration: liquid-bind', function (hooks) { }); test('it should support element id', async function (assert) { - await render(hbs`{{liquid-bind value=this.something containerId="foo"}}`); + await render(hbs``); assert .dom('.liquid-container#foo') .exists({ count: 1 }, 'found element by id'); @@ -64,7 +64,7 @@ module('Integration: liquid-bind', function (hooks) { let tmap = this.owner.lookup('service:liquid-fire-transitions'); sinon.spy(tmap, 'transitionFor'); this.set('name', 'unicorn'); - await render(hbs`{{liquid-bind value=this.name use="fade"}}`); + await render(hbs``); this.set('name', 'other'); await settled(); assert.strictEqual( @@ -77,7 +77,7 @@ module('Integration: liquid-bind', function (hooks) { let transition = sinon.stub().returns(resolve()); this.set('transition', transition); this.set('name', 'unicorn'); - await render(hbs`{{liquid-bind value=this.name use=this.transition}}`); + await render(hbs``); this.set('name', 'other'); await settled(); assert.ok(transition.called, 'expected my custom transition to be called'); @@ -94,7 +94,7 @@ module('Integration: liquid-bind', function (hooks) { ); }); this.set('name', 'unicorn'); - await render(hbs`{{liquid-bind value=this.name rules=this.rules}}`); + await render(hbs``); this.set('name', 'other'); await settled(); assert.ok(transitionA.called, 'expected transitionA to run'); @@ -119,7 +119,7 @@ module('Integration: liquid-bind', function (hooks) { this.transition(this.inHelper('liquid-bind'), this.use(dummyAnimation)); }); sinon.spy(tmap, 'transitionFor'); - await render(hbs`{{liquid-bind value=this.foo}}`); + await render(hbs``); this.set('foo', 'bar'); await settled(); assert.strictEqual( @@ -129,7 +129,7 @@ module('Integration: liquid-bind', function (hooks) { }); test('should render child even when false', async function (assert) { - await render(hbs`{{liquid-bind value=this.foo}}`); + await render(hbs``); assert.dom('.liquid-child').exists({ count: 1 }); }); @@ -138,7 +138,7 @@ module('Integration: liquid-bind', function (hooks) { this.containerElement = element; }; await render( - hbs`
    {{liquid-bind value=this.foo containerless=true containerElement=this.containerElement}}
    ` + hbs`
    ` ); assert.dom('.liquid-container').doesNotExist('no container'); assert diff --git a/test-app/tests/integration/helpers/liquid-outlet-test.js b/test-app/tests/integration/helpers/liquid-outlet-test.js index 5a1595ac..c4fb9880 100644 --- a/test-app/tests/integration/helpers/liquid-outlet-test.js +++ b/test-app/tests/integration/helpers/liquid-outlet-test.js @@ -54,7 +54,7 @@ module('Integration: liquid-outlet', function (hooks) { }); test('it should support static class', async function (assert) { - await render(hbs`{{liquid-outlet class="magical"}}`); + await render(hbs``); assert .dom('.liquid-container.magical') .exists({ count: 1 }, 'found static class'); @@ -62,14 +62,14 @@ module('Integration: liquid-outlet', function (hooks) { test('it should support dynamic class', async function (assert) { this.set('power', 'sparkly'); - await render(hbs`{{liquid-outlet class=this.power}}`); + await render(hbs``); assert .dom('.liquid-container.sparkly') .exists({ count: 1 }, 'found dynamic class'); }); test('it should support element id', async function (assert) { - await render(hbs`{{liquid-outlet containerId="foo"}}`); + await render(hbs``); assert .dom('.liquid-container#foo') .exists({ count: 1 }, 'found element by id'); @@ -82,7 +82,7 @@ module('Integration: liquid-outlet', function (hooks) { hbs`{{outlet}}` ); let routerState = this.makeRoute({ - template: hbs`{{liquid-outlet use="fade"}}`, + template: hbs``, }); routerState.setChild('main', { template: hbs`hi` }); this.setState(routerState); @@ -102,7 +102,7 @@ module('Integration: liquid-outlet', function (hooks) { this.containerElement = element; }; await render( - hbs`
    {{liquid-outlet containerless=true containerElement=this.containerElement}}
    ` + hbs`
    ` ); this.setState(this.makeRoute({ template: hbs`

    Hello world

    ` })); await settled(); @@ -117,7 +117,7 @@ module('Integration: liquid-outlet', function (hooks) { this.containerElement = element; }; await render( - hbs`
    {{liquid-outlet class="bar" containerless=true containerElement=this.containerElement}}
    ` + hbs`
    ` ); this.setState(this.makeRoute({ template: hbs`

    Hello world

    ` })); await settled(); @@ -141,7 +141,7 @@ module('Integration: liquid-outlet', function (hooks) { let tmap = this.owner.lookup('service:liquid-fire-transitions'); sinon.spy(tmap, 'transitionFor'); await render( - hbs`{{liquid-outlet watchModels=true }}` + hbs`` ); this.setState(state); assert.dom('.content').hasText('1'); @@ -176,11 +176,11 @@ module('Integration: liquid-outlet', function (hooks) { assert.dom().hasText('ACfooDEB'); }); - test('outlets inside {{liquid-bind}}', async function (assert) { + test('outlets inside ', async function (assert) { this.set('thing', 'Goodbye'); this.setState(this.makeRoute({ template: hbs`Hello` })); await render( - hbs`{{#liquid-bind value=this.thing as |thingVersion|}}{{thingVersion}}{{outlet}}{{/liquid-bind}}` + hbs`{{thingVersion}}{{outlet}}` ); assert.dom().hasText('GoodbyeHello'); this.set('thing', 'Other'); From 321ca76969d8b18cd5040cc6af0a4598b9520f28 Mon Sep 17 00:00:00 2001 From: Markus Sanin Date: Thu, 3 Aug 2023 15:29:35 +0200 Subject: [PATCH 06/35] Convert test-app components to glimmer --- test-app/.eslintrc.js | 20 ++-------- test-app/ember-cli-build.js | 2 +- test-app/package.json | 2 +- .../tests/helpers/ember-testing-internals.js | 40 +++++-------------- .../integration/helpers/liquid-bind-test.js | 20 +++++++--- .../integration/helpers/liquid-if-test.js | 32 +++++++++------ .../integration/helpers/liquid-spacer-test.js | 2 +- .../integration/helpers/liquid-sync-test.js | 20 ++++++---- test-app/tests/unit/libs/dsl-test.js | 19 +++++---- 9 files changed, 75 insertions(+), 82 deletions(-) diff --git a/test-app/.eslintrc.js b/test-app/.eslintrc.js index 3dc104d7..82361152 100644 --- a/test-app/.eslintrc.js +++ b/test-app/.eslintrc.js @@ -23,22 +23,10 @@ module.exports = { browser: true, }, rules: { - 'no-var': 'error', - semi: ['error', 'always'], - 'ember/no-actions-hash': 'off', - 'ember/no-classic-classes': 'off', - 'ember/no-classic-components': 'off', - 'ember/no-component-lifecycle-hooks': 'off', - 'ember/no-get': 'off', - 'ember/no-new-mixins': 'off', - 'ember/no-old-shims': 'error', - 'ember/new-module-imports': 'error', - 'ember/no-jquery': 'off', - 'ember/no-mixins': 'off', - 'ember/no-side-effects': 'error', - 'ember/require-return-from-computed': 'off', - 'ember/require-tagless-components': 'off', - 'no-prototype-builtins': 'off', + // eqeqeq: ['error'], + // 'no-console': ['error'], + // 'no-var': ['error'], + // 'prefer-const': ['error'], }, overrides: [ // node files diff --git a/test-app/ember-cli-build.js b/test-app/ember-cli-build.js index 290d4172..4a05881f 100644 --- a/test-app/ember-cli-build.js +++ b/test-app/ember-cli-build.js @@ -3,7 +3,7 @@ const EmberApp = require('ember-cli/lib/broccoli/ember-app'); module.exports = function (defaults) { - let app = new EmberApp(defaults, { + const app = new EmberApp(defaults, { autoImport: { watchDependencies: ['liquid-fire'], }, diff --git a/test-app/package.json b/test-app/package.json index bf872c4c..7be00184 100644 --- a/test-app/package.json +++ b/test-app/package.json @@ -13,7 +13,7 @@ "scripts": { "build": "ember build --environment=production", "lint": "concurrently \"npm:lint:*(!fix)\" --names \"lint:\"", - "lint:css": "stylelint \"**/*.css\"", + "lint:css": "stylelint \"**/*.css\" --allow-empty-input", "lint:css:fix": "concurrently \"npm:lint:css -- --fix\"", "lint:fix": "concurrently \"npm:lint:*:fix\" --names \"fix:\"", "lint:hbs": "ember-template-lint .", diff --git a/test-app/tests/helpers/ember-testing-internals.js b/test-app/tests/helpers/ember-testing-internals.js index ce1056f6..0c23c490 100644 --- a/test-app/tests/helpers/ember-testing-internals.js +++ b/test-app/tests/helpers/ember-testing-internals.js @@ -1,9 +1,9 @@ -import Component from '@ember/component'; +import Component from '@glimmer/component'; import { guidFor } from '@ember/object/internals'; import Service from '@ember/service'; import { getOwner } from '@ember/application'; -import Ember from 'ember'; import { hbs } from 'ember-cli-htmlbars'; +import { setComponentTemplate } from '@ember/component'; class RouteInfo { constructor(builder, { template, controller, name }, owner) { @@ -38,41 +38,23 @@ class RouteInfo { } } -export const RouteBuilder = Service.extend({ +export const RouteBuilder = class RouteBuilderService extends Service { makeRoute(args) { if (args.template) { args.template = this._prepareTemplate(args.template); } return new RouteInfo(this, args, getOwner(this)); - }, + } + _prepareTemplate(compiled) { let name = `template:${guidFor({})}`; let owner = getOwner(this); owner.register(name, compiled); return owner.lookup(name); - }, -}); - -let usingGlimmer2; -try { - let emberRequire = Ember.__loader.require; - emberRequire('ember-glimmer'); - usingGlimmer2 = true; -} catch (err) { - usingGlimmer2 = false; -} + } +}; -export const SetRouteComponent = Component.extend({ - tagName: '', - layout: hbs`{{#-with-dynamic-vars outletState=this.outletState}}{{yield}}{{/-with-dynamic-vars}}`, - didReceiveAttrs() { - this._super(); - // before glimmer2, outlets aren't really data-down. We need to - // trigger revalidation manually. This is only an issue during - // tests, because we only set outlet states during real - // transitions anyway. - if (!usingGlimmer2) { - this.rerender(); - } - }, -}); +export const SetRouteComponent = setComponentTemplate( + hbs`{{#-with-dynamic-vars outletState=@outletState}}{{yield}}{{/-with-dynamic-vars}}`, + class CustomComponent extends Component {} +); diff --git a/test-app/tests/integration/helpers/liquid-bind-test.js b/test-app/tests/integration/helpers/liquid-bind-test.js index 261df05f..9bc4cfa5 100644 --- a/test-app/tests/integration/helpers/liquid-bind-test.js +++ b/test-app/tests/integration/helpers/liquid-bind-test.js @@ -37,7 +37,9 @@ module('Integration: liquid-bind', function (hooks) { test('it should support a dynamic class name', async function (assert) { this.set('name', 'unicorn'); this.set('power', 'rainbow'); - await render(hbs``); + await render( + hbs`` + ); assert .dom('.liquid-container.rainbow') .exists({ count: 1 }, 'found dynamic class'); @@ -46,7 +48,9 @@ module('Integration: liquid-bind', function (hooks) { test('it should update a dynamic class name', async function (assert) { this.set('name', 'unicorn'); this.set('power', 'rainbow'); - await render(hbs``); + await render( + hbs`` + ); this.set('power', 'sparkle'); assert .dom('.liquid-container.sparkle') @@ -54,7 +58,9 @@ module('Integration: liquid-bind', function (hooks) { }); test('it should support element id', async function (assert) { - await render(hbs``); + await render( + hbs`` + ); assert .dom('.liquid-container#foo') .exists({ count: 1 }, 'found element by id'); @@ -77,7 +83,9 @@ module('Integration: liquid-bind', function (hooks) { let transition = sinon.stub().returns(resolve()); this.set('transition', transition); this.set('name', 'unicorn'); - await render(hbs``); + await render( + hbs`` + ); this.set('name', 'other'); await settled(); assert.ok(transition.called, 'expected my custom transition to be called'); @@ -94,7 +102,9 @@ module('Integration: liquid-bind', function (hooks) { ); }); this.set('name', 'unicorn'); - await render(hbs``); + await render( + hbs`` + ); this.set('name', 'other'); await settled(); assert.ok(transitionA.called, 'expected transitionA to run'); diff --git a/test-app/tests/integration/helpers/liquid-if-test.js b/test-app/tests/integration/helpers/liquid-if-test.js index 35c9e1f7..14cf2cbe 100644 --- a/test-app/tests/integration/helpers/liquid-if-test.js +++ b/test-app/tests/integration/helpers/liquid-if-test.js @@ -33,7 +33,7 @@ module('Integration: liquid-if', function (hooks) { }); test('it should work without else block', async function (assert) { - await render(hbs`{{#liquid-if predicate=this.isReady}}Hi{{/liquid-if}}`); + await render(hbs`Hi`); assert.dom('.liquid-child').doesNotExist(); this.set('isReady', true); assert.dom('.liquid-child').exists({ count: 1 }); @@ -41,14 +41,16 @@ module('Integration: liquid-if', function (hooks) { }); test('it should support static class name', async function (assert) { - await render(hbs`{{#liquid-if predicate=this.isReady class="foo"}}hi{{/liquid-if}}`); + await render( + hbs`hi` + ); assert.dom('.liquid-container.foo').exists({ count: 1 }, 'found class foo'); }); test('it should support dynamic class name', async function (assert) { this.set('foo', 'bar'); await render( - hbs`{{#liquid-if predicate=this.isReady class=this.foo}}hi{{/liquid-if}}` + hbs`hi` ); assert.dom('.liquid-container.bar').exists({ count: 1 }, 'found class bar'); }); @@ -56,7 +58,7 @@ module('Integration: liquid-if', function (hooks) { test('it should update dynamic class name', async function (assert) { this.set('foo', 'bar'); await render( - hbs`{{#liquid-if predicate=this.isReady class=this.foo}}hi{{/liquid-if}}` + hbs`hi` ); this.set('foo', 'bar2'); assert @@ -66,7 +68,7 @@ module('Integration: liquid-if', function (hooks) { test('it should support element id', async function (assert) { await render( - hbs`{{#liquid-if predicate=this.isReady containerId="foo"}}hi{{/liquid-if}}` + hbs`hi` ); assert .dom('.liquid-container#foo') @@ -86,7 +88,9 @@ module('Integration: liquid-if', function (hooks) { test('liquid-unless should have no content when true and there is no else block', async function (assert) { this.set('isReady', true); - await render(hbs`{{#liquid-unless predicate=this.isReady}}hi{{/liquid-unless}}`); + await render( + hbs`hi` + ); assert.dom('.liquid-container').exists({ count: 1 }, 'have container'); assert.dom('.liquid-child').doesNotExist('no child'); }); @@ -95,7 +99,7 @@ module('Integration: liquid-if', function (hooks) { this.set('isReady', true); this.containerElement = document.querySelector('body'); await render( - hbs`{{#liquid-unless predicate=this.isReady containerless=true containerElement=this.containerElement}}hi{{/liquid-unless}}` + hbs`hi` ); assert.dom('.liquid-container').doesNotExist('no container'); assert.dom('.liquid-child').doesNotExist('no child'); @@ -110,7 +114,9 @@ module('Integration: liquid-if', function (hooks) { this.transition(this.inHelper('liquid-if'), this.use(dummyAnimation)); }); sinon.spy(tmap, 'transitionFor'); - await render(hbs`{{#liquid-if predicate=this.isReady}}A{{else}}B{{/liquid-if}}`); + await render( + hbs`{{#liquid-if predicate=this.isReady}}A{{else}}B{{/liquid-if}}` + ); this.set('isReady', true); await settled(); assert.strictEqual( @@ -140,7 +146,7 @@ module('Integration: liquid-if', function (hooks) { }); test('it should have no content when false and there is no else block', async function (assert) { - await render(hbs`{{#liquid-if predicate=this.isReady }}hi{{/liquid-if}}`); + await render(hbs`hi`); assert.dom('.liquid-container').exists({ count: 1 }, 'have container'); assert.dom('.liquid-child').doesNotExist('no child'); }); @@ -148,7 +154,7 @@ module('Integration: liquid-if', function (hooks) { test('it should have no content when false and there is no else block in containerless mode', async function (assert) { this.containerElement = document.querySelector('body'); await render( - hbs`{{#liquid-if predicate=this.isReady containerless=true containerElement=this.containerElement}}hi{{/liquid-if}}` + hbs`hi` ); assert.dom('.liquid-container').doesNotExist('no container'); assert.dom('.liquid-child').doesNotExist('no child'); @@ -160,7 +166,7 @@ module('Integration: liquid-if', function (hooks) { this.containerElement = element; }; await render( - hbs`
    {{#liquid-if predicate=this.isReady containerless=true containerElement=this.containerElement}}hi{{/liquid-if}}
    ` + hbs`
    hi
    ` ); assert.dom('.liquid-container').doesNotExist('no container'); assert @@ -175,7 +181,7 @@ module('Integration: liquid-if', function (hooks) { this.containerElement = element; }; await render( - hbs`
    {{#liquid-if predicate=this.isReady class="bar" containerless=true containerElement=this.containerElement}}hi{{/liquid-if}}
    ` + hbs`
    hi
    ` ); assert .dom('[data-test-target] > .liquid-child.bar') @@ -194,7 +200,7 @@ module('Integration: liquid-if', function (hooks) { }); this.set('predicate', false); await render( - hbs`{{#liquid-if predicate=this.predicate rules=this.rules}}hi{{/liquid-if}}` + hbs`hi` ); this.set('predicate', true); await settled(); diff --git a/test-app/tests/integration/helpers/liquid-spacer-test.js b/test-app/tests/integration/helpers/liquid-spacer-test.js index 923e17b4..52afd459 100644 --- a/test-app/tests/integration/helpers/liquid-spacer-test.js +++ b/test-app/tests/integration/helpers/liquid-spacer-test.js @@ -24,7 +24,7 @@ module('Integration: liquid-spacer', function (hooks) { assert.expect(1); let theSpacer; - + this.spacer = ensureSafeComponent( class LiquidSpacerComponent extends LiquidSpacer { constructor() { diff --git a/test-app/tests/integration/helpers/liquid-sync-test.js b/test-app/tests/integration/helpers/liquid-sync-test.js index fe66cd30..f749e18f 100644 --- a/test-app/tests/integration/helpers/liquid-sync-test.js +++ b/test-app/tests/integration/helpers/liquid-sync-test.js @@ -3,7 +3,7 @@ import { Promise as EmberPromise } from 'rsvp'; import { module, test } from 'qunit'; import { setupRenderingTest } from 'ember-qunit'; import { render, settled } from '@ember/test-helpers'; -import Component from '@ember/component'; +import Component from '@glimmer/component'; import { hbs } from 'ember-cli-htmlbars'; import { ensureSafeComponent } from '@embroider/util'; import { setComponentTemplate } from '@ember/component'; @@ -19,12 +19,16 @@ module('Integration | Component | liquid sync', function (hooks) { this.Sample = ensureSafeComponent( setComponentTemplate( hbs`
    Sample
    `, - Component.extend({ - didInsertElement() { - this._super(...arguments); + class CustomComponent extends Component { + constructor() { + super(...arguments); sample = this; - }, - }) + } + + ready() { + return this.args.ready(); + } + } ), this ); @@ -57,7 +61,7 @@ module('Integration | Component | liquid sync', function (hooks) { assert.dom('.sample').exists({ count: 1 }, 'Found sample'); run(() => sample.ready()); - + await settled(); assert.true(animationStarted, 'Animation started'); @@ -92,7 +96,7 @@ module('Integration | Component | liquid sync', function (hooks) { assert.dom('.sample').exists({ count: 1 }, 'Found sample'); this.set('innerThing', true); - + await settled(); assert.true(animationStarted, 'Animation started'); diff --git a/test-app/tests/unit/libs/dsl-test.js b/test-app/tests/unit/libs/dsl-test.js index 19966d3d..650f69c4 100644 --- a/test-app/tests/unit/libs/dsl-test.js +++ b/test-app/tests/unit/libs/dsl-test.js @@ -1,4 +1,3 @@ -import EmberObject from '@ember/object'; import { run } from '@ember/runloop'; import Application from '../../../app'; import { module, test } from 'qunit'; @@ -361,7 +360,11 @@ module('Transitions DSL', function (hooks) { test('combines multiple value constraints', function (assert) { assert.expect(3); - let Pet = EmberObject.extend(); + class Pet { + constructor(name) { + this.name = name; + } + } t.map(function () { this.transition( @@ -369,7 +372,7 @@ module('Transitions DSL', function (hooks) { return v instanceof Pet; }), this.toValue(function (v) { - return v.get('name') === 'Fluffy'; + return v.name === 'Fluffy'; }), this.use(dummyAction) ); @@ -377,17 +380,17 @@ module('Transitions DSL', function (hooks) { expectNoAnimation( assert, - values(null, Pet.create()), + values(null, new Pet()), 'should not match because of name' ); expectNoAnimation( assert, - values(null, EmberObject.create({ name: 'Fluffy' })), + values(null, { name: 'Fluffy' }), 'should not match because of instanceof' ); expectAnimation( assert, - values(null, Pet.create({ name: 'Fluffy' })), + values(null, new Pet('Fluffy')), dummyAction, 'should match both' ); @@ -483,7 +486,7 @@ module('Transitions DSL', function (hooks) { function otherAction() {} function routes(a, b) { - let builder = RouteBuilder.create(); + let builder = new RouteBuilder(); return values( a ? builder.makeRoute({ name: a }).asTop() : null, b ? builder.makeRoute({ name: b }).asTop() : null @@ -491,7 +494,7 @@ module('Transitions DSL', function (hooks) { } function models(a, b) { - let builder = RouteBuilder.create(); + let builder = new RouteBuilder(); return values( a ? builder.makeRoute({ controller: { model: a } }).asTop() : null, b ? builder.makeRoute({ controller: { model: b } }).asTop() : null From b4c42561765db1b51925cde0931fe09351cb0906 Mon Sep 17 00:00:00 2001 From: Markus Sanin Date: Thu, 3 Aug 2023 15:32:03 +0200 Subject: [PATCH 07/35] let to const --- test-app/.eslintrc.js | 8 ++--- .../tests/helpers/ember-testing-internals.js | 6 ++-- test-app/tests/helpers/integration.js | 8 ++--- .../helpers/liquid-bind-block-form-test.js | 8 ++--- .../integration/helpers/liquid-bind-test.js | 16 +++++----- .../helpers/liquid-container-test.js | 3 +- .../integration/helpers/liquid-if-test.js | 16 +++++----- .../helpers/liquid-measured-test.js | 4 +-- .../integration/helpers/liquid-outlet-test.js | 18 +++++------ .../integration/helpers/liquid-spacer-test.js | 19 ++++++------ .../integration/transitions/explode-test.js | 31 ++++++++++--------- test-app/tests/unit/libs/dsl-test.js | 22 ++++++------- 12 files changed, 80 insertions(+), 79 deletions(-) diff --git a/test-app/.eslintrc.js b/test-app/.eslintrc.js index 82361152..17cb0271 100644 --- a/test-app/.eslintrc.js +++ b/test-app/.eslintrc.js @@ -23,10 +23,10 @@ module.exports = { browser: true, }, rules: { - // eqeqeq: ['error'], - // 'no-console': ['error'], - // 'no-var': ['error'], - // 'prefer-const': ['error'], + eqeqeq: ['error'], + 'no-console': ['error'], + 'no-var': ['error'], + 'prefer-const': ['error'], }, overrides: [ // node files diff --git a/test-app/tests/helpers/ember-testing-internals.js b/test-app/tests/helpers/ember-testing-internals.js index 0c23c490..ee65790b 100644 --- a/test-app/tests/helpers/ember-testing-internals.js +++ b/test-app/tests/helpers/ember-testing-internals.js @@ -27,7 +27,7 @@ class RouteInfo { }; } _serialize() { - let outlets = {}; + const outlets = {}; Object.keys(this.outlets).forEach((key) => { outlets[key] = this.outlets[key]._serialize(); }); @@ -47,8 +47,8 @@ export const RouteBuilder = class RouteBuilderService extends Service { } _prepareTemplate(compiled) { - let name = `template:${guidFor({})}`; - let owner = getOwner(this); + const name = `template:${guidFor({})}`; + const owner = getOwner(this); owner.register(name, compiled); return owner.lookup(name); } diff --git a/test-app/tests/helpers/integration.js b/test-app/tests/helpers/integration.js index 5f2a3614..f73a3266 100644 --- a/test-app/tests/helpers/integration.js +++ b/test-app/tests/helpers/integration.js @@ -14,8 +14,8 @@ function transitionName(name) { export function setupTransitionTest(hooks) { hooks.beforeEach(function (assert) { - let context = getContext(); - let tmap = transitionMap(context); + const context = getContext(); + const tmap = transitionMap(context); sinon.spy(tmap, 'transitionFor'); assert.ranTransition = function ranTransition(name) { this.ok( @@ -24,8 +24,8 @@ export function setupTransitionTest(hooks) { ); }; assert.noTransitionsYet = function noTransitionsYet() { - let tmap = transitionMap(context); - let ranTransitions = A(tmap.transitionFor.returnValues); + const tmap = transitionMap(context); + const ranTransitions = A(tmap.transitionFor.returnValues); return !ranTransitions.any( (transition) => transition.animation !== tmap.defaultAction() ); diff --git a/test-app/tests/integration/helpers/liquid-bind-block-form-test.js b/test-app/tests/integration/helpers/liquid-bind-block-form-test.js index e5efae17..5288fb21 100644 --- a/test-app/tests/integration/helpers/liquid-bind-block-form-test.js +++ b/test-app/tests/integration/helpers/liquid-bind-block-form-test.js @@ -10,8 +10,8 @@ module('Integration: liquid-bind block form', function (hooks) { setupRenderingTest(hooks); hooks.afterEach(function (assert) { - let done = assert.async(); - let tmap = this.owner.lookup('service:liquid-fire-transitions'); + const done = assert.async(); + const tmap = this.owner.lookup('service:liquid-fire-transitions'); tmap.waitUntilIdle().then(done); }); @@ -44,8 +44,8 @@ module('Integration: liquid-bind block form', function (hooks) { }); test('it should animate after initially rendering empty', async function (assert) { - let tmap = this.owner.lookup('service:liquid-fire-transitions'); - let dummyAnimation = function () { + const tmap = this.owner.lookup('service:liquid-fire-transitions'); + const dummyAnimation = function () { return resolve(); }; tmap.map(function () { diff --git a/test-app/tests/integration/helpers/liquid-bind-test.js b/test-app/tests/integration/helpers/liquid-bind-test.js index 9bc4cfa5..71f96efd 100644 --- a/test-app/tests/integration/helpers/liquid-bind-test.js +++ b/test-app/tests/integration/helpers/liquid-bind-test.js @@ -9,8 +9,8 @@ module('Integration: liquid-bind', function (hooks) { setupRenderingTest(hooks); hooks.afterEach(function (assert) { - let done = assert.async(); - let tmap = this.owner.lookup('service:liquid-fire-transitions'); + const done = assert.async(); + const tmap = this.owner.lookup('service:liquid-fire-transitions'); tmap.waitUntilIdle().then(done); }); @@ -67,7 +67,7 @@ module('Integration: liquid-bind', function (hooks) { }); test('it should support `use` option with a name', async function (assert) { - let tmap = this.owner.lookup('service:liquid-fire-transitions'); + const tmap = this.owner.lookup('service:liquid-fire-transitions'); sinon.spy(tmap, 'transitionFor'); this.set('name', 'unicorn'); await render(hbs``); @@ -80,7 +80,7 @@ module('Integration: liquid-bind', function (hooks) { }); test('it should support `use` option with a function', async function (assert) { - let transition = sinon.stub().returns(resolve()); + const transition = sinon.stub().returns(resolve()); this.set('transition', transition); this.set('name', 'unicorn'); await render( @@ -92,8 +92,8 @@ module('Integration: liquid-bind', function (hooks) { }); test('it should support locally-scoped `rules`', async function (assert) { - let transitionA = sinon.stub().returns(resolve()); - let transitionB = sinon.stub().returns(resolve()); + const transitionA = sinon.stub().returns(resolve()); + const transitionB = sinon.stub().returns(resolve()); this.set('rules', function () { this.transition( this.toValue('other'), @@ -121,8 +121,8 @@ module('Integration: liquid-bind', function (hooks) { }); test('if should match correct helper name', async function (assert) { - let tmap = this.owner.lookup('service:liquid-fire-transitions'); - let dummyAnimation = function () { + const tmap = this.owner.lookup('service:liquid-fire-transitions'); + const dummyAnimation = function () { return resolve(); }; tmap.map(function () { diff --git a/test-app/tests/integration/helpers/liquid-container-test.js b/test-app/tests/integration/helpers/liquid-container-test.js index 201494da..ffd6b08e 100644 --- a/test-app/tests/integration/helpers/liquid-container-test.js +++ b/test-app/tests/integration/helpers/liquid-container-test.js @@ -19,7 +19,6 @@ module('Integration: liquid-container', function (hooks) { ['content-box', 'border-box'].forEach(function (boxSizing) { test(`it should maintain size stability (${boxSizing})`, async function (assert) { - let initialSize; this.set('value', 'first-value'); this.set('boxSizing', boxSizing); this.set('toggle', () => { @@ -65,7 +64,7 @@ module('Integration: liquid-container', function (hooks) { `); await tmap.waitUntilIdle(); - initialSize = { + const initialSize = { width: this.element.querySelector('.test-container').offsetWidth, height: this.element.querySelector('.test-container').offsetHeight, }; diff --git a/test-app/tests/integration/helpers/liquid-if-test.js b/test-app/tests/integration/helpers/liquid-if-test.js index 14cf2cbe..ee2d8a8a 100644 --- a/test-app/tests/integration/helpers/liquid-if-test.js +++ b/test-app/tests/integration/helpers/liquid-if-test.js @@ -9,8 +9,8 @@ module('Integration: liquid-if', function (hooks) { setupRenderingTest(hooks); hooks.afterEach(function (assert) { - let done = assert.async(); - let tmap = this.owner.lookup('service:liquid-fire-transitions'); + const done = assert.async(); + const tmap = this.owner.lookup('service:liquid-fire-transitions'); tmap.waitUntilIdle().then(done); }); @@ -106,8 +106,8 @@ module('Integration: liquid-if', function (hooks) { }); test('liquid-if should match correct helper name', async function (assert) { - let tmap = this.owner.lookup('service:liquid-fire-transitions'); - let dummyAnimation = function () { + const tmap = this.owner.lookup('service:liquid-fire-transitions'); + const dummyAnimation = function () { return resolve(); }; tmap.map(function () { @@ -126,8 +126,8 @@ module('Integration: liquid-if', function (hooks) { }); test('liquid-unless should match correct helper name', async function (assert) { - let tmap = this.owner.lookup('service:liquid-fire-transitions'); - let dummyAnimation = function () { + const tmap = this.owner.lookup('service:liquid-fire-transitions'); + const dummyAnimation = function () { return resolve(); }; tmap.map(function () { @@ -189,8 +189,8 @@ module('Integration: liquid-if', function (hooks) { }); test('it should support locally-scoped `rules`', async function (assert) { - let transitionA = sinon.stub().returns(resolve()); - let transitionB = sinon.stub().returns(resolve()); + const transitionA = sinon.stub().returns(resolve()); + const transitionB = sinon.stub().returns(resolve()); this.set('rules', function () { this.transition( this.toValue(true), diff --git a/test-app/tests/integration/helpers/liquid-measured-test.js b/test-app/tests/integration/helpers/liquid-measured-test.js index 12e52ef7..f65d2d6d 100644 --- a/test-app/tests/integration/helpers/liquid-measured-test.js +++ b/test-app/tests/integration/helpers/liquid-measured-test.js @@ -10,9 +10,9 @@ module('Integration: liquid-measured', function (hooks) { test('it should update measurements when window is resized', async function (assert) { assert.expect(2); - let didMeasureSpy = sinon.spy(); + const didMeasureSpy = sinon.spy(); this.set('didMeasureSpy', didMeasureSpy); - let template = hbs`hello`; + const template = hbs`hello`; await render(template); assert.strictEqual(didMeasureSpy.callCount, 1); diff --git a/test-app/tests/integration/helpers/liquid-outlet-test.js b/test-app/tests/integration/helpers/liquid-outlet-test.js index c4fb9880..6577d84b 100644 --- a/test-app/tests/integration/helpers/liquid-outlet-test.js +++ b/test-app/tests/integration/helpers/liquid-outlet-test.js @@ -28,8 +28,8 @@ module('Integration: liquid-outlet', function (hooks) { }); hooks.afterEach(function (assert) { - let done = assert.async(); - let tmap = this.owner.lookup('service:liquid-fire-transitions'); + const done = assert.async(); + const tmap = this.owner.lookup('service:liquid-fire-transitions'); tmap.waitUntilIdle().then(done); }); @@ -45,7 +45,7 @@ module('Integration: liquid-outlet', function (hooks) { await render( hbs`A{{outlet}}B` ); - let hello = this.makeRoute({ template: hbs`Hello` }); + const hello = this.makeRoute({ template: hbs`Hello` }); this.setState(hello); assert.dom().hasText('AHelloB'); hello.setChild('main', { template: hbs`Goodbye` }); @@ -76,12 +76,12 @@ module('Integration: liquid-outlet', function (hooks) { }); test('it should support `use` option', async function (assert) { - let tmap = this.owner.lookup('service:liquid-fire-transitions'); + const tmap = this.owner.lookup('service:liquid-fire-transitions'); sinon.spy(tmap, 'transitionFor'); await render( hbs`{{outlet}}` ); - let routerState = this.makeRoute({ + const routerState = this.makeRoute({ template: hbs``, }); routerState.setChild('main', { template: hbs`hi` }); @@ -127,18 +127,18 @@ module('Integration: liquid-outlet', function (hooks) { }); test('can see model-to-model transitions on the same route', async function (assert) { - let controller = this.owner.lookup('controller:application'); + const controller = this.owner.lookup('controller:application'); controller.set( 'model', EmberObject.create({ id: 1, }) ); - let state = this.makeRoute({ + const state = this.makeRoute({ template: hbs`'
    {{this.model.id}}
    `, controller, }); - let tmap = this.owner.lookup('service:liquid-fire-transitions'); + const tmap = this.owner.lookup('service:liquid-fire-transitions'); sinon.spy(tmap, 'transitionFor'); await render( hbs`` @@ -165,7 +165,7 @@ module('Integration: liquid-outlet', function (hooks) { hbs`AB` ); - let state = this.makeRoute({ + const state = this.makeRoute({ template: hbs`CDE`, }); diff --git a/test-app/tests/integration/helpers/liquid-spacer-test.js b/test-app/tests/integration/helpers/liquid-spacer-test.js index 52afd459..2bad39c8 100644 --- a/test-app/tests/integration/helpers/liquid-spacer-test.js +++ b/test-app/tests/integration/helpers/liquid-spacer-test.js @@ -49,7 +49,7 @@ module('Integration: liquid-spacer', function (hooks) { this.set('message', shortMessage); testingKick(); return tmap.waitUntilIdle().then(() => { - let [, have, want] = theSpacer.animateGrowth.lastCall.args; + const [, have, want] = theSpacer.animateGrowth.lastCall.args; assert.ok( want.height < have.height, `expected ${want.height} < ${have.height}` @@ -87,8 +87,9 @@ module('Integration: liquid-spacer', function (hooks) {
    `); - let initialWidth = this.element.querySelector('#my-spacer').offsetWidth; - let initialHeight = this.element.querySelector('#my-spacer').offsetHeight; + const initialWidth = this.element.querySelector('#my-spacer').offsetWidth; + const initialHeight = + this.element.querySelector('#my-spacer').offsetHeight; this.set('message', shortMessage); testingKick(); await tmap.waitUntilIdle(); @@ -117,7 +118,7 @@ module('Integration: liquid-spacer', function (hooks) { `); - let style = findAll('#my-spacer')[0].style; + const style = findAll('#my-spacer')[0].style; assert.strictEqual(style.width, '', 'width style is unset'); assert.ok( @@ -135,7 +136,7 @@ module('Integration: liquid-spacer', function (hooks) { `); - let style = findAll('#my-spacer')[0].style; + const style = findAll('#my-spacer')[0].style; assert.strictEqual(style.height, '', 'height style is unset'); assert.ok( @@ -156,11 +157,11 @@ module('Integration: liquid-spacer', function (hooks) {
    `); - let style = findAll('#my-spacer')[0].style; + const style = findAll('#my-spacer')[0].style; - let expectedHeight = 50; - let height = parseFloat(style.height, 10); - let tolerance = 0.1; + const expectedHeight = 50; + const height = parseFloat(style.height, 10); + const tolerance = 0.1; assert.ok( Math.abs(height - expectedHeight) < tolerance, `height (${height}) is within ${tolerance} pixels of ${expectedHeight}` diff --git a/test-app/tests/integration/transitions/explode-test.js b/test-app/tests/integration/transitions/explode-test.js index e5d9b887..b5732a33 100644 --- a/test-app/tests/integration/transitions/explode-test.js +++ b/test-app/tests/integration/transitions/explode-test.js @@ -8,7 +8,7 @@ import { ensureSafeComponent } from '@embroider/util'; import { setComponentTemplate } from '@ember/component'; import templateOnlyComponent from '@ember/component/template-only'; -let Promise = EmberPromise; +const Promise = EmberPromise; let tmap; module('Integration: explode transition', function (hooks) { @@ -82,7 +82,6 @@ module('Integration: explode transition', function (hooks) { }); test('it provides default visibility control for background', async function (assert) { - let liquidContainer; assert.expect(2); tmap.map(function () { this.transition( @@ -122,7 +121,7 @@ module('Integration: explode transition', function (hooks) {
    {{/liquid-if}} `); - liquidContainer = this.element.querySelector('.liquid-container'); + const liquidContainer = this.element.querySelector('.liquid-container'); this.set('showBlue', true); return tmap.waitUntilIdle(); }); @@ -240,8 +239,8 @@ module('Integration: explode transition', function (hooks) { this.use('explode', { matchBy: 'data-model-id', use: function () { - let oldText = this.oldElement && this.oldElement.textContent; - let newText = this.newElement && this.newElement.textContent; + const oldText = this.oldElement && this.oldElement.textContent; + const newText = this.newElement && this.newElement.textContent; assert.ok(/Old/.test(oldText), 'old text'); assert.ok(/New/.test(newText), 'new text'); assert.strictEqual(oldText?.slice(4), newText?.slice(4)); @@ -271,8 +270,8 @@ module('Integration: explode transition', function (hooks) { this.use('explode', { matchBy: 'data-model-name', use: function () { - let oldText = this.oldElement && this.oldElement.textContent; - let newText = this.newElement && this.newElement.textContent; + const oldText = this.oldElement && this.oldElement.textContent; + const newText = this.newElement && this.newElement.textContent; assert.ok(/Old/.test(oldText), 'old text'); assert.ok(/New/.test(newText), 'new text'); return resolve(); @@ -402,8 +401,8 @@ module('Integration: explode transition', function (hooks) { pickNew: '.reducedScope', matchBy: 'id', use: function () { - let oldText = this.oldElement && this.oldElement.textContent; - let newText = this.newElement && this.newElement.textContent; + const oldText = this.oldElement && this.oldElement.textContent; + const newText = this.newElement && this.newElement.textContent; assert.ok(/Old/.test(oldText), 'old text'); assert.ok(/New/.test(newText), 'new text'); assert.strictEqual(oldText?.slice(4), newText?.slice(4)); @@ -452,9 +451,10 @@ module('Integration: explode transition', function (hooks) { // original oldElement, which we can still find inside a // liquid-child (the copy is not inside a liquid-child, that // is part of the point of explode). - let realOldElement = this.oldElement.parentElement.querySelector( - '.liquid-child .redbox' - ); + const realOldElement = + this.oldElement.parentElement.querySelector( + '.liquid-child .redbox' + ); assert.true(!!realOldElement, 'found actual old element'); assert.strictEqual(realOldElement.style.visibility, 'hidden'); assert.deepEqual( @@ -518,9 +518,10 @@ module('Integration: explode transition', function (hooks) { // original oldElement, which we can still find inside a // liquid-child (the copy is not inside a liquid-child, that // is part of the point of explode). - let realOldElement = this.oldElement.parentElement.querySelector( - '.liquid-child .greenbox' - ); + const realOldElement = + this.oldElement.parentElement.querySelector( + '.liquid-child .greenbox' + ); assert.true(!!realOldElement, 'found actual old element'); assert.strictEqual(realOldElement.style.visibility, 'hidden'); assert.deepEqual( diff --git a/test-app/tests/unit/libs/dsl-test.js b/test-app/tests/unit/libs/dsl-test.js index 650f69c4..a5743966 100644 --- a/test-app/tests/unit/libs/dsl-test.js +++ b/test-app/tests/unit/libs/dsl-test.js @@ -6,7 +6,7 @@ import { RouteBuilder } from '../../helpers/ember-testing-internals'; let application, t, defaultHandler; run(function () { - let options = { + const options = { autoboot: false, }; @@ -15,7 +15,7 @@ run(function () { module('Transitions DSL', function (hooks) { hooks.beforeEach(function () { - let instance = application.buildInstance(); + const instance = application.buildInstance(); if (instance.lookup) { t = instance.lookup('service:liquid-fire-transitions'); } else { @@ -334,7 +334,7 @@ module('Transitions DSL', function (hooks) { // eslint-disable-next-line qunit/resolve-async test('passes arguments through to transitions', function (assert) { - let done = assert.async(); + const done = assert.async(); assert.expect(3); t.map(function () { this.transition( @@ -353,7 +353,7 @@ module('Transitions DSL', function (hooks) { ); }); - let action = t.transitionFor(routes('one', 'two')); + const action = t.transitionFor(routes('one', 'two')); action.run().then(done, done); }); @@ -418,7 +418,7 @@ module('Transitions DSL', function (hooks) { t.map(function () { this.transition(this.toRoute('two'), this.use(dummyAction)); }); - let conditions = routes('one', 'two'); + const conditions = routes('one', 'two'); conditions.firstTime = 'yes'; expectNoAnimation(assert, conditions); }); @@ -433,7 +433,7 @@ module('Transitions DSL', function (hooks) { this.use(dummyAction) ); }); - let conditions = routes('one', 'two'); + const conditions = routes('one', 'two'); conditions.firstTime = 'yes'; expectAnimation(assert, conditions, dummyAction); }); @@ -454,7 +454,7 @@ module('Transitions DSL', function (hooks) { this.transition(this.outletName('panel'), this.use(dummyAction)); }); - let conditions = routes('one', 'two'); + const conditions = routes('one', 'two'); conditions.matchContext.outletName = 'panel'; expectAnimation(assert, conditions, dummyAction); }); @@ -471,7 +471,7 @@ module('Transitions DSL', function (hooks) { }); // Save and stub the matchMedia method - let matchMedia = window.matchMedia; + const matchMedia = window.matchMedia; window.matchMedia = function () { return { matches: true }; }; @@ -486,7 +486,7 @@ module('Transitions DSL', function (hooks) { function otherAction() {} function routes(a, b) { - let builder = new RouteBuilder(); + const builder = new RouteBuilder(); return values( a ? builder.makeRoute({ name: a }).asTop() : null, b ? builder.makeRoute({ name: b }).asTop() : null @@ -494,7 +494,7 @@ module('Transitions DSL', function (hooks) { } function models(a, b) { - let builder = new RouteBuilder(); + const builder = new RouteBuilder(); return values( a ? builder.makeRoute({ controller: { model: a } }).asTop() : null, b ? builder.makeRoute({ controller: { model: b } }).asTop() : null @@ -511,7 +511,7 @@ module('Transitions DSL', function (hooks) { } function expectAnimation(assert, conditions, nameOrHandler, msg) { - let runningTransition = t.transitionFor(conditions); + const runningTransition = t.transitionFor(conditions); if (typeof nameOrHandler === 'string') { assert.strictEqual(runningTransition.animation.name, nameOrHandler, msg); } else { From 124d4e6b029dda6ae03b39f6700ee54877cbc506 Mon Sep 17 00:00:00 2001 From: Markus Sanin Date: Fri, 4 Aug 2023 07:26:26 +0200 Subject: [PATCH 08/35] Convert docs to native class / glimmer components --- docs/app/components/code-snippet.js | 13 ++- docs/app/components/grid-overlay.js | 20 +++-- docs/app/components/liquid-bind-demo.js | 63 +++++++------- docs/app/components/nav-link.js | 22 ++--- docs/app/components/simple-select.js | 12 ++- docs/app/controllers/application.js | 81 +++++++++-------- .../liquid-bind-block/page.js | 23 ++--- .../helpers-documentation/liquid-if.js | 38 +++++--- .../helpers-documentation/liquid-spacer.js | 14 +-- docs/app/controllers/sample.js | 5 -- docs/app/controllers/scenarios.js | 19 ++-- .../controllers/scenarios/growable-with.js | 17 ++-- docs/app/controllers/scenarios/hero.js | 86 ++++++++++++------- .../scenarios/nested-explode-transition.js | 23 +++-- docs/app/controllers/scenarios/spacer.js | 29 ++++--- docs/app/controllers/scenarios/stef.js | 18 ++-- docs/app/controllers/scenarios/versions.js | 21 +++-- docs/app/controllers/test-bind.js | 19 ---- docs/app/controllers/test-if.js | 5 -- docs/app/controllers/test-with.js | 14 --- docs/app/controllers/transitions/explode.js | 32 ++++--- .../app/controllers/transitions/predefined.js | 27 +++--- docs/app/mixins/reset-scroll.js | 13 --- docs/app/reset-scroll-route.js | 13 +++ docs/app/router.js | 1 - docs/app/routes/helpers-documentation.js | 6 +- .../liquid-bind-block.js | 6 +- .../liquid-bind-block/index.js | 11 +-- .../liquid-bind-block/page.js | 8 +- .../helpers-documentation/liquid-bind.js | 6 +- .../routes/helpers-documentation/liquid-if.js | 6 +- .../helpers-documentation/liquid-outlet.js | 6 +- docs/app/routes/index.js | 6 +- docs/app/routes/scenarios/in-test-outlet.js | 12 --- .../scenarios/model-dependent-rule/other.js | 8 +- .../scenarios/model-dependent-rule/page.js | 8 +- .../transition-map/choosing-transitions.js | 6 +- .../routes/transition-map/dom-constraints.js | 6 +- .../transition-map/media-constraints.js | 6 +- .../transition-map/model-constraints.js | 6 +- .../transition-map/route-constraints.js | 6 +- docs/app/routes/transitions/defining.js | 6 +- docs/app/routes/transitions/primitives.js | 6 +- docs/app/templates/application.hbs | 1 - .../templates/components/liquid-bind-demo.hbs | 17 ++-- docs/app/templates/components/nav-link.hbs | 46 +++++----- .../templates/components/simple-select.hbs | 6 +- .../liquid-bind-block/page.hbs | 12 +-- .../helpers-documentation/liquid-if.hbs | 4 +- docs/app/templates/scenarios/empty-if.hbs | 4 +- .../scenarios/growable-flexboxes.hbs | 12 +-- .../app/templates/scenarios/growable-with.hbs | 4 +- docs/app/templates/scenarios/hero.hbs | 12 +-- .../templates/scenarios/in-test-outlet.hbs | 1 - .../scenarios/nested-explode-transition.hbs | 4 +- docs/app/templates/scenarios/spacer.hbs | 4 +- docs/app/templates/scenarios/stef.hbs | 18 ++-- docs/app/templates/scenarios/table-row.hbs | 4 +- docs/app/templates/scenarios/versions.hbs | 4 +- docs/app/templates/transitions/explode.hbs | 8 +- docs/app/templates/transitions/predefined.hbs | 28 +++--- docs/snippets/nested-router-example.js | 8 +- 62 files changed, 480 insertions(+), 470 deletions(-) delete mode 100644 docs/app/controllers/sample.js delete mode 100644 docs/app/controllers/test-bind.js delete mode 100644 docs/app/controllers/test-if.js delete mode 100644 docs/app/controllers/test-with.js delete mode 100644 docs/app/mixins/reset-scroll.js create mode 100644 docs/app/reset-scroll-route.js delete mode 100644 docs/app/routes/scenarios/in-test-outlet.js delete mode 100644 docs/app/templates/scenarios/in-test-outlet.hbs diff --git a/docs/app/components/code-snippet.js b/docs/app/components/code-snippet.js index d9ead016..081a308e 100644 --- a/docs/app/components/code-snippet.js +++ b/docs/app/components/code-snippet.js @@ -1,7 +1,6 @@ -import Component from '@ember/component'; +import Component from '@glimmer/component'; import { getCodeSnippet } from 'ember-code-snippet'; import { htmlSafe } from '@ember/template'; -import { computed } from '@ember/object'; import Prism from 'prismjs/components/prism-core'; import 'prismjs/components/prism-clike'; @@ -11,13 +10,13 @@ import 'prismjs/components/prism-markup'; import 'prismjs/components/prism-markup-templating'; import 'prismjs/components/prism-css'; -export default Component.extend({ - source: computed('name', function () { - let { source, language } = getCodeSnippet(this.name); +export default class CodeSnippetComponent extends Component { + get source() { + let { source, language } = getCodeSnippet(this.args.name); let grammar = Prism.languages[language]; if (!grammar) { throw new Error(`missing language ${language}`); } return htmlSafe(Prism.highlight(source, grammar, language)); - }), -}); + } +} diff --git a/docs/app/components/grid-overlay.js b/docs/app/components/grid-overlay.js index 13b81095..b2b61fd3 100644 --- a/docs/app/components/grid-overlay.js +++ b/docs/app/components/grid-overlay.js @@ -1,11 +1,11 @@ -import Component from '@ember/component'; +import Component from '@glimmer/component'; function show_lead(space, offset) { let max = document.querySelector('body').clientHeight / space; hide_lead(); for (let i = 0; i < max; i++) { const element = document.createElement('div'); - element.class = 'grid'; + element.classList.add('grid'); element.id = `vgrid${i}`; const body = document.querySelector('body'); body.appendChild(element); @@ -31,7 +31,11 @@ function css(element, styles) { } function hide_lead() { - document.querySelector('.grid').remove(); + if (document.querySelector('.grid')) { + document.querySelectorAll('.grid').forEach((grid) => { + grid.remove(); + }); + } } function toggleGrid(leading, leading_offset) { @@ -45,14 +49,14 @@ function toggleGrid(leading, leading_offset) { } } -export default Component.extend({ - didInsertElement: function () { - this._super(...arguments); +export default class GridOverlayComponent extends Component { + constructor() { + super(...arguments); document.addEventListener('keydown', function (e) { // Ctrl-Alt-g shows vertical rhythm if (e.ctrlKey && e.altKey && e.keyCode === 71) { toggleGrid(22); } }); - }, -}); + } +} diff --git a/docs/app/components/liquid-bind-demo.js b/docs/app/components/liquid-bind-demo.js index d238b2ab..d42d28ce 100644 --- a/docs/app/components/liquid-bind-demo.js +++ b/docs/app/components/liquid-bind-demo.js @@ -1,42 +1,45 @@ -import moment from 'moment'; -import Component from '@ember/component'; +import Component from '@glimmer/component'; +import { action } from '@ember/object'; +import { tracked } from '@glimmer/tracking'; import { run } from '@ember/runloop'; +import moment from 'moment'; + +export default class LiquidBindDemoComponent extends Component { + @tracked now; + @tracked hours; + @tracked minutes; + @tracked seconds; + + constructor() { + super(...arguments); -export default Component.extend({ - init() { - this._super(); this.tick(); - }, - didInsertElement() { - this._super(...arguments); let self = this; this.interval = setInterval(function () { run(self, 'tick'); }, 1000); - }, - - willDestroyElement() { - clearInterval(this.interval); - this._super(); - }, + } - tick: function (now) { + tick(now) { if (!now) { now = moment(); } - this.setProperties({ - now: now, - hours: now.format('hh'), - minutes: now.format('mm'), - seconds: now.format('ss'), - }); - }, - - actions: { - forceTick: function () { - clearInterval(this.interval); - this.tick(this.now.add({ hours: 1, minutes: 1, seconds: 1 })); - }, - }, -}); + + this.now = now; + this.hours = now.format('hh'); + this.minutes = now.format('mm'); + this.seconds = now.format('ss'); + } + + @action + destroyElement() { + clearInterval(this.interval); + } + + @action + forceTick() { + clearInterval(this.interval); + this.tick(this.now.add({ hours: 1, minutes: 1, seconds: 1 })); + } +} diff --git a/docs/app/components/nav-link.js b/docs/app/components/nav-link.js index 68930477..1aa75a80 100644 --- a/docs/app/components/nav-link.js +++ b/docs/app/components/nav-link.js @@ -1,15 +1,11 @@ -import { computed } from '@ember/object'; -import Component from '@ember/component'; +import Component from '@glimmer/component'; -export default Component.extend({ - classNames: ['page-item'], - classNameBindings: ['direction'], +export default class NavLinkComponent extends Component { + get back() { + return this.args.topic && this.args.direction === 'back'; + } - back: computed('direction', 'topic', function () { - return this.topic && this.direction === 'back'; - }), - - forward: computed('direction', 'topic', function () { - return this.topic && this.direction === 'forward'; - }), -}); + get forward() { + return this.args.topic && this.args.direction === 'forward'; + } +} diff --git a/docs/app/components/simple-select.js b/docs/app/components/simple-select.js index fe4c9cc9..12828f9c 100644 --- a/docs/app/components/simple-select.js +++ b/docs/app/components/simple-select.js @@ -1,5 +1,9 @@ -import Component from '@ember/component'; +import Component from '@glimmer/component'; +import { action } from '@ember/object'; -export default Component.extend({ - value: null, -}); +export default class SimpleSelectComponent extends Component { + @action + change(evt) { + this.args.onChange(evt.target.value); + } +} diff --git a/docs/app/controllers/application.js b/docs/app/controllers/application.js index ba5a7718..3605228b 100644 --- a/docs/app/controllers/application.js +++ b/docs/app/controllers/application.js @@ -1,20 +1,24 @@ -import { computed } from '@ember/object'; import Controller from '@ember/controller'; import ENV from 'docs/config/environment'; -import { getOwner } from '@ember/application'; +import { inject as service } from '@ember/service'; +import { tracked } from '@glimmer/tracking'; -export default Controller.extend({ - queryParams: ['warn'], - warn: 0, - rootURL: computed(function () { +export default class ApplicationController extends Controller { + @service router; + + queryParams = ['warn']; + + @tracked warn = 0; + + get rootURL() { let url = ENV.rootURL; if (!/\/$/.test(url)) { url += '/'; } return url; - }), + } - tableOfContents: computed(function () { + get tableOfContents() { return [ { route: 'index', title: 'Introduction' }, { route: 'installation', title: 'Installation & Compatibility' }, @@ -94,9 +98,9 @@ export default Controller.extend({ ], }, ]; - }), + } - flatContents: computed('tableOfContents', function () { + get flatContents() { let flattened = []; this.tableOfContents.forEach(function (entry) { flattened.push(entry); @@ -105,53 +109,48 @@ export default Controller.extend({ } }); return flattened; - }), - - router: computed(function () { - let owner = getOwner(this); - return owner.lookup('service:router') || owner.lookup('service:-routing'); - }), + } - currentIndex: computed( - 'router.currentRouteName', - 'flatContents', - function () { - let contents = this.flatContents, - current = this.get('router.currentRouteName'), - bestMatch, - entry; + get currentIndex() { + let contents = this.flatContents, + current = this.router.currentRouteName, + bestMatch, + entry; - for (let i = 0; i < contents.length; i++) { - entry = contents[i]; + for (let i = 0; i < contents.length; i++) { + entry = contents[i]; + if ( + entry.route && + new RegExp('^' + entry.route.replace(/\./g, '\\.')).test(current) + ) { if ( - entry.route && - new RegExp('^' + entry.route.replace(/\./g, '\\.')).test(current) + typeof bestMatch === 'undefined' || + contents[bestMatch].route.length < entry.route.length ) { - if ( - typeof bestMatch === 'undefined' || - contents[bestMatch].route.length < entry.route.length - ) { - bestMatch = i; - } + bestMatch = i; } } - return bestMatch; } - ), + return bestMatch; + } - nextTopic: computed('currentIndex', 'flatContents', function () { + get nextTopic() { let contents = this.flatContents, index = this.currentIndex; if (typeof index !== 'undefined') { return contents[index + 1]; } - }), - prevTopic: computed('currentIndex', 'flatContents', function () { + return false; + } + + get prevTopic() { let contents = this.flatContents, index = this.currentIndex; if (typeof index !== 'undefined') { return contents[index - 1]; } - }), -}); + + return false; + } +} diff --git a/docs/app/controllers/helpers-documentation/liquid-bind-block/page.js b/docs/app/controllers/helpers-documentation/liquid-bind-block/page.js index 59eba9db..b56c410a 100644 --- a/docs/app/controllers/helpers-documentation/liquid-bind-block/page.js +++ b/docs/app/controllers/helpers-documentation/liquid-bind-block/page.js @@ -1,14 +1,15 @@ import Controller from '@ember/controller'; import { inject as service } from '@ember/service'; +import { action } from '@ember/object'; -export default Controller.extend({ - router: service(), - actions: { - higher: function (model) { - this.router.transitionTo( - 'helpers-documentation.liquid-bind-block.page', - model.get('id') + 1 - ); - }, - }, -}); +export default class HelpersDocumentationLiquidBindBlockPageController extends Controller { + @service router; + + @action + higher(model) { + this.router.transitionTo( + 'helpers-documentation.liquid-bind-block.page', + model.get('id') + 1 + ); + } +} diff --git a/docs/app/controllers/helpers-documentation/liquid-if.js b/docs/app/controllers/helpers-documentation/liquid-if.js index f616dcf2..f6d8f1ec 100644 --- a/docs/app/controllers/helpers-documentation/liquid-if.js +++ b/docs/app/controllers/helpers-documentation/liquid-if.js @@ -1,14 +1,26 @@ -import { equal } from '@ember/object/computed'; import Controller from '@ember/controller'; -import { computed } from '@ember/object'; - -export default Controller.extend({ - vehicle: 'bike', - vehicles: computed(function () { - return ['bike', 'car']; - }), - states: computed(function () { - return ['', 'AL', 'AK', 'AZ', 'AR', 'CA', 'CO', 'CT']; - }), - isBike: equal('vehicle', 'bike'), -}); +import { tracked } from '@glimmer/tracking'; +import { action } from '@ember/object'; + +export default class HelpersDocumentationLiquidIfController extends Controller { + @tracked vehicle = 'bike'; + @tracked state = ''; + + vehicles = ['bike', 'car']; + + states = ['', 'AL', 'AK', 'AZ', 'AR', 'CA', 'CO', 'CT']; + + get isBike() { + return this.vehicle === 'bike'; + } + + @action + onVehicleChange(value) { + this.vehicle = value; + } + + @action + onStateChange(value) { + this.state = value; + } +} diff --git a/docs/app/controllers/helpers-documentation/liquid-spacer.js b/docs/app/controllers/helpers-documentation/liquid-spacer.js index 850fcb4d..96097c29 100644 --- a/docs/app/controllers/helpers-documentation/liquid-spacer.js +++ b/docs/app/controllers/helpers-documentation/liquid-spacer.js @@ -1,7 +1,9 @@ import Controller from '@ember/controller'; -export default Controller.extend({ - longMessage: - 'This is a long message. This is a long message. This is a long message. This is a long message. This is a long message. This is a long message. This is a long message. This is a long message. ', - shortMessage: 'Hi.', - showLongMessage: true, -}); +import { tracked } from '@glimmer/tracking'; + +export default class HelpersDocumentationLiquidSpacerController extends Controller { + @tracked longMessage = + 'This is a long message. This is a long message. This is a long message. This is a long message. This is a long message. This is a long message. This is a long message. This is a long message. '; + @tracked shortMessage = 'Hi.'; + @tracked showLongMessage = true; +} diff --git a/docs/app/controllers/sample.js b/docs/app/controllers/sample.js deleted file mode 100644 index e1cb7267..00000000 --- a/docs/app/controllers/sample.js +++ /dev/null @@ -1,5 +0,0 @@ -import Controller from '@ember/controller'; - -export default Controller.extend({ - usingSampleController: true, -}); diff --git a/docs/app/controllers/scenarios.js b/docs/app/controllers/scenarios.js index 62d7f5ad..ddf65151 100644 --- a/docs/app/controllers/scenarios.js +++ b/docs/app/controllers/scenarios.js @@ -1,10 +1,15 @@ import Controller from '@ember/controller'; +import { action } from '@ember/object'; +import { tracked } from '@glimmer/tracking'; -export default Controller.extend({ - queryParams: ['testSalutation', 'testPerson'], - actions: { - changeSalutation: function () { - this.set('testSalutation', 'Hola'); - }, +export default class ScenariosController extends Controller { + queryParams = ['testSalutation', 'testPerson']; + + @tracked testSalutation = null; + @tracked testPerson = null; + + @action + changeSalutation() { + this.testSalutation = 'Hola'; } -}); +} diff --git a/docs/app/controllers/scenarios/growable-with.js b/docs/app/controllers/scenarios/growable-with.js index 2909939f..233fa40e 100644 --- a/docs/app/controllers/scenarios/growable-with.js +++ b/docs/app/controllers/scenarios/growable-with.js @@ -1,13 +1,14 @@ -import EmberObject, { computed } from '@ember/object'; import Controller from '@ember/controller'; -export default Controller.extend({ - otherState: false, +import { tracked } from '@glimmer/tracking'; - myThing: computed('otherState', function () { +export default class ScenariosGrowableWithController extends Controller { + @tracked otherState = false; + + get myThing() { if (this.otherState) { - return EmberObject.create({ description: 'Foo' }); + return { description: 'Foo' }; } else { - return EmberObject.create({ description: 'Bar baz qux' }); + return { description: 'Bar baz qux' }; } - }), -}); + } +} diff --git a/docs/app/controllers/scenarios/hero.js b/docs/app/controllers/scenarios/hero.js index e92ba1be..12aa77ed 100644 --- a/docs/app/controllers/scenarios/hero.js +++ b/docs/app/controllers/scenarios/hero.js @@ -1,39 +1,63 @@ -import { sort } from '@ember/object/computed'; import Controller from '@ember/controller'; +import { tracked } from '@glimmer/tracking'; +import { get, action } from '@ember/object'; +import { compare } from '@ember/utils'; import { A } from '@ember/array'; -let allModels = A([ +let allModels = [ { id: 1, firstName: 'Tom', lastName: 'Dale' }, { id: 2, firstName: 'Yehuda', lastName: 'Katz' }, { id: 3, firstName: 'Leah', lastName: 'Silber' }, { id: 4, firstName: 'Peter', lastName: 'Wagenet' }, { id: 5, firstName: 'Robert', lastName: 'Jackson' }, -]); - -export default Controller.extend({ - showFirst: true, - - sortBy: Object.freeze(['firstName']), - - models: allModels.slice(), - - sortedModels: sort('models.[]', 'sortBy'), - - actions: { - toggle: function () { - this.set('showFirst', !this.showFirst); - }, - toggleSort: function () { - this.set( - 'sortBy', - this.sortBy[0] === 'firstName' ? ['lastName'] : ['firstName'] - ); - }, - deleteModel: function (model) { - this.models.removeObject(model); - }, - restoreModels: function () { - this.set('models', allModels.slice()); - }, - }, -}); +]; + +export default class ScenariosHeroController extends Controller { + @tracked showFirst = true; + @tracked sortBy = ['firstName']; + + @tracked models = A(allModels.slice()); + + get sortedModels() { + return sortBy(this.models, this.sortBy); + } + + @action + toggle() { + this.showFirst = !this.showFirst; + } + + @action + toggleSort() { + this.sortBy = this.sortBy[0] === 'firstName' ? ['lastName'] : ['firstName']; + } + + @action + deleteModel(model) { + this.models.removeObject(model); + } + + @action + restoreModels() { + this.models = allModels.slice(); + } +} + +// sort logic taken from ember sortBy +// https://github.com/emberjs/ember.js/blob/v3.28.1/packages/%40ember/-internals/runtime/lib/mixins/array.js#L1416 +function sortBy(list, sortKeys) { + return list.slice().sort((a, b) => { + for (let i = 0; i < sortKeys.length; i++) { + const key = sortKeys[i]; + let propA = get(a, key); + let propB = get(b, key); + + // return 1 or -1 else continue to the next sortKey + const compareValue = compare(propA, propB); + if (compareValue) { + return compareValue; + } + } + return 0; + }); +} diff --git a/docs/app/controllers/scenarios/nested-explode-transition.js b/docs/app/controllers/scenarios/nested-explode-transition.js index bcf57639..a21aed90 100644 --- a/docs/app/controllers/scenarios/nested-explode-transition.js +++ b/docs/app/controllers/scenarios/nested-explode-transition.js @@ -1,16 +1,13 @@ import Controller from '@ember/controller'; +import { tracked } from '@glimmer/tracking'; +import { action } from '@ember/object'; -export default Controller.extend({ - showOne: true, - showA: true, +export default class ScenariosNestedExplodeTransitionController extends Controller { + @tracked showOne = true; + @tracked showA = true; - init() { - this._super(...arguments); - }, - - actions: { - toggle(prop) { - this.toggleProperty(prop); - }, - }, -}); + @action + toggle(prop) { + this[prop] = !this[prop]; + } +} diff --git a/docs/app/controllers/scenarios/spacer.js b/docs/app/controllers/scenarios/spacer.js index 33e1996a..385bd5b2 100644 --- a/docs/app/controllers/scenarios/spacer.js +++ b/docs/app/controllers/scenarios/spacer.js @@ -1,14 +1,19 @@ import Controller from '@ember/controller'; -export default Controller.extend({ - count: 1, - things: Object.freeze([{ number: 0 }]), +import { tracked } from '@glimmer/tracking'; +import { action } from '@ember/object'; +import { A } from '@ember/array'; - actions: { - addThing: function () { - this.things.pushObject({ number: ++this.count }); - }, - removeThing: function () { - this.things.replace(0, 1); - }, - }, -}); +export default class ScenariosSpacerController extends Controller { + @tracked count = 1; + @tracked things = A([{ number: 0 }]); + + @action + addThing() { + this.things.pushObject({ number: ++this.count }); + } + + @action + removeThing() { + this.things.replace(0, 1); + } +} diff --git a/docs/app/controllers/scenarios/stef.js b/docs/app/controllers/scenarios/stef.js index c54ddaa9..4dfc5e1b 100644 --- a/docs/app/controllers/scenarios/stef.js +++ b/docs/app/controllers/scenarios/stef.js @@ -1,10 +1,12 @@ import Controller from '@ember/controller'; +import { tracked } from '@glimmer/tracking'; +import { action } from '@ember/object'; -export default Controller.extend({ - isExpanded: true, - actions: { - toggle: function () { - this.toggleProperty('isExpanded'); - }, - }, -}); +export default class ScenariosStefController extends Controller { + @tracked isExpanded = true; + + @action + toggle() { + this.isExpanded = !this.isExpanded; + } +} diff --git a/docs/app/controllers/scenarios/versions.js b/docs/app/controllers/scenarios/versions.js index 9c267c0f..29faaea3 100644 --- a/docs/app/controllers/scenarios/versions.js +++ b/docs/app/controllers/scenarios/versions.js @@ -1,11 +1,14 @@ import Controller from '@ember/controller'; +import { tracked } from '@glimmer/tracking'; +import { action } from '@ember/object'; -export default Controller.extend({ - name: 'Ed', - actions: { - submitName: function () { - this.set('name', this.nextName); - this.set('nextName', ''); - }, - }, -}); +export default class ScenariosVersionsController extends Controller { + @tracked name = 'Ed'; + @tracked nextName = ''; + + @action + submitName() { + this.name = this.nextName; + this.nextName = ''; + } +} diff --git a/docs/app/controllers/test-bind.js b/docs/app/controllers/test-bind.js deleted file mode 100644 index 0eb72c19..00000000 --- a/docs/app/controllers/test-bind.js +++ /dev/null @@ -1,19 +0,0 @@ -import Controller from '@ember/controller'; - -export default Controller.extend({ - counter: 0, - - init() { - this._super(...arguments); - this.interval = setInterval(() => this.tick(), 1000); - this.tick(); - }, - - willDestroy: function () { - clearInterval(this.interval); - }, - - tick: function () { - this.set('counter', this.counter + 1); - }, -}); diff --git a/docs/app/controllers/test-if.js b/docs/app/controllers/test-if.js deleted file mode 100644 index 1ef82f7e..00000000 --- a/docs/app/controllers/test-if.js +++ /dev/null @@ -1,5 +0,0 @@ -import Controller from '@ember/controller'; - -export default Controller.extend({ - message: 'Hello', -}); diff --git a/docs/app/controllers/test-with.js b/docs/app/controllers/test-with.js deleted file mode 100644 index b4a203df..00000000 --- a/docs/app/controllers/test-with.js +++ /dev/null @@ -1,14 +0,0 @@ -import Controller from '@ember/controller'; -import { inject as service } from '@ember/service'; - -export default Controller.extend({ - router: service(), - actions: { - increment: function () { - this.router.transitionTo('test-with', parseInt(this.get('model.id')) + 1); - }, - decrement: function () { - this.router.transitionTo('test-with', parseInt(this.get('model.id')) - 1); - }, - }, -}); diff --git a/docs/app/controllers/transitions/explode.js b/docs/app/controllers/transitions/explode.js index 4c2990b7..a6e6dc8d 100644 --- a/docs/app/controllers/transitions/explode.js +++ b/docs/app/controllers/transitions/explode.js @@ -1,5 +1,7 @@ import { A } from '@ember/array'; import Controller from '@ember/controller'; +import { tracked } from '@glimmer/tracking'; +import { action } from '@ember/object'; let i = 0; let photos = [ @@ -23,18 +25,20 @@ let photos = [ }; }); -export default Controller.extend({ - photos: photos.slice(), +export default class TransitionsPredefinedController extends Controller { + @tracked photos = photos.slice(); + @tracked showDetail = false; - actions: { - toggleDetail: function () { - this.set('showDetail', !this.showDetail); - }, - shuffle: function () { - this.photos.forEach((photo) => { - photo._randomPosition = Math.random(); - }); - this.set('photos', A(this.photos).sortBy('_randomPosition')); - }, - }, -}); + @action + toggleDetail() { + this.showDetail = !this.showDetail; + } + + @action + shuffle() { + this.photos.forEach((photo) => { + photo._randomPosition = Math.random(); + }); + this.photos = A(this.photos).sortBy('_randomPosition'); + } +} diff --git a/docs/app/controllers/transitions/predefined.js b/docs/app/controllers/transitions/predefined.js index 68817624..5acad5cc 100644 --- a/docs/app/controllers/transitions/predefined.js +++ b/docs/app/controllers/transitions/predefined.js @@ -1,15 +1,18 @@ import Controller from '@ember/controller'; +import { tracked } from '@glimmer/tracking'; +import { action } from '@ember/object'; -export default Controller.extend({ - showDetail: false, - activeTab: 'toLeft', +export default class TransitionsPredefinedController extends Controller { + @tracked showDetail = false; + @tracked activeTab = 'toLeft'; - actions: { - toggleDetail() { - this.toggleProperty('showDetail'); - }, - changeTab(tabName) { - this.set('activeTab', tabName); - }, - }, -}); + @action + toggleDetail() { + this.showDetail = !this.showDetail; + } + + @action + changeTab(tabName) { + this.activeTab = tabName; + } +} diff --git a/docs/app/mixins/reset-scroll.js b/docs/app/mixins/reset-scroll.js deleted file mode 100644 index c0ec631b..00000000 --- a/docs/app/mixins/reset-scroll.js +++ /dev/null @@ -1,13 +0,0 @@ -import { inject as service } from '@ember/service'; -import Mixin from '@ember/object/mixin'; -import Ember from 'ember'; - -export default Mixin.create({ - fastboot: service(), - activate: function () { - this._super(); - if (!Ember.testing && !this.get('fastboot.isFastBoot')) { - window.scrollTo(0, 0); - } - }, -}); diff --git a/docs/app/reset-scroll-route.js b/docs/app/reset-scroll-route.js new file mode 100644 index 00000000..7a4d57b5 --- /dev/null +++ b/docs/app/reset-scroll-route.js @@ -0,0 +1,13 @@ +import Route from '@ember/routing/route'; +import { inject as service } from '@ember/service'; +import Ember from 'ember'; + +export default class ResetScrollRoute extends Route { + @service fastboot; + activate() { + super.activate(); + if (!Ember.testing && !this.fastboot.isFastBoot) { + window.scrollTo(0, 0); + } + } +} diff --git a/docs/app/router.js b/docs/app/router.js index 732e99dc..9417e028 100644 --- a/docs/app/router.js +++ b/docs/app/router.js @@ -70,7 +70,6 @@ Router.map(function () { this.route('two'); this.route('three'); }); - this.route('in-test-outlet'); this.route('nested-explode-transition'); }); }); diff --git a/docs/app/routes/helpers-documentation.js b/docs/app/routes/helpers-documentation.js index 9e9b65fb..c55280ac 100644 --- a/docs/app/routes/helpers-documentation.js +++ b/docs/app/routes/helpers-documentation.js @@ -1,3 +1,3 @@ -import Route from '@ember/routing/route'; -import ResetScroll from '../mixins/reset-scroll'; -export default Route.extend(ResetScroll); +import ResetScrollRoute from '../reset-scroll-route'; + +export default class HelpersDocumentationRoute extends ResetScrollRoute {} diff --git a/docs/app/routes/helpers-documentation/liquid-bind-block.js b/docs/app/routes/helpers-documentation/liquid-bind-block.js index 46c8c63a..6f8d5772 100644 --- a/docs/app/routes/helpers-documentation/liquid-bind-block.js +++ b/docs/app/routes/helpers-documentation/liquid-bind-block.js @@ -1,3 +1,3 @@ -import Route from '@ember/routing/route'; -import ResetScroll from '../../mixins/reset-scroll'; -export default Route.extend(ResetScroll); +import ResetScrollRoute from '../../reset-scroll-route'; + +export default class HelpersDocumentationLiquidBindBlockRoute extends ResetScrollRoute {} diff --git a/docs/app/routes/helpers-documentation/liquid-bind-block/index.js b/docs/app/routes/helpers-documentation/liquid-bind-block/index.js index 41c794ee..fb3880f5 100644 --- a/docs/app/routes/helpers-documentation/liquid-bind-block/index.js +++ b/docs/app/routes/helpers-documentation/liquid-bind-block/index.js @@ -1,9 +1,10 @@ import Route from '@ember/routing/route'; import { inject as service } from '@ember/service'; -export default Route.extend({ - router: service(), - beforeModel: function () { +export default class HelpersDocumentationLiquidBindBlockIndexRoute extends Route { + @service router; + + beforeModel() { this.router.transitionTo('helpers-documentation.liquid-bind-block.page', 1); - }, -}); + } +} diff --git a/docs/app/routes/helpers-documentation/liquid-bind-block/page.js b/docs/app/routes/helpers-documentation/liquid-bind-block/page.js index 0b91cff7..a4b1b335 100644 --- a/docs/app/routes/helpers-documentation/liquid-bind-block/page.js +++ b/docs/app/routes/helpers-documentation/liquid-bind-block/page.js @@ -1,8 +1,8 @@ import EmberObject from '@ember/object'; import Route from '@ember/routing/route'; -export default Route.extend({ - model: function (params) { +export default class HelpersDocumentationLiquidBindBlockPageRoute extends Route { + model(params) { return EmberObject.create({ id: parseInt(params.id) }); - }, -}); + } +} diff --git a/docs/app/routes/helpers-documentation/liquid-bind.js b/docs/app/routes/helpers-documentation/liquid-bind.js index 46c8c63a..27d4fcba 100644 --- a/docs/app/routes/helpers-documentation/liquid-bind.js +++ b/docs/app/routes/helpers-documentation/liquid-bind.js @@ -1,3 +1,3 @@ -import Route from '@ember/routing/route'; -import ResetScroll from '../../mixins/reset-scroll'; -export default Route.extend(ResetScroll); +import ResetScrollRoute from '../../reset-scroll-route'; + +export default class HelpersDocumentationLiquidBindRoute extends ResetScrollRoute {} diff --git a/docs/app/routes/helpers-documentation/liquid-if.js b/docs/app/routes/helpers-documentation/liquid-if.js index 46c8c63a..109767ff 100644 --- a/docs/app/routes/helpers-documentation/liquid-if.js +++ b/docs/app/routes/helpers-documentation/liquid-if.js @@ -1,3 +1,3 @@ -import Route from '@ember/routing/route'; -import ResetScroll from '../../mixins/reset-scroll'; -export default Route.extend(ResetScroll); +import ResetScrollRoute from '../../reset-scroll-route'; + +export default class HelpersDocumentationLiquidIfRoute extends ResetScrollRoute {} diff --git a/docs/app/routes/helpers-documentation/liquid-outlet.js b/docs/app/routes/helpers-documentation/liquid-outlet.js index 46c8c63a..71d7bdeb 100644 --- a/docs/app/routes/helpers-documentation/liquid-outlet.js +++ b/docs/app/routes/helpers-documentation/liquid-outlet.js @@ -1,3 +1,3 @@ -import Route from '@ember/routing/route'; -import ResetScroll from '../../mixins/reset-scroll'; -export default Route.extend(ResetScroll); +import ResetScrollRoute from '../../reset-scroll-route'; + +export default class HelpersDocumentationLiquidOutletRoute extends ResetScrollRoute {} diff --git a/docs/app/routes/index.js b/docs/app/routes/index.js index 9e9b65fb..006fe321 100644 --- a/docs/app/routes/index.js +++ b/docs/app/routes/index.js @@ -1,3 +1,3 @@ -import Route from '@ember/routing/route'; -import ResetScroll from '../mixins/reset-scroll'; -export default Route.extend(ResetScroll); +import ResetScrollRoute from '../reset-scroll-route'; + +export default class IndexRoute extends ResetScrollRoute {} diff --git a/docs/app/routes/scenarios/in-test-outlet.js b/docs/app/routes/scenarios/in-test-outlet.js deleted file mode 100644 index adbf8d57..00000000 --- a/docs/app/routes/scenarios/in-test-outlet.js +++ /dev/null @@ -1,12 +0,0 @@ -import Route from '@ember/routing/route'; - -export default Route.extend({ - renderTemplate(controller, model) { - this.render({ - into: 'scenarios', - outlet: 'test', - controller: controller, - model: model, - }); - }, -}); diff --git a/docs/app/routes/scenarios/model-dependent-rule/other.js b/docs/app/routes/scenarios/model-dependent-rule/other.js index 420e1fb3..221783ac 100644 --- a/docs/app/routes/scenarios/model-dependent-rule/other.js +++ b/docs/app/routes/scenarios/model-dependent-rule/other.js @@ -1,7 +1,7 @@ import Route from '@ember/routing/route'; -export default Route.extend({ - model: function (params) { +export default class ScenariosModelDependentRuleOtherRoute extends Route { + model(params) { return params; - }, -}); + } +} diff --git a/docs/app/routes/scenarios/model-dependent-rule/page.js b/docs/app/routes/scenarios/model-dependent-rule/page.js index 420e1fb3..77b4c787 100644 --- a/docs/app/routes/scenarios/model-dependent-rule/page.js +++ b/docs/app/routes/scenarios/model-dependent-rule/page.js @@ -1,7 +1,7 @@ import Route from '@ember/routing/route'; -export default Route.extend({ - model: function (params) { +export default class ScenariosModelDependentRulePageRoute extends Route { + model(params) { return params; - }, -}); + } +} diff --git a/docs/app/routes/transition-map/choosing-transitions.js b/docs/app/routes/transition-map/choosing-transitions.js index 46c8c63a..b9b189b7 100644 --- a/docs/app/routes/transition-map/choosing-transitions.js +++ b/docs/app/routes/transition-map/choosing-transitions.js @@ -1,3 +1,3 @@ -import Route from '@ember/routing/route'; -import ResetScroll from '../../mixins/reset-scroll'; -export default Route.extend(ResetScroll); +import ResetScrollRoute from '../../reset-scroll-route'; + +export default class TransitionMapChoosingTransitionsRoute extends ResetScrollRoute {} diff --git a/docs/app/routes/transition-map/dom-constraints.js b/docs/app/routes/transition-map/dom-constraints.js index 46c8c63a..70c013b7 100644 --- a/docs/app/routes/transition-map/dom-constraints.js +++ b/docs/app/routes/transition-map/dom-constraints.js @@ -1,3 +1,3 @@ -import Route from '@ember/routing/route'; -import ResetScroll from '../../mixins/reset-scroll'; -export default Route.extend(ResetScroll); +import ResetScrollRoute from '../../reset-scroll-route'; + +export default class TransitionMapDomConstraintsRoute extends ResetScrollRoute {} diff --git a/docs/app/routes/transition-map/media-constraints.js b/docs/app/routes/transition-map/media-constraints.js index 46c8c63a..ed56ca9c 100644 --- a/docs/app/routes/transition-map/media-constraints.js +++ b/docs/app/routes/transition-map/media-constraints.js @@ -1,3 +1,3 @@ -import Route from '@ember/routing/route'; -import ResetScroll from '../../mixins/reset-scroll'; -export default Route.extend(ResetScroll); +import ResetScrollRoute from '../../reset-scroll-route'; + +export default class TransitionMapMediaConstraintsRoute extends ResetScrollRoute {} diff --git a/docs/app/routes/transition-map/model-constraints.js b/docs/app/routes/transition-map/model-constraints.js index 46c8c63a..eb1e0518 100644 --- a/docs/app/routes/transition-map/model-constraints.js +++ b/docs/app/routes/transition-map/model-constraints.js @@ -1,3 +1,3 @@ -import Route from '@ember/routing/route'; -import ResetScroll from '../../mixins/reset-scroll'; -export default Route.extend(ResetScroll); +import ResetScrollRoute from '../../reset-scroll-route'; + +export default class TransitionMapModelConstraintsRoute extends ResetScrollRoute {} diff --git a/docs/app/routes/transition-map/route-constraints.js b/docs/app/routes/transition-map/route-constraints.js index 46c8c63a..235fb84f 100644 --- a/docs/app/routes/transition-map/route-constraints.js +++ b/docs/app/routes/transition-map/route-constraints.js @@ -1,3 +1,3 @@ -import Route from '@ember/routing/route'; -import ResetScroll from '../../mixins/reset-scroll'; -export default Route.extend(ResetScroll); +import ResetScrollRoute from '../../reset-scroll-route'; + +export default class TransitionMapRouteConstraintsRoute extends ResetScrollRoute {} diff --git a/docs/app/routes/transitions/defining.js b/docs/app/routes/transitions/defining.js index 745bc4a1..355e1d48 100644 --- a/docs/app/routes/transitions/defining.js +++ b/docs/app/routes/transitions/defining.js @@ -1,3 +1,3 @@ -import Route from '@ember/routing/route'; -import ResetScroll from 'docs/mixins/reset-scroll'; -export default Route.extend(ResetScroll); +import ResetScrollRoute from '../../reset-scroll-route'; + +export default class TransitionsDefiningRoute extends ResetScrollRoute {} diff --git a/docs/app/routes/transitions/primitives.js b/docs/app/routes/transitions/primitives.js index 745bc4a1..6e7c7645 100644 --- a/docs/app/routes/transitions/primitives.js +++ b/docs/app/routes/transitions/primitives.js @@ -1,3 +1,3 @@ -import Route from '@ember/routing/route'; -import ResetScroll from 'docs/mixins/reset-scroll'; -export default Route.extend(ResetScroll); +import ResetScrollRoute from '../../reset-scroll-route'; + +export default class TransitionsPrimitivesRoute extends ResetScrollRoute {} diff --git a/docs/app/templates/application.hbs b/docs/app/templates/application.hbs index e76c0789..fd3d33d1 100644 --- a/docs/app/templates/application.hbs +++ b/docs/app/templates/application.hbs @@ -46,7 +46,6 @@
    {{outlet}} -
      diff --git a/docs/app/templates/components/liquid-bind-demo.hbs b/docs/app/templates/components/liquid-bind-demo.hbs index 63911aff..fff328a0 100644 --- a/docs/app/templates/components/liquid-bind-demo.hbs +++ b/docs/app/templates/components/liquid-bind-demo.hbs @@ -1,9 +1,10 @@ -

      Demo

      - +
      +

      Demo

      + - -{{!- BEGIN-SNIPPET liquid-bind-demo -}} -
      - {{liquid-bind value=this.hours}}:{{liquid-bind value=this.minutes}}:{{liquid-bind value=this.seconds}} -
      -{{!- END-SNIPPET -}} + {{!- BEGIN-SNIPPET liquid-bind-demo -}} +
      + :: +
      + {{!- END-SNIPPET -}} +
      \ No newline at end of file diff --git a/docs/app/templates/components/nav-link.hbs b/docs/app/templates/components/nav-link.hbs index 1e0e0a6c..7cecd1ea 100644 --- a/docs/app/templates/components/nav-link.hbs +++ b/docs/app/templates/components/nav-link.hbs @@ -1,23 +1,25 @@ -{{#if this.topic}} - {{#if this.topic.route}} - - {{#if this.back}} - - {{/if}} - {{this.topic.title}} - {{#if this.forward}} - - {{/if}} - - {{else}} - +
      + {{#if @topic}} + {{#if @topic.route}} + + {{#if this.back}} + + {{/if}} + {{@topic.title}} + {{#if this.forward}} + + {{/if}} + + {{else}} + + {{/if}} {{/if}} -{{/if}} +
      \ No newline at end of file diff --git a/docs/app/templates/components/simple-select.hbs b/docs/app/templates/components/simple-select.hbs index 1ecad6b1..8889e495 100644 --- a/docs/app/templates/components/simple-select.hbs +++ b/docs/app/templates/components/simple-select.hbs @@ -1,5 +1,5 @@ - + {{#each @choices key="@identity" as |choice|}} + {{/each}} diff --git a/docs/app/templates/helpers-documentation/liquid-bind-block/page.hbs b/docs/app/templates/helpers-documentation/liquid-bind-block/page.hbs index 726bf1f2..ac1c12a4 100644 --- a/docs/app/templates/helpers-documentation/liquid-bind-block/page.hbs +++ b/docs/app/templates/helpers-documentation/liquid-bind-block/page.hbs @@ -29,16 +29,16 @@ directions. {{! BEGIN-SNIPPET with-demo }} -{{#liquid-bind - value=this.model - use="rotateBelow" - class="demo-container" as |currentModel| -}} + {{currentModel.id}} -{{/liquid-bind}} + {{! END-SNIPPET }} diff --git a/docs/app/templates/helpers-documentation/liquid-if.hbs b/docs/app/templates/helpers-documentation/liquid-if.hbs index c0bf3572..163926fa 100644 --- a/docs/app/templates/helpers-documentation/liquid-if.hbs +++ b/docs/app/templates/helpers-documentation/liquid-if.hbs @@ -64,7 +64,7 @@ the transition rules. - + {{#liquid-if predicate=this.isBike class="vehicles"}}
    - {{#liquid-if predicate=this.showOne use="flex-grow" containerless=true }} + One - {{/liquid-if}} + - {{#liquid-if predicate=this.showTwo use="flex-grow" containerless=true }} + Two - {{/liquid-if}} + - {{#liquid-if predicate=this.showThree use="flex-grow" containerless=true }} + Three - {{/liquid-if}} +
    {{!- END-SNIPPET}} diff --git a/docs/app/templates/scenarios/growable-with.hbs b/docs/app/templates/scenarios/growable-with.hbs index d5035c85..ba6ce21e 100644 --- a/docs/app/templates/scenarios/growable-with.hbs +++ b/docs/app/templates/scenarios/growable-with.hbs @@ -1,7 +1,7 @@
    - {{#liquid-bind value=this.myThing use="to-left" as |m|}} + {{m.description}} - {{/liquid-bind}} +
    diff --git a/docs/app/templates/scenarios/hero.hbs b/docs/app/templates/scenarios/hero.hbs index a483c71c..5c775dcd 100644 --- a/docs/app/templates/scenarios/hero.hbs +++ b/docs/app/templates/scenarios/hero.hbs @@ -1,4 +1,4 @@ - + {{#liquid-if predicate=this.showFirst class="hero-scenario"}}
    @@ -13,11 +13,11 @@ {{/liquid-if}} - - + + -{{#liquid-bind value=this.sortedModels class="hero-sort" as |currentModels|}} + {{#each currentModels key="id" as |model|}} - + {{/each}} -{{/liquid-bind}} \ No newline at end of file + \ No newline at end of file diff --git a/docs/app/templates/scenarios/in-test-outlet.hbs b/docs/app/templates/scenarios/in-test-outlet.hbs deleted file mode 100644 index 82820899..00000000 --- a/docs/app/templates/scenarios/in-test-outlet.hbs +++ /dev/null @@ -1 +0,0 @@ -in-test-outlet diff --git a/docs/app/templates/scenarios/nested-explode-transition.hbs b/docs/app/templates/scenarios/nested-explode-transition.hbs index 7310011e..d257393d 100644 --- a/docs/app/templates/scenarios/nested-explode-transition.hbs +++ b/docs/app/templates/scenarios/nested-explode-transition.hbs @@ -1,5 +1,5 @@ - - + + {{#liquid-if predicate=this.showOne class="nested-explode-transition-scenario"}}
    diff --git a/docs/app/templates/scenarios/spacer.hbs b/docs/app/templates/scenarios/spacer.hbs index 7fa9135a..dec56281 100644 --- a/docs/app/templates/scenarios/spacer.hbs +++ b/docs/app/templates/scenarios/spacer.hbs @@ -1,5 +1,5 @@ - - + +
      diff --git a/docs/app/templates/scenarios/stef.hbs b/docs/app/templates/scenarios/stef.hbs index ae9faa19..3a0754a0 100644 --- a/docs/app/templates/scenarios/stef.hbs +++ b/docs/app/templates/scenarios/stef.hbs @@ -1,16 +1,16 @@

      Welcome to Ember.js

      - - {{#liquid-if predicate=this.isExpanded class="menu"}} - - {{/liquid-if}} + + +
      diff --git a/docs/app/templates/scenarios/table-row.hbs b/docs/app/templates/scenarios/table-row.hbs index 0b3b2d15..fdfad95f 100644 --- a/docs/app/templates/scenarios/table-row.hbs +++ b/docs/app/templates/scenarios/table-row.hbs @@ -2,8 +2,8 @@
    Static Row
    Dynamic Row
    - {{#liquid-if predicate=this.showingRow containerless=true use="fade" }} + - {{/liquid-if}} +
    Static Row
    Dynamic Row
    diff --git a/docs/app/templates/scenarios/versions.hbs b/docs/app/templates/scenarios/versions.hbs index 02c77ee1..18c3c688 100644 --- a/docs/app/templates/scenarios/versions.hbs +++ b/docs/app/templates/scenarios/versions.hbs @@ -2,11 +2,11 @@ Versions - + - + {{#if (is-equal nameVersion "ed")}}
    Yo Ed
    Yo Ed
    diff --git a/docs/app/templates/transitions/explode.hbs b/docs/app/templates/transitions/explode.hbs index abc908fb..654e5327 100644 --- a/docs/app/templates/transitions/explode.hbs +++ b/docs/app/templates/transitions/explode.hbs @@ -10,7 +10,7 @@ and then below we document all the options in detail.

    {{!- BEGIN-SNIPPET explode-demo-1 }}
    - + {{#liquid-if predicate=this.showDetail}}

    Details

    @@ -41,12 +41,12 @@ and then below we document all the options in detail.

    {{!- BEGIN-SNIPPET explode-demo-2 }}
    - - {{#liquid-bind value=this.photos as |photosVersion|}} + + {{#each photosVersion key="id" as |photo|}} a random person photo {{/each}} - {{/liquid-bind}} +
    {{!- END-SNIPPET }} diff --git a/docs/app/templates/transitions/predefined.hbs b/docs/app/templates/transitions/predefined.hbs index 8d905471..7323a468 100644 --- a/docs/app/templates/transitions/predefined.hbs +++ b/docs/app/templates/transitions/predefined.hbs @@ -7,41 +7,41 @@