@projectcaluma/ember-form-builder 11.0.0-beta.1 → 11.0.0-beta.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/CHANGELOG.md +1096 -0
  2. package/addon/components/cfb-form-editor/general.hbs +1 -1
  3. package/addon/components/cfb-form-editor/general.js +5 -6
  4. package/addon/components/cfb-form-editor/question/options.hbs +1 -1
  5. package/addon/components/cfb-form-editor/question/validation.hbs +1 -0
  6. package/addon/components/cfb-form-editor/question-list/item.hbs +4 -4
  7. package/addon/components/cfb-form-editor/question-list/item.js +2 -2
  8. package/addon/components/cfb-form-editor/question-list.hbs +6 -6
  9. package/addon/components/cfb-form-editor/question-list.js +8 -5
  10. package/addon/components/cfb-form-editor/question.hbs +3 -1
  11. package/addon/components/cfb-form-editor/question.js +8 -7
  12. package/addon/components/cfb-form-editor.hbs +5 -5
  13. package/addon/components/cfb-form-list/item.hbs +1 -1
  14. package/addon/components/cfb-form-list.hbs +4 -4
  15. package/addon/components/cfb-form-list.js +7 -1
  16. package/addon/components/cfb-toggle-switch.hbs +1 -1
  17. package/addon/engine.js +7 -10
  18. package/addon/templates/edit/questions/edit.hbs +1 -1
  19. package/addon/templates/edit/questions/new.hbs +1 -4
  20. package/addon/templates/edit.hbs +5 -5
  21. package/addon/templates/index.hbs +1 -1
  22. package/addon/templates/new.hbs +1 -1
  23. package/addon/utils/and.js +47 -0
  24. package/addon/utils/or.js +40 -0
  25. package/addon/validations/option.js +1 -1
  26. package/addon/validations/question.js +2 -2
  27. package/addon/validators/slug.js +1 -1
  28. package/app/utils/and.js +1 -0
  29. package/app/utils/or.js +1 -0
  30. package/index.js +6 -4
  31. package/package.json +22 -16
@@ -85,7 +85,7 @@
85
85
  <div
86
86
  class="uk-text-center uk-text-muted uk-padding uk-padding-remove-horizontal"
87
87
  >
88
- {{uk-icon "bolt" ratio=5}}
88
+ <UkIcon @icon="bolt" @ratio={{5}} />
89
89
  <p>{{t "caluma.form-builder.form.not-found" slug=@slug}}</p>
90
90
  </div>
91
91
  {{/if}}
@@ -3,7 +3,6 @@ import { action } from "@ember/object";
3
3
  import { inject as service } from "@ember/service";
4
4
  import Component from "@glimmer/component";
5
5
  import { queryManager } from "ember-apollo-client";
6
- import { optional } from "ember-composable-helpers/helpers/optional";
7
6
  import { timeout, restartableTask, dropTask } from "ember-concurrency";
8
7
  import { useTask } from "ember-resources";
9
8
 
@@ -89,7 +88,7 @@ export default class CfbFormEditorGeneral extends Component {
89
88
  )
90
89
  );
91
90
 
92
- optional([this.args["on-after-submit"]])(form);
91
+ this.args.onAfterSubmit?.(form);
93
92
  } catch (e) {
94
93
  this.notification.danger(
95
94
  this.intl.t(
@@ -103,11 +102,11 @@ export default class CfbFormEditorGeneral extends Component {
103
102
 
104
103
  @restartableTask
105
104
  *validateSlug(slug, changeset) {
105
+ const { environment } =
106
+ getOwner(this).resolveRegistration("config:environment");
107
+
106
108
  /* istanbul ignore next */
107
- if (
108
- getOwner(this).resolveRegistration("config:environment").environment !==
109
- "test"
110
- ) {
109
+ if (environment !== "test") {
111
110
  yield timeout(500);
112
111
  }
113
112
 
@@ -3,7 +3,7 @@
3
3
 
4
4
  <UkSortable
5
5
  @handle=".uk-sortable-handle"
6
- @on-moved={{this._handleMoved}}
6
+ @onMoved={{this._handleMoved}}
7
7
  @tagName="ul"
8
8
  class="uk-list uk-list-divider uk-margin-remove-bottom uk-margin-small-top"
9
9
  >
@@ -6,6 +6,7 @@
6
6
  @placeholder={{this.placeholder}}
7
7
  @options={{this.validators}}
8
8
  @onChange={{this.updateValidators}}
9
+ @renderInPlace={{true}}
9
10
  as |item|
10
11
  >
11
12
  {{item.name}}
@@ -4,8 +4,8 @@
4
4
  @question.isArchived
5
5
  "cfb-form-editor__question-list__item__archived"
6
6
  }}
7
- {{did-insert (fn (optional @on-register) this.elementId @question.slug)}}
8
- {{will-destroy (fn (optional @on-unregister) this.elementId @question.slug)}}
7
+ {{did-insert (fn (optional @onRegister) this.elementId @question.slug)}}
8
+ {{will-destroy (fn (optional @onUnregister) this.elementId @question.slug)}}
9
9
  ...attributes
10
10
  >
11
11
  <div class="uk-flex uk-flex-middle">
@@ -24,7 +24,7 @@
24
24
  data-test-remove-item
25
25
  uk-icon="minus"
26
26
  class="cfb-pointer uk-text-danger"
27
- {{on "click" (fn (optional @on-remove-question) @question)}}
27
+ {{on "click" (fn (optional @onRemoveQuestion) @question)}}
28
28
  >
29
29
  </i>
30
30
  {{else if (eq @mode "add")}}
@@ -33,7 +33,7 @@
33
33
  data-test-add-item
34
34
  uk-icon="plus"
35
35
  class="cfb-pointer uk-text-success"
36
- {{on "click" (fn (optional @on-add-question) @question)}}
36
+ {{on "click" (fn (optional @onAddQuestion) @question)}}
37
37
  >
38
38
  </i>
39
39
  {{/if}}
@@ -51,12 +51,12 @@ export default class CfbFormEditorQuestionListItem extends Component {
51
51
  @action
52
52
  editQuestion(question, e) {
53
53
  e.preventDefault();
54
- this.args["on-edit-question"]?.(question);
54
+ this.args.onEditQuestion?.(question);
55
55
  }
56
56
 
57
57
  @action
58
58
  clickForm(form, e) {
59
59
  e.preventDefault();
60
- this.args["on-click-form"]?.(form);
60
+ this.args.onClickForm?.(form);
61
61
  }
62
62
  }
@@ -76,12 +76,12 @@
76
76
  data-test-question-list-item={{item.node.slug}}
77
77
  @mode={{this.mode}}
78
78
  @question={{item.node}}
79
- @on-edit-question={{@on-edit-question}}
80
- @on-remove-question={{perform this.removeQuestion}}
81
- @on-add-question={{perform this.addQuestion}}
82
- @on-click-form={{@on-click-form}}
83
- @on-register={{this.registerChild}}
84
- @on-unregister={{this.unregisterChild}}
79
+ @onEditQuestion={{@onEditQuestion}}
80
+ @onRemoveQuestion={{perform this.removeQuestion}}
81
+ @onAddQuestion={{perform this.addQuestion}}
82
+ @onClickForm={{@onClickForm}}
83
+ @onRegister={{this.registerChild}}
84
+ @onUnregister={{this.unregisterChild}}
85
85
  />
86
86
  {{else}}
87
87
  <li
@@ -1,10 +1,10 @@
1
+ import { getOwner } from "@ember/application";
1
2
  import { action } from "@ember/object";
2
3
  import { run } from "@ember/runloop";
3
4
  import { inject as service } from "@ember/service";
4
5
  import Component from "@glimmer/component";
5
6
  import { tracked } from "@glimmer/tracking";
6
7
  import { queryManager } from "ember-apollo-client";
7
- import { optional } from "ember-composable-helpers/helpers/optional";
8
8
  import {
9
9
  timeout,
10
10
  enqueueTask,
@@ -56,7 +56,10 @@ export default class ComponentsCfbFormEditorQuestionList extends Component {
56
56
  const mode = this.mode;
57
57
  const search = mode !== "reorder" ? this.search : "";
58
58
 
59
- if (search) {
59
+ const { environment } =
60
+ getOwner(this).resolveRegistration("config:environment");
61
+
62
+ if (search && environment !== "test") {
60
63
  yield timeout(500);
61
64
  }
62
65
 
@@ -148,7 +151,7 @@ export default class ComponentsCfbFormEditorQuestionList extends Component {
148
151
 
149
152
  this.questionTask.perform();
150
153
 
151
- optional([this.args["on-after-add-question"]])(question);
154
+ this.args.onAfterAddQuestion?.(question);
152
155
  } catch (e) {
153
156
  this.notification.danger(
154
157
  this.intl.t("caluma.form-builder.notification.form.add-question.error")
@@ -176,7 +179,7 @@ export default class ComponentsCfbFormEditorQuestionList extends Component {
176
179
  )
177
180
  );
178
181
 
179
- optional([this.args["on-after-remove-question"]])(question);
182
+ this.args.onAfterRemoveQuestion?.(question);
180
183
  } catch (e) {
181
184
  this.notification.danger(
182
185
  this.intl.t(
@@ -238,7 +241,7 @@ export default class ComponentsCfbFormEditorQuestionList extends Component {
238
241
  createNewQuestion(e) {
239
242
  e.preventDefault();
240
243
 
241
- this.args["on-create-question"]?.();
244
+ this.args.onCreateQuestion?.();
242
245
  this.setMode("reorder");
243
246
  }
244
247
  }
@@ -341,6 +341,7 @@
341
341
  @noMatchesMessage={{t
342
342
  "caluma.form-builder.question.search-empty"
343
343
  }}
344
+ @renderInPlace={{true}}
344
345
  as |form|
345
346
  >
346
347
  <span
@@ -413,6 +414,7 @@
413
414
  "caluma.form-builder.question.search-placeholder"
414
415
  }}
415
416
  @noMatchesMessage={{t "caluma.form-builder.question.search-empty"}}
417
+ @renderInPlace={{true}}
416
418
  as |form|
417
419
  >
418
420
  <span class="uk-width-auto uk-margin-small-right uk-text-truncate">
@@ -448,7 +450,7 @@
448
450
 
449
451
  <UkButton
450
452
  @color="link"
451
- @on-click={{toggle-action "showAdvanced" this}}
453
+ @onClick={{toggle-action "showAdvanced" this}}
452
454
  class="uk-flex uk-flex-middle uk-margin"
453
455
  >
454
456
  {{#if this.showAdvanced}}
@@ -8,7 +8,6 @@ import { tracked } from "@glimmer/tracking";
8
8
  import { queryManager } from "ember-apollo-client";
9
9
  import Changeset from "ember-changeset";
10
10
  import lookupValidator from "ember-changeset-validations";
11
- import { optional } from "ember-composable-helpers/helpers/optional";
12
11
  import { dropTask, restartableTask, task, timeout } from "ember-concurrency";
13
12
  import { all } from "rsvp";
14
13
 
@@ -222,7 +221,9 @@ export default class CfbFormEditorQuestion extends Component {
222
221
  isArchived: changeset.get("isArchived"),
223
222
  };
224
223
 
225
- if (!hasQuestionType(changeset, "static", "calculated-float")) {
224
+ if (
225
+ !hasQuestionType(changeset, "static", "calculated-float", "action-button")
226
+ ) {
226
227
  Object.assign(input, {
227
228
  isRequired: changeset.get("isRequired"),
228
229
  });
@@ -406,7 +407,7 @@ export default class CfbFormEditorQuestion extends Component {
406
407
  this.intl.t("caluma.form-builder.notification.question.save.success")
407
408
  );
408
409
 
409
- optional([this.args["on-after-submit"]])(question);
410
+ this.args.onAfterSubmit?.(question);
410
411
  } catch (e) {
411
412
  // eslint-disable-next-line no-console
412
413
  console.error(e);
@@ -418,11 +419,11 @@ export default class CfbFormEditorQuestion extends Component {
418
419
 
419
420
  @restartableTask
420
421
  *validateSlug(slug, changeset) {
422
+ const { environment } =
423
+ getOwner(this).resolveRegistration("config:environment");
424
+
421
425
  /* istanbul ignore next */
422
- if (
423
- getOwner(this).resolveRegistration("config:environment").environment !==
424
- "test"
425
- ) {
426
+ if (environment !== "test") {
426
427
  yield timeout(500);
427
428
  }
428
429
 
@@ -12,11 +12,11 @@
12
12
  {{else}}
13
13
  <CfbFormEditor::QuestionList
14
14
  @form={{@slug}}
15
- @on-edit-question={{@on-edit-question}}
16
- @on-create-question={{@on-create-question}}
17
- @on-after-add-question={{@on-after-add-question}}
18
- @on-after-remove-question={{@on-after-remove-question}}
19
- @on-click-form={{@on-click-form}}
15
+ @onEditQuestion={{@onEditQuestion}}
16
+ @onCreateQuestion={{@onCreateQuestion}}
17
+ @onAfterAddQuestion={{@onAfterAddQuestion}}
18
+ @onAfterRemoveQuestion={{@onAfterRemoveQuestion}}
19
+ @onClickForm={{@onClickForm}}
20
20
  />
21
21
  {{/if}}
22
22
  </div>
@@ -12,7 +12,7 @@
12
12
  type="button"
13
13
  uk-icon="pencil"
14
14
  class="uk-icon-button"
15
- {{on "click" (fn (optional @on-edit-form) @item)}}
15
+ {{on "click" (fn (optional @onEditForm) @item)}}
16
16
  >
17
17
  </button>
18
18
  </span>
@@ -3,16 +3,16 @@
3
3
  {{#each (array "active" "archived" "all") as |category|}}
4
4
  <UkButton
5
5
  data-test-filter={{category}}
6
- @on-click={{fn (perform this.setFilter) "category" category}}
6
+ @onClick={{fn (perform this.setFilter) "category" category}}
7
7
  @label={{t (concat "caluma.form-builder.form." category)}}
8
- @class={{if (eq this.category category) "uk-button-primary" ""}}
8
+ @color={{if (eq this.category category) "primary"}}
9
9
  />
10
10
  {{/each}}
11
11
  </div>
12
12
  <div>
13
13
  <UkButton
14
14
  data-test-new-form
15
- @on-click={{optional @on-new-form}}
15
+ @onClick={{optional @onNewForm}}
16
16
  @label={{t "caluma.form-builder.form.new"}}
17
17
  />
18
18
  </div>
@@ -37,7 +37,7 @@
37
37
  <CfbFormList::Item
38
38
  data-test-form-list-item={{item.slug}}
39
39
  @item={{item}}
40
- @on-edit-form={{@on-edit-form}}
40
+ @onEditForm={{@onEditForm}}
41
41
  />
42
42
  {{/each}}
43
43
  {{#if this.formsQuery.isLoading}}
@@ -1,3 +1,4 @@
1
+ import { getOwner } from "@ember/application";
1
2
  import Component from "@glimmer/component";
2
3
  import { tracked } from "@glimmer/tracking";
3
4
  import { timeout, restartableTask } from "ember-concurrency";
@@ -30,7 +31,12 @@ export default class ComponentsCfbFormListComponent extends Component {
30
31
 
31
32
  @restartableTask
32
33
  *setFilter(name, eventOrValue) {
33
- yield timeout(500);
34
+ const { environment } =
35
+ getOwner(this).resolveRegistration("config:environment");
36
+
37
+ if (environment !== "test") {
38
+ yield timeout(500);
39
+ }
34
40
 
35
41
  this[name] =
36
42
  eventOrValue instanceof Event ? eventOrValue.target.value : eventOrValue;
@@ -7,7 +7,7 @@
7
7
  @size={{@size}}
8
8
  @name={{@name}}
9
9
  @disabled={{@disabled}}
10
- @on-toggle={{@update}}
10
+ @onToggle={{@update}}
11
11
  />
12
12
  </div>
13
13
 
package/addon/engine.js CHANGED
@@ -6,16 +6,13 @@ import config from "./config/environment";
6
6
 
7
7
  const { modulePrefix } = config;
8
8
 
9
- /* eslint-disable ember/avoid-leaking-state-in-ember-objects */
10
- const Eng = Engine.extend({
11
- modulePrefix,
12
- Resolver,
9
+ export default class FormBuilderEngine extends Engine {
10
+ modulePrefix = modulePrefix;
11
+ Resolver = Resolver;
13
12
 
14
- dependencies: {
13
+ dependencies = {
15
14
  services: ["apollo", "notification", "intl", "caluma-options", "validator"],
16
- },
17
- });
15
+ };
16
+ }
18
17
 
19
- loadInitializers(Eng, modulePrefix);
20
-
21
- export default Eng;
18
+ loadInitializers(FormBuilderEngine, modulePrefix);
@@ -1,5 +1,5 @@
1
1
  <CfbFormEditor::Question
2
2
  @slug={{@model.questionSlug}}
3
3
  @form={{@model.formSlug}}
4
- @on-after-submit={{this.afterSubmit}}
4
+ @onAfterSubmit={{this.afterSubmit}}
5
5
  />
@@ -1,4 +1 @@
1
- <CfbFormEditor::Question
2
- @form={{@model}}
3
- @on-after-submit={{this.afterSubmit}}
4
- />
1
+ <CfbFormEditor::Question @form={{@model}} @onAfterSubmit={{this.afterSubmit}} />
@@ -1,10 +1,10 @@
1
1
  <CfbFormEditor
2
2
  @slug={{@model}}
3
- @on-edit-question={{this.editQuestion}}
4
- @on-create-question={{this.createQuestion}}
5
- @on-after-add-question={{this.editQuestion}}
6
- @on-after-remove-question={{this.afterRemoveQuestion}}
7
- @on-click-form={{this.clickForm}}
3
+ @onEditQuestion={{this.editQuestion}}
4
+ @onCreateQuestion={{this.createQuestion}}
5
+ @onAfterAddQuestion={{this.editQuestion}}
6
+ @onAfterRemoveQuestion={{this.afterRemoveQuestion}}
7
+ @onClickForm={{this.clickForm}}
8
8
  >
9
9
  {{outlet}}
10
10
  </CfbFormEditor>
@@ -1 +1 @@
1
- <CfbFormList @on-new-form={{this.newForm}} @on-edit-form={{this.editForm}} />
1
+ <CfbFormList @onNewForm={{this.newForm}} @onEditForm={{this.editForm}} />
@@ -1,6 +1,6 @@
1
1
  <CfbFormEditor @slug={{@model}}>
2
2
  <CfbFormEditor::General
3
3
  @slug={{@model}}
4
- @on-after-submit={{this.afterSubmit}}
4
+ @onAfterSubmit={{this.afterSubmit}}
5
5
  />
6
6
  </CfbFormEditor>
@@ -0,0 +1,47 @@
1
+ import { typeOf } from "@ember/utils";
2
+ import { isPromise } from "validated-changeset";
3
+
4
+ function notTrue(value) {
5
+ return typeOf(value) !== "boolean" || !value;
6
+ }
7
+
8
+ function handleResult(result) {
9
+ if (notTrue(result)) throw result;
10
+ return true;
11
+ }
12
+
13
+ /**
14
+ * Accepts an array of ember-changeset-validations validation functions.
15
+ *
16
+ * Copied and updated from nucleartide/ember-changeset-hofs
17
+ * @module and
18
+ */
19
+ export default function and(...validators) {
20
+ return (key, newValue, oldValue, changes, object) => {
21
+ for (let i = 0; i < validators.length; i++) {
22
+ const validation = validators[i](
23
+ key,
24
+ newValue,
25
+ oldValue,
26
+ changes,
27
+ object
28
+ );
29
+
30
+ if (isPromise(validation)) {
31
+ let promise = validation.then(handleResult);
32
+
33
+ for (let j = i + 1; j < validators.length; j++) {
34
+ promise = promise
35
+ .then(() => validators[j](key, newValue, oldValue, changes, object))
36
+ .then(handleResult);
37
+ }
38
+
39
+ return promise.catch((err) => err);
40
+ }
41
+
42
+ if (notTrue(validation)) return validation;
43
+ }
44
+
45
+ return true;
46
+ };
47
+ }
@@ -0,0 +1,40 @@
1
+ import { isPromise } from "validated-changeset";
2
+
3
+ function isTrue(value) {
4
+ return value === true;
5
+ }
6
+
7
+ function handleResult(result) {
8
+ if (isTrue(result)) throw true;
9
+ return result;
10
+ }
11
+
12
+ /**
13
+ * Copied and updated from nucleartide/ember-changeset-hofs
14
+ * @module or
15
+ */
16
+ export default function or(...validators) {
17
+ return (key, newValue, oldValue, changes, object) => {
18
+ let validation;
19
+
20
+ for (let i = 0; i < validators.length; i++) {
21
+ validation = validators[i](key, newValue, oldValue, changes, object);
22
+
23
+ if (isPromise(validation)) {
24
+ let promise = validation.then(handleResult);
25
+
26
+ for (let j = i + 1; j < validators.length; j++) {
27
+ promise = promise
28
+ .then(() => validators[j](key, newValue, oldValue, changes, object))
29
+ .then(handleResult);
30
+ }
31
+
32
+ return promise.catch((err) => err);
33
+ }
34
+
35
+ if (isTrue(validation)) return true;
36
+ }
37
+
38
+ return validation;
39
+ };
40
+ }
@@ -3,7 +3,7 @@ import {
3
3
  validateLength,
4
4
  } from "ember-changeset-validations/validators";
5
5
 
6
- import and from "@projectcaluma/ember-core/utils/and";
6
+ import and from "@projectcaluma/ember-form-builder/utils/and";
7
7
  import validateSlug from "@projectcaluma/ember-form-builder/validators/slug";
8
8
 
9
9
  export default {
@@ -7,8 +7,8 @@ import {
7
7
  import validateGtLt from "../validators/gt-lt";
8
8
  import validateOptions from "../validators/options";
9
9
 
10
- import and from "@projectcaluma/ember-core/utils/and";
11
- import or from "@projectcaluma/ember-core/utils/or";
10
+ import and from "@projectcaluma/ember-form-builder/utils/and";
11
+ import or from "@projectcaluma/ember-form-builder/utils/or";
12
12
  import validateSlug from "@projectcaluma/ember-form-builder/validators/slug";
13
13
  import validateType from "@projectcaluma/ember-form-builder/validators/type";
14
14
 
@@ -4,7 +4,7 @@ import {
4
4
  validateFormat,
5
5
  } from "ember-changeset-validations/validators";
6
6
 
7
- import and from "@projectcaluma/ember-core/utils/and";
7
+ import and from "@projectcaluma/ember-form-builder/utils/and";
8
8
 
9
9
  const validateSlug = () =>
10
10
  and(
@@ -0,0 +1 @@
1
+ export { default } from "@projectcaluma/ember-form-builder/utils/and";
@@ -0,0 +1 @@
1
+ export { default } from "@projectcaluma/ember-form-builder/utils/or";
package/index.js CHANGED
@@ -1,12 +1,14 @@
1
1
  "use strict";
2
2
 
3
3
  // eslint-disable-next-line node/no-unpublished-require
4
- const EngineAddon = require("ember-engines/lib/engine-addon");
4
+ const { buildEngine } = require("ember-engines/lib/engine-addon");
5
5
 
6
- /* eslint-disable ember/avoid-leaking-state-in-ember-objects */
7
- module.exports = EngineAddon.extend({
6
+ module.exports = buildEngine({
8
7
  name: require("./package.json").name,
9
- lazyLoading: false,
8
+
9
+ lazyLoading: {
10
+ enabled: false,
11
+ },
10
12
 
11
13
  included(...args) {
12
14
  this._super.included.apply(this, args);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@projectcaluma/ember-form-builder",
3
- "version": "11.0.0-beta.1",
3
+ "version": "11.0.0-beta.5",
4
4
  "description": "Ember engine for building Caluma forms.",
5
5
  "keywords": [
6
6
  "ember-addon",
@@ -14,29 +14,33 @@
14
14
  "test:ember": "ember test",
15
15
  "test:ember-compatibility": "ember try:each"
16
16
  },
17
+ "peerDependencies": {
18
+ "ember-engines": ">= 0.8"
19
+ },
17
20
  "dependencies": {
18
- "@ember/render-modifiers": "^2.0.2",
21
+ "@ember/render-modifiers": "^2.0.4",
19
22
  "@glimmer/component": "^1.0.4",
20
23
  "@glimmer/tracking": "^1.0.4",
21
- "@projectcaluma/ember-core": "^11.0.0-beta.1",
22
- "@projectcaluma/ember-form": "^11.0.0-beta.1",
24
+ "@projectcaluma/ember-core": "^11.0.0-beta.2",
25
+ "@projectcaluma/ember-form": "^11.0.0-beta.6",
23
26
  "codejar": "^3.5.0",
24
27
  "ember-apollo-client": "^3.2.0",
25
- "ember-auto-import": "^2.2.3",
26
- "ember-changeset": "^3.15.0",
27
- "ember-changeset-validations": "^3.16.0",
28
+ "ember-auto-import": "^2.4.0",
29
+ "ember-changeset": "^4.0.0-beta.2",
30
+ "ember-changeset-validations": "^4.0.0-beta.2",
28
31
  "ember-cli-babel": "^7.26.11",
29
32
  "ember-cli-htmlbars": "^6.0.1",
30
33
  "ember-composable-helpers": "^5.0.0",
31
34
  "ember-concurrency": "^2.2.0",
32
35
  "ember-engines-router-service": "^0.3.0",
33
- "ember-fetch": "^8.0.4",
34
- "ember-math-helpers": "^2.18.0",
36
+ "ember-fetch": "^8.1.1",
37
+ "ember-intl": "^5.7.2",
38
+ "ember-math-helpers": "^2.18.1",
35
39
  "ember-pikaday": "^3.0.0",
36
40
  "ember-power-select": "^5.0.3",
37
- "ember-resources": "^4.1.3",
41
+ "ember-resources": "^4.2.0",
38
42
  "ember-test-selectors": "^6.0.0",
39
- "ember-uikit": "^4.0.0",
43
+ "ember-uikit": "^5.0.0-beta.11",
40
44
  "ember-validated-form": "^5.1.1",
41
45
  "graphql": "^15.8.0",
42
46
  "graphql-tag": "^2.12.6",
@@ -44,17 +48,19 @@
44
48
  "moment": "^2.29.1",
45
49
  "prismjs": "^1.26.0"
46
50
  },
51
+ "//": "TODO: remove ember-data when https://github.com/ember-engines/ember-engines/pull/794 is released",
47
52
  "devDependencies": {
48
53
  "@ember/optional-features": "2.0.0",
49
54
  "@ember/test-helpers": "2.6.0",
50
- "@embroider/test-setup": "0.49.0",
51
- "@projectcaluma/ember-testing": "10.1.0",
55
+ "@embroider/test-setup": "1.0.0",
56
+ "@faker-js/faker": "6.0.0-alpha.5",
57
+ "@projectcaluma/ember-testing": "10.2.0-beta.2",
52
58
  "broccoli-asset-rev": "3.0.0",
53
59
  "ember-cli": "3.28.5",
54
60
  "ember-cli-code-coverage": "1.0.3",
55
61
  "ember-cli-dependency-checker": "3.2.0",
56
62
  "ember-cli-inject-live-reload": "2.1.0",
57
- "ember-cli-mirage": "2.2.0",
63
+ "ember-cli-mirage": "2.4.0",
58
64
  "ember-cli-sri": "2.1.1",
59
65
  "ember-cli-terser": "4.0.2",
60
66
  "ember-data": "3.28.7",
@@ -68,12 +74,12 @@
68
74
  "ember-source": "3.28.8",
69
75
  "ember-source-channel-url": "3.0.0",
70
76
  "ember-try": "2.0.0",
71
- "faker": "5.5.3",
72
77
  "loader.js": "4.7.0",
78
+ "miragejs": "0.1.43",
73
79
  "npm-run-all": "4.1.5",
74
80
  "qunit": "2.17.2",
75
81
  "qunit-dom": "2.0.0",
76
- "webpack": "5.65.0"
82
+ "webpack": "5.68.0"
77
83
  },
78
84
  "engines": {
79
85
  "node": "12.* || 14.* || >= 16"