@metadev/daga-angular 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/Changelog.md +204 -0
  2. package/LICENSE.md +13 -0
  3. package/README.md +67 -0
  4. package/assets/fonts/DMMono-Medium.ttf +0 -0
  5. package/assets/fonts/DMMono-Medium.woff +0 -0
  6. package/assets/fonts/DMMono-Medium.woff2 +0 -0
  7. package/assets/fonts/WonderUnitSans-Medium.ttf +0 -0
  8. package/assets/fonts/WonderUnitSans-Medium.woff +0 -0
  9. package/assets/fonts/WonderUnitSans-Medium.woff2 +0 -0
  10. package/assets/icon/action/drop-down-arrow.svg +8 -0
  11. package/assets/icon/action/drop-horizontal-left.svg +14 -0
  12. package/assets/icon/action/drop-horizontal-none.svg +13 -0
  13. package/assets/icon/action/drop-horizontal-right.svg +14 -0
  14. package/assets/icon/action/drop-vertical-down.svg +14 -0
  15. package/assets/icon/action/drop-vertical-none.svg +13 -0
  16. package/assets/icon/action/drop-vertical-up.svg +14 -0
  17. package/assets/icon/action/filter-clear.png +0 -0
  18. package/assets/icon/buttons/center-hover.svg +10 -0
  19. package/assets/icon/buttons/center.svg +10 -0
  20. package/assets/icon/buttons/copy-hover.svg +6 -0
  21. package/assets/icon/buttons/copy.svg +6 -0
  22. package/assets/icon/buttons/cut-hover.svg +6 -0
  23. package/assets/icon/buttons/cut.svg +6 -0
  24. package/assets/icon/buttons/delete-hover.svg +6 -0
  25. package/assets/icon/buttons/delete.svg +6 -0
  26. package/assets/icon/buttons/ellipsis-hover.svg +7 -0
  27. package/assets/icon/buttons/ellipsis.svg +7 -0
  28. package/assets/icon/buttons/filter-off-hover.svg +5 -0
  29. package/assets/icon/buttons/filter-off.svg +5 -0
  30. package/assets/icon/buttons/filter-on-hover.svg +5 -0
  31. package/assets/icon/buttons/filter-on.svg +5 -0
  32. package/assets/icon/buttons/layout-hover.svg +8 -0
  33. package/assets/icon/buttons/layout.svg +8 -0
  34. package/assets/icon/buttons/multiple-selection-hover.svg +18 -0
  35. package/assets/icon/buttons/multiple-selection.svg +18 -0
  36. package/assets/icon/buttons/paste-hover.svg +6 -0
  37. package/assets/icon/buttons/paste.svg +6 -0
  38. package/assets/icon/buttons/redo-hover.svg +5 -0
  39. package/assets/icon/buttons/redo.svg +5 -0
  40. package/assets/icon/buttons/undo-hover.svg +5 -0
  41. package/assets/icon/buttons/undo.svg +5 -0
  42. package/assets/icon/buttons/zoom-in-hover.svg +8 -0
  43. package/assets/icon/buttons/zoom-in.svg +8 -0
  44. package/assets/icon/buttons/zoom-out-hover.svg +7 -0
  45. package/assets/icon/buttons/zoom-out.svg +7 -0
  46. package/assets/icon/context/context-copy.svg +4 -0
  47. package/assets/icon/context/context-cross.svg +3 -0
  48. package/assets/icon/context/context-cut.svg +4 -0
  49. package/assets/icon/context/context-delete.svg +4 -0
  50. package/assets/icon/context/context-paste.svg +4 -0
  51. package/assets/icon/property/add.svg +23 -0
  52. package/assets/icon/property/close.svg +3 -0
  53. package/assets/icon/property/ellipsis.svg +5 -0
  54. package/assets/icon/property/gear.svg +3 -0
  55. package/assets/icon/property/hide.svg +10 -0
  56. package/assets/icon/property/move.svg +35 -0
  57. package/assets/styles/_collapse-button.scss +37 -0
  58. package/assets/styles/_context-menu.scss +32 -0
  59. package/assets/styles/_diagram-buttons.scss +197 -0
  60. package/assets/styles/_diagram.scss +15 -0
  61. package/assets/styles/_errors.scss +83 -0
  62. package/assets/styles/_palette.scss +20 -0
  63. package/assets/styles/_property-editor.scss +285 -0
  64. package/assets/styles/daga.scss +150 -0
  65. package/fesm2022/metadev-daga-angular.mjs +1861 -0
  66. package/fesm2022/metadev-daga-angular.mjs.map +1 -0
  67. package/index.d.ts +14 -0
  68. package/lib/collapse-button/collapse-button.component.d.ts +22 -0
  69. package/lib/daga.module.d.ts +18 -0
  70. package/lib/diagram/diagram.component.d.ts +43 -0
  71. package/lib/diagram-buttons/diagram-buttons.component.d.ts +46 -0
  72. package/lib/diagram-editor/diagram-editor.component.d.ts +34 -0
  73. package/lib/errors/errors.component.d.ts +24 -0
  74. package/lib/palette/palette.component.d.ts +36 -0
  75. package/lib/property-editor/autocomplete/autocomplete.component.d.ts +39 -0
  76. package/lib/property-editor/object-editor/object-editor.component.d.ts +29 -0
  77. package/lib/property-editor/option-list-editor/option-list-editor.component.d.ts +33 -0
  78. package/lib/property-editor/property-editor.component.d.ts +34 -0
  79. package/lib/property-editor/property-settings/property-settings.component.d.ts +33 -0
  80. package/lib/property-editor/text-list-editor/text-list-editor.component.d.ts +29 -0
  81. package/lib/property-editor/text-map-editor/text-map-editor.component.d.ts +36 -0
  82. package/lib/services/canvas-provider.service.d.ts +30 -0
  83. package/lib/services/daga-configuration.service.d.ts +23 -0
  84. package/package.json +55 -0
@@ -0,0 +1,285 @@
1
+ daga-property-editor {
2
+ .daga-title {
3
+ display: flex;
4
+ justify-content: space-between;
5
+ align-items: center;
6
+ margin: 0;
7
+ width: 100%;
8
+ font-size: 1rem;
9
+ font-weight: 500;
10
+ }
11
+ .daga-panel-content {
12
+ padding: 1rem;
13
+ }
14
+ .daga-property {
15
+ color: var(--daga-font-color);
16
+ background-color: var(--daga-panel-background-color);
17
+ padding-top: 0.5rem;
18
+ padding-bottom: 0.5rem;
19
+ box-sizing: border-box;
20
+ .daga-property-name {
21
+ button {
22
+ margin-left: 0.25rem;
23
+ }
24
+ display: flex;
25
+ justify-content: space-between;
26
+ align-items: center;
27
+ height: 1.5rem;
28
+ padding-bottom: 0.5rem;
29
+ margin: 0;
30
+ width: 100%;
31
+ font-size: 0.75rem;
32
+ font-weight: 500;
33
+ }
34
+ :disabled,
35
+ .daga-disabled {
36
+ color: var(--daga-font-color-disabled);
37
+ }
38
+ .daga-input,
39
+ input,
40
+ select {
41
+ height: 1.5rem;
42
+ flex-grow: 1;
43
+ flex-basis: 0;
44
+ }
45
+ .daga-property-value,
46
+ input,
47
+ select {
48
+ padding: var(--daga-property-input-padding);
49
+ }
50
+ .daga-property-value,
51
+ input,
52
+ select,
53
+ textarea {
54
+ border-radius: var(--daga-property-border-radius);
55
+ box-sizing: border-box;
56
+ font-family: var(--daga-monospace-font-family);
57
+ width: 100%;
58
+ }
59
+ textarea {
60
+ height: 5rem;
61
+ padding: var(--daga-property-input-padding);
62
+ resize: none;
63
+ }
64
+ .daga-property-value,
65
+ input,
66
+ select,
67
+ textarea,
68
+ button,
69
+ .daga-radio-item {
70
+ background-color: var(--daga-property-background-color);
71
+ border: 1px solid var(--daga-property-border-color);
72
+ font-weight: 500;
73
+ font-size: 0.8rem;
74
+ }
75
+ .daga-radio {
76
+ @extend .daga-input;
77
+ display: flex;
78
+ flex-direction: row;
79
+ input {
80
+ margin: 0;
81
+ height: 100%;
82
+ }
83
+ .daga-radio-item {
84
+ text-align: center;
85
+ padding: 0.2rem;
86
+ width: 50%;
87
+ cursor: pointer;
88
+ input {
89
+ display: none;
90
+ }
91
+ }
92
+ .daga-radio-item:has(:checked) {
93
+ color: var(--daga-property-selected-color);
94
+ background-color: var(--daga-property-selected-background-color);
95
+ }
96
+ .daga-radio-item.daga-radio-start {
97
+ border-bottom-left-radius: var(--daga-property-border-radius);
98
+ border-top-left-radius: var(--daga-property-border-radius);
99
+ }
100
+ .daga-radio-item.daga-radio-end {
101
+ border-bottom-right-radius: var(--daga-property-border-radius);
102
+ border-top-right-radius: var(--daga-property-border-radius);
103
+ }
104
+ }
105
+ p.daga-value-item {
106
+ @extend .daga-input;
107
+ margin: 0;
108
+ overflow: hidden;
109
+ text-overflow: ellipsis;
110
+ }
111
+ .daga-value-item-input {
112
+ display: flex;
113
+ align-items: stretch;
114
+ flex-direction: row;
115
+ height: 1.5rem;
116
+ gap: 0.5rem;
117
+ }
118
+ .daga-value-item-element {
119
+ @extend .daga-value-item-input;
120
+ margin-bottom: 0.5rem;
121
+ }
122
+ }
123
+
124
+ .daga-autocomplete {
125
+ .daga-autocomplete-input {
126
+ position: relative;
127
+ }
128
+ .daga-autocomplete-options {
129
+ visibility: hidden;
130
+ .daga-autocomplete-option-list {
131
+ position: absolute;
132
+ width: 100%;
133
+ z-index: 2;
134
+ background-color: #ffffff;
135
+ border: 1px solid var(--daga-property-border-color);
136
+ border-radius: 0 0 var(--daga-property-border-radius)
137
+ var(--daga-property-border-radius);
138
+ max-height: 10rem;
139
+ box-sizing: border-box;
140
+ overflow: auto;
141
+ list-style-type: none;
142
+ padding: 0;
143
+ margin: 0;
144
+ .daga-autocomplete-option {
145
+ .daga-match {
146
+ font-weight: bold;
147
+ }
148
+ padding: var(--daga-property-input-padding);
149
+ cursor: pointer;
150
+ }
151
+ .daga-autocomplete-option.focused {
152
+ background-color: var(--daga-property-background-color);
153
+ }
154
+ .daga-autocomplete-option.no-options {
155
+ font-style: italic;
156
+ color: var(--daga-font-color-disabled);
157
+ cursor: default;
158
+ }
159
+ }
160
+ }
161
+ }
162
+ .daga-autocomplete.daga-showing-options {
163
+ input {
164
+ border-radius: var(--daga-property-border-radius)
165
+ var(--daga-property-border-radius) 0 0;
166
+ }
167
+ .daga-autocomplete-options {
168
+ visibility: visible;
169
+ }
170
+ }
171
+
172
+ .daga-left-bar {
173
+ padding-left: 1rem;
174
+ border-left: 0.25rem solid var(--daga-property-background-color);
175
+ }
176
+
177
+ .daga-property-value {
178
+ height: 1.5rem;
179
+ overflow: hidden;
180
+ text-overflow: ellipsis;
181
+ white-space: nowrap;
182
+ cursor: default;
183
+ user-select: none;
184
+ }
185
+
186
+ button.daga-property-button {
187
+ .daga-icon {
188
+ background-size: contain;
189
+ margin: 0.25rem;
190
+ width: 1rem;
191
+ height: 1rem;
192
+ }
193
+ .daga-move-icon {
194
+ background-image: url(../icon/property/move.svg);
195
+ }
196
+ .daga-hide-icon {
197
+ background-image: url(../icon/property/hide.svg);
198
+ }
199
+ .daga-close-icon {
200
+ background-image: url(../icon/property/close.svg);
201
+ }
202
+ .daga-add-icon {
203
+ background-image: url(../icon/property/add.svg);
204
+ }
205
+ .daga-settings-icon {
206
+ background-image: url(../icon/property/gear.svg);
207
+ }
208
+ min-width: 1.5rem;
209
+ min-height: 1.5rem;
210
+ width: 1.5rem;
211
+ height: 1.5rem;
212
+ padding: 0;
213
+ border-radius: 0.25rem;
214
+ border: none;
215
+ background-color: transparent;
216
+ font-size: 1rem;
217
+ }
218
+ button.daga-property-button:hover {
219
+ background-color: var(--daga-property-background-color);
220
+ }
221
+ button.daga-clear {
222
+ position: absolute;
223
+ top: 0;
224
+ right: 0;
225
+ min-width: 1.5rem;
226
+ min-height: 1.5rem;
227
+ width: 1.5rem;
228
+ height: 1.5rem;
229
+ padding: 0;
230
+ border-radius: 0.25rem;
231
+ border: none;
232
+ background-color: transparent;
233
+ background: url(../icon/action/filter-clear.png) no-repeat;
234
+ background-size: 0.5rem 0.5rem;
235
+ background-position: 0.5rem 0.5rem;
236
+ z-index: 1;
237
+ }
238
+
239
+ .daga-relatively-positioned {
240
+ position: relative;
241
+ }
242
+
243
+ .daga-rotate {
244
+ transform: rotate(0deg);
245
+ animation-name: rotate-animation;
246
+ animation-duration: 0.5s;
247
+ }
248
+ .daga-unrotate {
249
+ transform: rotate(30deg);
250
+ animation-name: unrotate-animation;
251
+ animation-duration: 0.5s;
252
+ }
253
+ @keyframes rotate-animation {
254
+ from {
255
+ transform: rotate(30deg);
256
+ }
257
+ to {
258
+ transform: rotate(0deg);
259
+ }
260
+ }
261
+ @keyframes unrotate-animation {
262
+ from {
263
+ transform: rotate(0deg);
264
+ }
265
+ to {
266
+ transform: rotate(30deg);
267
+ }
268
+ }
269
+ }
270
+
271
+ daga-property-settings {
272
+ .daga-property {
273
+ padding: 0.5rem;
274
+ margin: 0.5rem 0;
275
+ border-radius: 0.5rem;
276
+ border: 1px solid var(--daga-property-border-color);
277
+ }
278
+ .daga-dropbar {
279
+ visibility: collapse;
280
+ width: 100%;
281
+ border-radius: 0.125rem;
282
+ background-color: var(--daga-property-border-color);
283
+ margin: 0.5rem 0;
284
+ }
285
+ }
@@ -0,0 +1,150 @@
1
+ @import 'collapse-button.scss';
2
+ @import 'context-menu.scss';
3
+ @import 'diagram-buttons.scss';
4
+ @import 'diagram.scss';
5
+ @import 'errors.scss';
6
+ @import 'palette.scss';
7
+ @import 'property-editor.scss';
8
+
9
+ :root {
10
+ --daga-font-color: #233154;
11
+ --daga-font-color-disabled: #808080;
12
+ --daga-panel-background-color: #ffffff;
13
+ --daga-panel-secondary-color: #f7f8fc;
14
+ --daga-panel-border-color: #e6e6e6;
15
+ --daga-property-background-color: #f5f8fa;
16
+ --daga-property-border-color: #e1e4ff;
17
+ --daga-property-selected-color: #ffffff;
18
+ --daga-property-selected-background-color: #0095f9;
19
+ --daga-property-disabled-color: var(--daga-property-background-color);
20
+ --daga-property-border-radius: 0.25rem;
21
+ --daga-property-input-padding: 0.2rem 0.5rem;
22
+ --daga-error-color: #ff6363;
23
+
24
+ --daga-primary-font-family: 'WonderUnitSans', sans-serif;
25
+ --daga-monospace-font-family: 'DMMono', monospace;
26
+ }
27
+
28
+ @font-face {
29
+ font-display: block;
30
+ font-family: 'WonderUnitSans';
31
+ font-style: normal;
32
+ font-weight: normal;
33
+ src:
34
+ url('../fonts/WonderUnitSans-Medium.woff2') format('woff2'),
35
+ url('../fonts/WonderUnitSans-Medium.woff') format('woff'),
36
+ url('../fonts/WonderUnitSans-Medium.ttf') format('truetype');
37
+ font-display: swap;
38
+ }
39
+ @font-face {
40
+ font-display: block;
41
+ font-family: 'DMMono';
42
+ font-style: normal;
43
+ font-weight: normal;
44
+ src:
45
+ url('../fonts/DMMono-Medium.woff2') format('woff2'),
46
+ url('../fonts/DMMono-Medium.woff') format('woff'),
47
+ url('../fonts/DMMono-Medium.ttf') format('truetype');
48
+ font-display: swap;
49
+ }
50
+
51
+ daga-diagram {
52
+ div,
53
+ p,
54
+ li,
55
+ button,
56
+ input,
57
+ option {
58
+ font-family: var(--daga-primary-font-family);
59
+ }
60
+ code {
61
+ font-family: var(--daga-monospace-font-family);
62
+ }
63
+
64
+ .prevent-user-select {
65
+ user-select: none;
66
+ }
67
+
68
+ .daga-top-left {
69
+ position: absolute;
70
+ left: 0;
71
+ top: 0;
72
+ }
73
+ .daga-top-right {
74
+ position: absolute;
75
+ right: 0;
76
+ top: 0;
77
+ }
78
+ .daga-bottom-left {
79
+ position: absolute;
80
+ bottom: 0;
81
+ left: 0;
82
+ }
83
+ .daga-bottom-right {
84
+ position: absolute;
85
+ bottom: 0;
86
+ right: 0;
87
+ }
88
+
89
+ .daga-panel {
90
+ background-color: var(--daga-panel-secondary-color);
91
+ border: 1px solid var(--daga-panel-border-color);
92
+ border-radius: 1rem;
93
+ box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.1);
94
+ display: flex;
95
+ flex-direction: column;
96
+ margin: 1rem;
97
+ max-height: calc(100% - 2rem);
98
+ max-width: calc(100% - 2rem);
99
+ .daga-collapse-button.daga-bottom {
100
+ border-radius: 0.75rem 0.75rem 0 0;
101
+ }
102
+ .daga-collapse-button.daga-top {
103
+ border-radius: 0 0 0.75rem 0.75rem;
104
+ }
105
+ .daga-collapse-button.daga-right {
106
+ border-radius: 0.75rem 0 0 0.75rem;
107
+ }
108
+ .daga-collapse-button.daga-left {
109
+ border-radius: 0 0.75rem 0.75rem 0;
110
+ }
111
+ .daga-panel-content {
112
+ background-color: var(--daga-panel-background-color);
113
+ border: 0;
114
+ border-radius: 1rem;
115
+ flex: 1 1 auto;
116
+ overflow: auto;
117
+ }
118
+ .daga-panel-tabs {
119
+ background-color: var(--daga-panel-secondary-color);
120
+ display: flex;
121
+ flex-direction: row;
122
+ overflow-x: auto;
123
+ padding-top: 0.5rem;
124
+ .daga-panel-tab {
125
+ flex-grow: 1;
126
+ flex-shrink: 0;
127
+ padding: 0.5rem;
128
+ text-align: center;
129
+ user-select: none;
130
+ }
131
+ .daga-panel-tab.current-tab {
132
+ background-color: var(--daga-panel-background-color);
133
+ border-top-left-radius: 0.5rem;
134
+ border-top-right-radius: 0.5rem;
135
+ }
136
+ }
137
+ }
138
+ .daga-panel.daga-bottom {
139
+ flex-direction: column;
140
+ }
141
+ .daga-panel.daga-top {
142
+ flex-direction: column-reverse;
143
+ }
144
+ .daga-panel.daga-right {
145
+ flex-direction: row;
146
+ }
147
+ .daga-panel.daga-left {
148
+ flex-direction: row-reverse;
149
+ }
150
+ }