@projectcaluma/ember-distribution 1.0.0-beta.1

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 (91) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/addon/-private/decorator.js +24 -0
  3. package/addon/abilities/inquiry.js +39 -0
  4. package/addon/components/distribution-navigation/controls.hbs +21 -0
  5. package/addon/components/distribution-navigation/controls.js +45 -0
  6. package/addon/components/distribution-navigation/item.hbs +18 -0
  7. package/addon/components/distribution-navigation/item.js +17 -0
  8. package/addon/components/distribution-navigation/section.hbs +24 -0
  9. package/addon/components/distribution-navigation/section.js +25 -0
  10. package/addon/components/distribution-navigation/status-indicator.hbs +17 -0
  11. package/addon/components/distribution-navigation/status-indicator.js +19 -0
  12. package/addon/components/distribution-navigation.hbs +17 -0
  13. package/addon/components/distribution-navigation.js +81 -0
  14. package/addon/components/icon-button.hbs +20 -0
  15. package/addon/components/icon-button.js +22 -0
  16. package/addon/components/inquiry-answer-form.hbs +46 -0
  17. package/addon/components/inquiry-answer-form.js +75 -0
  18. package/addon/components/inquiry-dialog/inquiry-deadline.hbs +6 -0
  19. package/addon/components/inquiry-dialog/inquiry-deadline.js +10 -0
  20. package/addon/components/inquiry-dialog/inquiry-divider.hbs +7 -0
  21. package/addon/components/inquiry-dialog/inquiry-divider.js +13 -0
  22. package/addon/components/inquiry-dialog/inquiry-part.hbs +40 -0
  23. package/addon/components/inquiry-dialog/inquiry-part.js +20 -0
  24. package/addon/components/inquiry-dialog/inquiry.hbs +13 -0
  25. package/addon/components/inquiry-dialog/inquiry.js +7 -0
  26. package/addon/components/inquiry-dialog.hbs +9 -0
  27. package/addon/components/inquiry-dialog.js +42 -0
  28. package/addon/components/inquiry-edit-form.hbs +27 -0
  29. package/addon/components/inquiry-edit-form.js +53 -0
  30. package/addon/components/inquiry-new-form.hbs +110 -0
  31. package/addon/components/inquiry-new-form.js +154 -0
  32. package/addon/config.js +72 -0
  33. package/addon/controllers/distribution/new.js +22 -0
  34. package/addon/engine.js +18 -0
  35. package/addon/gql/fragments/inquiry.graphql +89 -0
  36. package/addon/gql/mutations/complete-inquiry-work-item.graphql +36 -0
  37. package/addon/gql/mutations/create-inquiry.graphql +5 -0
  38. package/addon/gql/mutations/resume-work-item.graphql +8 -0
  39. package/addon/gql/queries/control-work-items.graphql +37 -0
  40. package/addon/gql/queries/inquiry-answer.graphql +33 -0
  41. package/addon/gql/queries/inquiry-dialog.graphql +28 -0
  42. package/addon/gql/queries/inquiry-edit.graphql +18 -0
  43. package/addon/gql/queries/inquiry-navigation.graphql +56 -0
  44. package/addon/routes/distribution/index.js +41 -0
  45. package/addon/routes/distribution/inquiry/detail/answer.js +7 -0
  46. package/addon/routes/distribution/inquiry/detail/index.js +7 -0
  47. package/addon/routes/distribution/inquiry/detail.js +7 -0
  48. package/addon/routes/distribution/inquiry/index.js +10 -0
  49. package/addon/routes/distribution/inquiry.js +7 -0
  50. package/addon/routes/distribution/new.js +7 -0
  51. package/addon/routes/distribution.js +7 -0
  52. package/addon/routes.js +12 -0
  53. package/addon/templates/distribution/inquiry/detail/answer.hbs +1 -0
  54. package/addon/templates/distribution/inquiry/detail/index.hbs +1 -0
  55. package/addon/templates/distribution/inquiry/detail.hbs +1 -0
  56. package/addon/templates/distribution/inquiry/index.hbs +5 -0
  57. package/addon/templates/distribution/inquiry.hbs +1 -0
  58. package/addon/templates/distribution/new.hbs +7 -0
  59. package/addon/templates/distribution.hbs +8 -0
  60. package/addon/utils/inquiry-deadline.js +48 -0
  61. package/addon/utils/inquiry-status.js +68 -0
  62. package/addon/utils/unique-by-groups.js +17 -0
  63. package/app/abilities/inquiry.js +1 -0
  64. package/app/components/distribution-navigation/controls.js +1 -0
  65. package/app/components/distribution-navigation/item.js +1 -0
  66. package/app/components/distribution-navigation/section.js +1 -0
  67. package/app/components/distribution-navigation/status-indicator.js +1 -0
  68. package/app/components/distribution-navigation.js +1 -0
  69. package/app/components/icon-button.js +1 -0
  70. package/app/components/inquiry-answer-form.js +1 -0
  71. package/app/components/inquiry-dialog/inquiry-deadline.js +1 -0
  72. package/app/components/inquiry-dialog/inquiry-divider.js +1 -0
  73. package/app/components/inquiry-dialog/inquiry-part.js +1 -0
  74. package/app/components/inquiry-dialog/inquiry.js +1 -0
  75. package/app/components/inquiry-dialog.js +1 -0
  76. package/app/components/inquiry-edit-form.js +1 -0
  77. package/app/components/inquiry-new-form.js +1 -0
  78. package/app/styles/@projectcaluma/ember-distribution.scss +3 -0
  79. package/app/styles/_icon-button.scss +13 -0
  80. package/app/styles/_inquiry-divider.scss +49 -0
  81. package/app/styles/_status-indicator.scss +31 -0
  82. package/app/styles/app.scss +1 -0
  83. package/app/utils/inquiry-deadline.js +1 -0
  84. package/app/utils/inquiry-status.js +1 -0
  85. package/app/utils/unique-by-groups.js +1 -0
  86. package/config/environment.js +10 -0
  87. package/index.js +22 -0
  88. package/package.json +86 -0
  89. package/translations/de.yaml +42 -0
  90. package/translations/en.yaml +42 -0
  91. package/translations/fr.yaml +42 -0
@@ -0,0 +1,37 @@
1
+ query ControlWorkItems(
2
+ $createTask: ID!
3
+ $completeTask: ID!
4
+ $caseId: ID!
5
+ $currentGroup: String!
6
+ ) {
7
+ create: allWorkItems(
8
+ filter: [
9
+ { case: $caseId }
10
+ { task: $createTask }
11
+ { status: READY }
12
+ { addressedGroups: [$currentGroup] }
13
+ ]
14
+ first: 1
15
+ ) {
16
+ edges {
17
+ node {
18
+ id
19
+ }
20
+ }
21
+ }
22
+ complete: allWorkItems(
23
+ filter: [
24
+ { case: $caseId }
25
+ { task: $completeTask }
26
+ { status: READY }
27
+ { addressedGroups: [$currentGroup] }
28
+ ]
29
+ first: 1
30
+ ) {
31
+ edges {
32
+ node {
33
+ id
34
+ }
35
+ }
36
+ }
37
+ }
@@ -0,0 +1,33 @@
1
+ query InquiryAnswer($inquiry: ID!, $buttonTasks: [String]!) {
2
+ allWorkItems(filter: [{ id: $inquiry }]) {
3
+ edges {
4
+ node {
5
+ id
6
+ status
7
+ addressedGroups
8
+ task {
9
+ id
10
+ slug
11
+ }
12
+ childCase {
13
+ id
14
+ status
15
+ document {
16
+ id
17
+ }
18
+ workItems(tasks: $buttonTasks, status: READY) {
19
+ edges {
20
+ node {
21
+ id
22
+ task {
23
+ id
24
+ slug
25
+ }
26
+ }
27
+ }
28
+ }
29
+ }
30
+ }
31
+ }
32
+ }
33
+ }
@@ -0,0 +1,28 @@
1
+ #import InquiryDialog, InquiryDeadlineDocument, InquiryStatusDocument from '../fragments/inquiry.graphql'
2
+
3
+ query InquiryDialog(
4
+ $task: ID!
5
+ $statusQuestion: ID!
6
+ $deadlineQuestion: ID!
7
+ $infoQuestion: ID!
8
+ $answerInfoQuestion: ID!
9
+ $from: [String]!
10
+ $to: [String]!
11
+ $caseId: ID!
12
+ ) {
13
+ allWorkItems(
14
+ filter: [
15
+ { case: $caseId }
16
+ { task: $task }
17
+ { controllingGroups: $from }
18
+ { addressedGroups: $to }
19
+ ]
20
+ order: [{ attribute: CREATED_AT, direction: DESC }]
21
+ ) {
22
+ edges {
23
+ node {
24
+ ...InquiryDialog
25
+ }
26
+ }
27
+ }
28
+ }
@@ -0,0 +1,18 @@
1
+ query InquiryEdit($inquiry: ID!) {
2
+ allWorkItems(filter: [{ id: $inquiry }]) {
3
+ edges {
4
+ node {
5
+ id
6
+ status
7
+ controllingGroups
8
+ task {
9
+ id
10
+ slug
11
+ }
12
+ document {
13
+ id
14
+ }
15
+ }
16
+ }
17
+ }
18
+ }
@@ -0,0 +1,56 @@
1
+ #import Inquiry, InquiryDeadlineDocument, InquiryStatusDocument from '../fragments/inquiry.graphql'
2
+
3
+ query InquiryNavigation(
4
+ $task: ID!
5
+ $statusQuestion: ID
6
+ $deadlineQuestion: ID
7
+ $currentGroup: String!
8
+ $caseId: ID!
9
+ $includeNavigationData: Boolean!
10
+ ) {
11
+ controlling: allWorkItems(
12
+ filter: [
13
+ { case: $caseId }
14
+ { task: $task }
15
+ { controllingGroups: [$currentGroup] }
16
+ ]
17
+ order: [{ attribute: CREATED_AT, direction: DESC }]
18
+ ) {
19
+ edges {
20
+ node {
21
+ ...Inquiry
22
+ }
23
+ }
24
+ }
25
+ addressed: allWorkItems(
26
+ filter: [
27
+ { case: $caseId }
28
+ { task: $task }
29
+ { addressedGroups: [$currentGroup] }
30
+ { status: SUSPENDED, invert: true }
31
+ ]
32
+ order: [{ attribute: CREATED_AT, direction: DESC }]
33
+ ) {
34
+ edges {
35
+ node {
36
+ ...Inquiry
37
+ }
38
+ }
39
+ }
40
+ more: allWorkItems(
41
+ filter: [
42
+ { case: $caseId }
43
+ { task: $task }
44
+ { controllingGroups: [$currentGroup], invert: true }
45
+ { addressedGroups: [$currentGroup], invert: true }
46
+ { status: COMPLETED }
47
+ ]
48
+ order: [{ attribute: CREATED_AT, direction: DESC }]
49
+ ) {
50
+ edges {
51
+ node {
52
+ ...Inquiry
53
+ }
54
+ }
55
+ }
56
+ }
@@ -0,0 +1,41 @@
1
+ import Route from "@ember/routing/route";
2
+ import { inject as service } from "@ember/service";
3
+ import { queryManager } from "ember-apollo-client";
4
+
5
+ import config from "@projectcaluma/ember-distribution/config";
6
+ import inquiryNavigationQuery from "@projectcaluma/ember-distribution/gql/queries/inquiry-navigation.graphql";
7
+ import uniqueByGroups from "@projectcaluma/ember-distribution/utils/unique-by-groups";
8
+
9
+ export default class DistributionIndexRoute extends Route {
10
+ @service router;
11
+ @service calumaOptions;
12
+
13
+ @config config;
14
+
15
+ @queryManager apollo;
16
+
17
+ async redirect(model) {
18
+ const response = await this.apollo.query({
19
+ query: inquiryNavigationQuery,
20
+ variables: {
21
+ caseId: model,
22
+ task: this.config.inquiry.task,
23
+ currentGroup: String(this.calumaOptions.currentGroupId),
24
+ includeNavigationData: false,
25
+ },
26
+ });
27
+
28
+ const models = Object.entries(response).flatMap(([, objects]) => {
29
+ return uniqueByGroups(objects.edges.map((edge) => edge.node)).map(
30
+ (inquiry) => ({
31
+ from: inquiry.controllingGroups[0],
32
+ to: inquiry.addressedGroups[0],
33
+ })
34
+ );
35
+ }, {});
36
+
37
+ if (models.length) {
38
+ return this.router.replaceWith("distribution.inquiry", models[0]);
39
+ }
40
+ }
41
+ }
@@ -0,0 +1,7 @@
1
+ import Route from "@ember/routing/route";
2
+
3
+ export default class DistributionInquiryDetailAnswerRoute extends Route {
4
+ model() {
5
+ return this.modelFor("distribution.inquiry.detail");
6
+ }
7
+ }
@@ -0,0 +1,7 @@
1
+ import Route from "@ember/routing/route";
2
+
3
+ export default class DistributionInquiryDetailIndexRoute extends Route {
4
+ model() {
5
+ return this.modelFor("distribution.inquiry.detail");
6
+ }
7
+ }
@@ -0,0 +1,7 @@
1
+ import Route from "@ember/routing/route";
2
+
3
+ export default class DistributionInquiryDetailRoute extends Route {
4
+ model({ inquiry }) {
5
+ return inquiry;
6
+ }
7
+ }
@@ -0,0 +1,10 @@
1
+ import Route from "@ember/routing/route";
2
+
3
+ export default class DistributionInquiryIndexRoute extends Route {
4
+ model() {
5
+ return {
6
+ ...this.modelFor("distribution.inquiry"),
7
+ case: this.modelFor("distribution"),
8
+ };
9
+ }
10
+ }
@@ -0,0 +1,7 @@
1
+ import Route from "@ember/routing/route";
2
+
3
+ export default class DistributionInquiryRoute extends Route {
4
+ model({ from, to }) {
5
+ return { from, to };
6
+ }
7
+ }
@@ -0,0 +1,7 @@
1
+ import Route from "@ember/routing/route";
2
+
3
+ export default class DistributionNewRoute extends Route {
4
+ model() {
5
+ return this.modelFor("distribution");
6
+ }
7
+ }
@@ -0,0 +1,7 @@
1
+ import Route from "@ember/routing/route";
2
+
3
+ export default class DistributionRoute extends Route {
4
+ model(params) {
5
+ return params.case;
6
+ }
7
+ }
@@ -0,0 +1,12 @@
1
+ import buildRoutes from "ember-engines/routes";
2
+
3
+ export default buildRoutes(function () {
4
+ this.route("distribution", { path: "/case/:case" }, function () {
5
+ this.route("new");
6
+ this.route("inquiry", { path: "/from/:from/to/:to" }, function () {
7
+ this.route("detail", { path: "/detail/:inquiry" }, function () {
8
+ this.route("answer");
9
+ });
10
+ });
11
+ });
12
+ });
@@ -0,0 +1 @@
1
+ <InquiryAnswerForm @inquiry={{@model}} />
@@ -0,0 +1 @@
1
+ <InquiryEditForm @inquiry={{@model}} />
@@ -0,0 +1 @@
1
+ {{outlet}}
@@ -0,0 +1,5 @@
1
+ <InquiryDialog
2
+ @from={{@model.from}}
3
+ @to={{@model.to}}
4
+ @caseId={{@model.case}}
5
+ />
@@ -0,0 +1 @@
1
+ {{outlet}}
@@ -0,0 +1,7 @@
1
+ <InquiryNewForm
2
+ @selectedTypes={{this.selectedTypes}}
3
+ @search={{this.search}}
4
+ @caseId={{@model}}
5
+ @onChangeSelectedTypes={{fn (mut this.selectedTypes)}}
6
+ @onChangeSearch={{fn (mut this.search)}}
7
+ />
@@ -0,0 +1,8 @@
1
+ <div uk-grid>
2
+ <div class="uk-width-1-3">
3
+ <DistributionNavigation @caseId={{@model}} />
4
+ </div>
5
+ <div class="uk-width-2-3">
6
+ {{outlet}}
7
+ </div>
8
+ </div>
@@ -0,0 +1,48 @@
1
+ import { assert } from "@ember/debug";
2
+ import { get } from "@ember/object";
3
+ import moment from "moment";
4
+
5
+ import { createDecorator } from "@projectcaluma/ember-distribution/-private/decorator";
6
+
7
+ function decorator(
8
+ target,
9
+ key,
10
+ desc,
11
+ { inquiryProperty = "args.inquiry" } = {}
12
+ ) {
13
+ assert(
14
+ `The @projectcaluma/ember-distribution config must be injected in order to use @inquiryDeadline: \`@config config\``,
15
+ Object.prototype.hasOwnProperty.call(target, "config")
16
+ );
17
+
18
+ return {
19
+ get() {
20
+ const inquiry = get(this, inquiryProperty);
21
+ const value = inquiry.document?.deadline.edges[0]?.node.value;
22
+ const isAnswered = inquiry.status === "COMPLETED";
23
+
24
+ const deadline = moment.utc(value);
25
+ const now = moment.utc();
26
+
27
+ const isOverdue = !isAnswered && now.isAfter(deadline, "day");
28
+ const isWarning =
29
+ !isAnswered &&
30
+ now.add(this.config.warningPeriod, "days").isAfter(deadline, "day");
31
+
32
+ return {
33
+ value,
34
+ isOverdue,
35
+ isWarning,
36
+ color: isAnswered
37
+ ? "muted"
38
+ : isOverdue
39
+ ? "danger"
40
+ : isWarning
41
+ ? "warning"
42
+ : "emphasis",
43
+ };
44
+ },
45
+ };
46
+ }
47
+
48
+ export default createDecorator(decorator);
@@ -0,0 +1,68 @@
1
+ import { assert } from "@ember/debug";
2
+ import { get } from "@ember/object";
3
+
4
+ import { createDecorator } from "@projectcaluma/ember-distribution/-private/decorator";
5
+ import { INQUIRY_STATUS } from "@projectcaluma/ember-distribution/config";
6
+
7
+ export const ICON_MAP = {
8
+ [INQUIRY_STATUS.DRAFT]: "pencil-outline",
9
+ [INQUIRY_STATUS.SENT]: "paper-plane-outline",
10
+ [INQUIRY_STATUS.POSITIVE]: "checkmark-outline",
11
+ [INQUIRY_STATUS.NEGATIVE]: "close-outline",
12
+ [INQUIRY_STATUS.NEEDS_INTERACTION]: "repeat-outline",
13
+ };
14
+
15
+ export const COLOR_MAP = {
16
+ [INQUIRY_STATUS.DRAFT]: "muted",
17
+ [INQUIRY_STATUS.SENT]: "emphasis",
18
+ [INQUIRY_STATUS.POSITIVE]: "success",
19
+ [INQUIRY_STATUS.NEGATIVE]: "danger",
20
+ [INQUIRY_STATUS.NEEDS_INTERACTION]: "warning",
21
+ };
22
+
23
+ function decorator(
24
+ target,
25
+ key,
26
+ desc,
27
+ { inquiryProperty = "args.inquiry", inquiryTypeProperty = "args.type" } = {}
28
+ ) {
29
+ assert(
30
+ `The @projectcaluma/ember-distribution config must be injected in order to use @inquiryStatus: \`@config config\``,
31
+ Object.prototype.hasOwnProperty.call(target, "config")
32
+ );
33
+
34
+ assert(
35
+ `The intl service must be injected in order to use @inquiryStatus: \`@service intl\``,
36
+ Object.prototype.hasOwnProperty.call(target, "intl")
37
+ );
38
+
39
+ return {
40
+ get() {
41
+ const inquiry = get(this, inquiryProperty);
42
+ const isAddressed = get(this, inquiryTypeProperty) === "addressed";
43
+ const isDraft = isAddressed
44
+ ? inquiry.status === "READY"
45
+ : inquiry.status === "SUSPENDED";
46
+ const isSent = !isAddressed && inquiry.status === "READY";
47
+
48
+ const answer = inquiry.childCase?.document.status.edges[0]?.node;
49
+ const slug = isDraft
50
+ ? INQUIRY_STATUS.DRAFT
51
+ : isSent
52
+ ? INQUIRY_STATUS.SENT
53
+ : this.config.inquiry.answer.statusMapping[answer.value];
54
+
55
+ return {
56
+ slug,
57
+ label:
58
+ !isDraft && !isSent
59
+ ? answer?.selectedOption.label
60
+ : this.intl.t(`caluma.distribution.status.${slug}`),
61
+ color: COLOR_MAP[slug],
62
+ icon: ICON_MAP[slug],
63
+ };
64
+ },
65
+ };
66
+ }
67
+
68
+ export default createDecorator(decorator);
@@ -0,0 +1,17 @@
1
+ export default function uniqueByGroups(workItems) {
2
+ return [
3
+ ...new Map(
4
+ workItems
5
+ .map((workItem) => {
6
+ return [
7
+ JSON.stringify({
8
+ from: workItem.controllingGroups,
9
+ to: workItem.addressedGroups,
10
+ }),
11
+ workItem,
12
+ ];
13
+ })
14
+ .reverse()
15
+ ).values(),
16
+ ];
17
+ }
@@ -0,0 +1 @@
1
+ export { default } from "@projectcaluma/ember-distribution/abilities/inquiry";
@@ -0,0 +1 @@
1
+ export { default } from "@projectcaluma/ember-distribution/components/distribution-navigation/controls";
@@ -0,0 +1 @@
1
+ export { default } from "@projectcaluma/ember-distribution/components/distribution-navigation/item";
@@ -0,0 +1 @@
1
+ export { default } from "@projectcaluma/ember-distribution/components/distribution-navigation/section";
@@ -0,0 +1 @@
1
+ export { default } from "@projectcaluma/ember-distribution/components/distribution-navigation/status-indicator";
@@ -0,0 +1 @@
1
+ export { default } from "@projectcaluma/ember-distribution/components/distribution-navigation";
@@ -0,0 +1 @@
1
+ export { default } from "@projectcaluma/ember-distribution/components/icon-button";
@@ -0,0 +1 @@
1
+ export { default } from "@projectcaluma/ember-distribution/components/inquiry-answer-form";
@@ -0,0 +1 @@
1
+ export { default } from "@projectcaluma/ember-distribution/components/inquiry-dialog/inquiry-deadline";
@@ -0,0 +1 @@
1
+ export { default } from "@projectcaluma/ember-distribution/components/inquiry-dialog/inquiry-divider";
@@ -0,0 +1 @@
1
+ export { default } from "@projectcaluma/ember-distribution/components/inquiry-dialog/inquiry-part";
@@ -0,0 +1 @@
1
+ export { default } from "@projectcaluma/ember-distribution/components/inquiry-dialog/inquiry";
@@ -0,0 +1 @@
1
+ export { default } from "@projectcaluma/ember-distribution/components/inquiry-dialog";
@@ -0,0 +1 @@
1
+ export { default } from "@projectcaluma/ember-distribution/components/inquiry-edit-form";
@@ -0,0 +1 @@
1
+ export { default } from "@projectcaluma/ember-distribution/components/inquiry-new-form";
@@ -0,0 +1,3 @@
1
+ @import "../icon-button";
2
+ @import "../inquiry-divider";
3
+ @import "../status-indicator";
@@ -0,0 +1,13 @@
1
+ @import "ember-uikit/variables-theme";
2
+
3
+ @for $i from 1 through 8 {
4
+ @each $side in "top", "right", "bottom", "left" {
5
+ .uk-icon-button--gutter-#{$side}-#{$i} > svg {
6
+ margin-#{$side}: #{$i}px !important;
7
+ }
8
+ }
9
+
10
+ .uk-icon-button--gutter-#{$i} > svg {
11
+ margin: #{$i}px;
12
+ }
13
+ }
@@ -0,0 +1,49 @@
1
+ @import "ember-uikit/variables-theme";
2
+
3
+ $size: 36px;
4
+ $iconSize: $size * 0.6;
5
+
6
+ $colors: (
7
+ muted: $text-muted-color,
8
+ emphasis: $text-emphasis-color,
9
+ success: $text-success-color,
10
+ danger: $text-danger-color,
11
+ warning: $text-warning-color,
12
+ );
13
+
14
+ .inquiry-divider {
15
+ &::before,
16
+ &::after {
17
+ content: "";
18
+ display: block;
19
+ height: 2px;
20
+ width: calc(50% - #{$size * 0.5});
21
+ }
22
+
23
+ &__icon {
24
+ width: $size;
25
+ height: $size;
26
+
27
+ border-radius: 50%;
28
+ border-width: 2px;
29
+ border-style: solid;
30
+
31
+ > svg {
32
+ width: $iconSize;
33
+ height: $iconSize;
34
+ }
35
+ }
36
+
37
+ @each $colorName, $color in $colors {
38
+ &.uk-text-#{$colorName} {
39
+ > .inquiry-divider__icon {
40
+ border-color: $color;
41
+ }
42
+
43
+ &::before,
44
+ &::after {
45
+ background-color: $color;
46
+ }
47
+ }
48
+ }
49
+ }
@@ -0,0 +1,31 @@
1
+ @import "ember-uikit/variables-theme";
2
+
3
+ $size: $global-small-font-size * 1.2;
4
+ $iconSize: $global-small-font-size * 0.9;
5
+
6
+ $colors: (
7
+ muted: $text-muted-color,
8
+ emphasis: $text-emphasis-color,
9
+ success: $text-success-color,
10
+ danger: $text-danger-color,
11
+ warning: $text-warning-color,
12
+ );
13
+
14
+ .status-indicator {
15
+ width: $size;
16
+ height: $size;
17
+ border-width: 1px;
18
+ border-style: solid;
19
+
20
+ > svg {
21
+ width: $iconSize;
22
+ height: $iconSize;
23
+ }
24
+
25
+ @each $colorName, $color in $colors {
26
+ &.uk-text-#{$colorName} {
27
+ color: darken($color, 20%);
28
+ border-color: $color;
29
+ }
30
+ }
31
+ }
@@ -0,0 +1 @@
1
+ @import "ember-uikit";
@@ -0,0 +1 @@
1
+ export { default } from "@projectcaluma/ember-distribution/utils/inquiry-deadline";
@@ -0,0 +1 @@
1
+ export { default } from "@projectcaluma/ember-distribution/utils/inquiry-status";
@@ -0,0 +1 @@
1
+ export { default } from "@projectcaluma/ember-distribution/utils/unique-by-groups";
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ module.exports = function (environment) {
4
+ const ENV = {
5
+ modulePrefix: require("../package.json").name,
6
+ environment,
7
+ };
8
+
9
+ return ENV;
10
+ };