@candy-kingdom/bonnie-cms 0.1.3

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 (119) hide show
  1. package/README.md +7 -0
  2. package/esm2022/candy-kingdom-bonnie-cms.mjs +5 -0
  3. package/esm2022/index.mjs +16 -0
  4. package/esm2022/lib/admin-controls/admin-controls.component.mjs +44 -0
  5. package/esm2022/lib/admin-controls/index.mjs +2 -0
  6. package/esm2022/lib/bone-editors/bone-editor-base.component.mjs +143 -0
  7. package/esm2022/lib/bone-editors/index.mjs +3 -0
  8. package/esm2022/lib/bone-editors/unknown-bone-editor/index.mjs +2 -0
  9. package/esm2022/lib/bone-editors/unknown-bone-editor/unknown-bone-editor.component.mjs +18 -0
  10. package/esm2022/lib/bonnie-cms.module.mjs +105 -0
  11. package/esm2022/lib/core/DeviceType.mjs +8 -0
  12. package/esm2022/lib/core/DeviceVisibility.mjs +9 -0
  13. package/esm2022/lib/core/MediaType.mjs +2 -0
  14. package/esm2022/lib/core/TextEditorField.mjs +7 -0
  15. package/esm2022/lib/core/Utils.mjs +18 -0
  16. package/esm2022/lib/core/index.mjs +6 -0
  17. package/esm2022/lib/core-components/editable-group.mjs +84 -0
  18. package/esm2022/lib/core-components/editable.directive.mjs +173 -0
  19. package/esm2022/lib/core-components/form-base.component.mjs +34 -0
  20. package/esm2022/lib/core-components/index.mjs +5 -0
  21. package/esm2022/lib/core-components/link-popup/index.mjs +2 -0
  22. package/esm2022/lib/core-components/link-popup/link-popup.component.mjs +73 -0
  23. package/esm2022/lib/form-controls/form-controls.component.mjs +16 -0
  24. package/esm2022/lib/form-controls/index.mjs +2 -0
  25. package/esm2022/lib/generated/i-equatable.mjs +6 -0
  26. package/esm2022/lib/generated/i-setting.mjs +6 -0
  27. package/esm2022/lib/generated/index.mjs +14 -0
  28. package/esm2022/lib/generated/localized-text-setting-data.mjs +6 -0
  29. package/esm2022/lib/generated/setting-base.mjs +6 -0
  30. package/esm2022/lib/generated/setting-data.mjs +6 -0
  31. package/esm2022/lib/generated/setting-group.mjs +6 -0
  32. package/esm2022/lib/generated/setting.mjs +6 -0
  33. package/esm2022/lib/generated/text-setting-data.mjs +6 -0
  34. package/esm2022/lib/generated/text-setting-type.mjs +10 -0
  35. package/esm2022/lib/media-uploader/index.mjs +2 -0
  36. package/esm2022/lib/media-uploader/media-uploader.component.mjs +159 -0
  37. package/esm2022/lib/seo-form/index.mjs +2 -0
  38. package/esm2022/lib/seo-form/seo-form.component.mjs +42 -0
  39. package/esm2022/lib/skeleton-editor/BoneEditorMap.mjs +2 -0
  40. package/esm2022/lib/skeleton-editor/ContentPreset.mjs +9 -0
  41. package/esm2022/lib/skeleton-editor/IBoneEditor.mjs +2 -0
  42. package/esm2022/lib/skeleton-editor/IBoneTemplate.mjs +2 -0
  43. package/esm2022/lib/skeleton-editor/bone-editor-container/bone-editor-container.component.mjs +119 -0
  44. package/esm2022/lib/skeleton-editor/index.mjs +9 -0
  45. package/esm2022/lib/skeleton-editor/skeleton-editor-anchor.directive.mjs +16 -0
  46. package/esm2022/lib/skeleton-editor/skeleton-editor.component.mjs +107 -0
  47. package/esm2022/lib/text-form/TextInputStyle.mjs +7 -0
  48. package/esm2022/lib/text-form/index.mjs +3 -0
  49. package/esm2022/lib/text-form/text-form.component.mjs +33 -0
  50. package/esm2022/lib/translation-form/index.mjs +2 -0
  51. package/esm2022/lib/translation-form/translation-form.component.mjs +32 -0
  52. package/esm2022/lib/translation-input/index.mjs +2 -0
  53. package/esm2022/lib/translation-input/translation-input.component.mjs +42 -0
  54. package/esm2022/lib/translation-textarea/index.mjs +2 -0
  55. package/esm2022/lib/translation-textarea/translation-textarea.component.mjs +66 -0
  56. package/esm2022/lib/unknown-form/index.mjs +2 -0
  57. package/esm2022/lib/unknown-form/unknown-form.component.mjs +23 -0
  58. package/fesm2022/candy-kingdom-bonnie-cms.mjs +1343 -0
  59. package/fesm2022/candy-kingdom-bonnie-cms.mjs.map +1 -0
  60. package/index.d.ts +15 -0
  61. package/lib/admin-controls/admin-controls.component.d.ts +14 -0
  62. package/lib/admin-controls/index.d.ts +1 -0
  63. package/lib/bone-editors/bone-editor-base.component.d.ts +44 -0
  64. package/lib/bone-editors/index.d.ts +2 -0
  65. package/lib/bone-editors/unknown-bone-editor/index.d.ts +1 -0
  66. package/lib/bone-editors/unknown-bone-editor/unknown-bone-editor.component.d.ts +11 -0
  67. package/lib/bonnie-cms.module.d.ts +26 -0
  68. package/lib/core/DeviceType.d.ts +6 -0
  69. package/lib/core/DeviceVisibility.d.ts +7 -0
  70. package/lib/core/MediaType.d.ts +2 -0
  71. package/lib/core/TextEditorField.d.ts +5 -0
  72. package/lib/core/Utils.d.ts +4 -0
  73. package/lib/core/index.d.ts +5 -0
  74. package/lib/core-components/editable-group.d.ts +24 -0
  75. package/lib/core-components/editable.directive.d.ts +43 -0
  76. package/lib/core-components/form-base.component.d.ts +15 -0
  77. package/lib/core-components/index.d.ts +4 -0
  78. package/lib/core-components/link-popup/index.d.ts +1 -0
  79. package/lib/core-components/link-popup/link-popup.component.d.ts +28 -0
  80. package/lib/form-controls/form-controls.component.d.ts +7 -0
  81. package/lib/form-controls/index.d.ts +1 -0
  82. package/lib/generated/i-equatable.d.ts +6 -0
  83. package/lib/generated/i-setting.d.ts +8 -0
  84. package/lib/generated/index.d.ts +13 -0
  85. package/lib/generated/localized-text-setting-data.d.ts +11 -0
  86. package/lib/generated/setting-base.d.ts +8 -0
  87. package/lib/generated/setting-data.d.ts +8 -0
  88. package/lib/generated/setting-group.d.ts +10 -0
  89. package/lib/generated/setting.d.ts +9 -0
  90. package/lib/generated/text-setting-data.d.ts +10 -0
  91. package/lib/generated/text-setting-type.d.ts +8 -0
  92. package/lib/media-uploader/index.d.ts +1 -0
  93. package/lib/media-uploader/media-uploader.component.d.ts +34 -0
  94. package/lib/seo-form/index.d.ts +1 -0
  95. package/lib/seo-form/seo-form.component.d.ts +18 -0
  96. package/lib/skeleton-editor/BoneEditorMap.d.ts +3 -0
  97. package/lib/skeleton-editor/ContentPreset.d.ts +11 -0
  98. package/lib/skeleton-editor/IBoneEditor.d.ts +26 -0
  99. package/lib/skeleton-editor/IBoneTemplate.d.ts +5 -0
  100. package/lib/skeleton-editor/bone-editor-container/bone-editor-container.component.d.ts +32 -0
  101. package/lib/skeleton-editor/index.d.ts +8 -0
  102. package/lib/skeleton-editor/skeleton-editor-anchor.directive.d.ts +8 -0
  103. package/lib/skeleton-editor/skeleton-editor.component.d.ts +31 -0
  104. package/lib/text-form/TextInputStyle.d.ts +5 -0
  105. package/lib/text-form/index.d.ts +2 -0
  106. package/lib/text-form/text-form.component.d.ts +13 -0
  107. package/lib/translation-form/index.d.ts +1 -0
  108. package/lib/translation-form/translation-form.component.d.ts +14 -0
  109. package/lib/translation-input/index.d.ts +1 -0
  110. package/lib/translation-input/translation-input.component.d.ts +17 -0
  111. package/lib/translation-textarea/index.d.ts +1 -0
  112. package/lib/translation-textarea/translation-textarea.component.d.ts +26 -0
  113. package/lib/unknown-form/index.d.ts +1 -0
  114. package/lib/unknown-form/unknown-form.component.d.ts +9 -0
  115. package/package.json +25 -0
  116. package/styles/@candy-kingdom/bonnie/variables.scss +0 -0
  117. package/styles/admin-styles.scss +139 -0
  118. package/styles/admin-variables.scss +445 -0
  119. package/styles/variables.scss +415 -0
@@ -0,0 +1,415 @@
1
+ $atom: 0.34364261168vw;
2
+ $tabletAtom: 0.54644809vw;
3
+ $mobileAtom: 1.49253731vw;
4
+
5
+ $mobileScreenMaxSize: 767px;
6
+ $desktopScreenSize: 1280px;
7
+
8
+ @mixin page {
9
+ display: block;
10
+
11
+ color: var(--text-color);
12
+ background-color: var(--bg-color);
13
+
14
+ @include desktop {
15
+ padding-bottom: $violetGap;
16
+ }
17
+
18
+ @include tablet {
19
+ padding-bottom: $blueTabletGap;
20
+ }
21
+
22
+ @include mobile {
23
+ padding-bottom: $redMobileGap + $yellowMobileGap - $big-text-line-height-mobile;
24
+ }
25
+ }
26
+
27
+ @mixin mobile {
28
+ @media (max-width: $mobileScreenMaxSize) {
29
+ @content;
30
+ }
31
+ }
32
+
33
+ @mixin tablet_only {
34
+ @media (min-width: $mobileScreenMaxSize + 1px) and (max-width: $desktopScreenSize - 1px) {
35
+ @content;
36
+ }
37
+ }
38
+
39
+ @mixin tablet {
40
+ @media (max-width: $desktopScreenSize - 1px) {
41
+ @content;
42
+ }
43
+ }
44
+
45
+ @mixin desktop {
46
+ @media (min-width: $desktopScreenSize) {
47
+ @content;
48
+ }
49
+ }
50
+
51
+ @mixin projects-grid-with-rows($qty) {
52
+ display: grid;
53
+ position: relative;
54
+ grid-template-columns: repeat($qty - 1, 1fr $desktopHGap) 1fr;
55
+ }
56
+
57
+
58
+ $desktopHGap: $atom * 3;
59
+ $tabletHGap: $tabletAtom * 3;
60
+ $mobileHGap: $mobileAtom * 3;
61
+
62
+ ///// отступы
63
+ $pinkGap: 5 * $atom;
64
+ $redGap: 10 * $atom;
65
+ $yellowGap: 15 * $atom;
66
+ $blueGap: 30 * $atom;
67
+ $violetGap: 45 * $atom;
68
+
69
+ $pinkTabletGap: 5 * $tabletAtom;
70
+ $redTabletGap: 10 * $tabletAtom;
71
+ $yellowTabletGap: 15 * $tabletAtom;
72
+ $blueTabletGap: 30 * $tabletAtom;
73
+ $violetTabletGap: 45 * $tabletAtom;
74
+
75
+ $pinkMobileGap: 5 * $mobileAtom;
76
+ $redMobileGap: 10 * $mobileAtom;
77
+ $yellowMobileGap: 15 * $mobileAtom;
78
+ $blueMobileGap: 30 * $mobileAtom;
79
+ $violetMobileGap: 45 * $mobileAtom;
80
+
81
+
82
+ $defaultEasing: cubic-bezier(0.4, 0.0, 0.2, 1);
83
+ $accelerateEasing: cubic-bezier(0.4, 0.0, 1, 1);
84
+ $decelerateEasing: cubic-bezier(0.0, 0.0, 0.2, 1);
85
+
86
+ $footerDesktopHeight: $violetGap + $blueGap;
87
+ $footerTabletHeight: $violetTabletGap + $blueTabletGap;
88
+ $footerMobileHeight: 2 * $violetMobileGap + $redMobileGap - 2 * $mobileAtom;;
89
+
90
+ @mixin tablet-flex {
91
+ display: flex;
92
+ flex-direction: column;
93
+ padding-right: $tabletHGap;
94
+ padding-left: $tabletHGap;
95
+ }
96
+
97
+ @mixin mobile-flex {
98
+ display: flex;
99
+ flex-direction: column;
100
+ padding-right: $mobileAtom;
101
+ padding-left: $mobileAtom;
102
+ }
103
+
104
+ @mixin mobile-grid-6 {
105
+ display: grid;
106
+ grid-template-columns: repeat(6, 1fr);
107
+ grid-column-gap: $mobileAtom;
108
+ padding-left: $mobileAtom;
109
+ padding-right: $mobileAtom;
110
+ }
111
+
112
+ @mixin tablet-grid-6 {
113
+ display: grid;
114
+ grid-template-columns: repeat(6, 1fr);
115
+ grid-column-gap: $tabletHGap;
116
+ padding-left: $tabletHGap;
117
+ padding-right: $tabletHGap;
118
+ }
119
+
120
+ @mixin tablet-grid {
121
+ display: grid;
122
+ grid-template-columns: repeat(12, 1fr);
123
+ grid-column-gap: $tabletHGap;
124
+ padding-left: $tabletHGap;
125
+ padding-right: $tabletHGap;
126
+ }
127
+
128
+ @mixin desktop-grid {
129
+ display: grid;
130
+ grid-template-columns: repeat(12, 1fr);
131
+ grid-column-gap: $desktopHGap;
132
+ padding-left: $desktopHGap;
133
+ padding-right: $desktopHGap;
134
+ }
135
+
136
+ $big-text-line-height: 13 * $atom;
137
+ $big-text-line-height-tablet: 13 * $tabletAtom;
138
+ $big-text-line-height-mobile: 6 * $mobileAtom;
139
+
140
+ @mixin big-text {
141
+ letter-spacing: -0.01em;
142
+ margin-left: -0.07em;
143
+
144
+ @include desktop {
145
+ font-size: $atom * 12;
146
+ line-height: $big-text-line-height;
147
+ }
148
+
149
+ @include tablet {
150
+ font-size: $tabletAtom * 12;
151
+ line-height: $big-text-line-height-tablet;
152
+ }
153
+
154
+ @include mobile {
155
+ font-size: $mobileAtom * 6;
156
+ line-height: 1em;
157
+ }
158
+ }
159
+
160
+ $small-text-line-height: $atom * 5;
161
+ $small-text-line-height-tablet: $tabletAtom * 5;
162
+ $small-text-line-height-mobile: $mobileAtom * 3.2 * 1.25;
163
+
164
+ @mixin small-text {
165
+ @include desktop {
166
+ font-size: 4 * $atom;
167
+ font-size: #{"min(#{4 * $atom}, 28px)"};
168
+
169
+ line-height: (5/4);// $small-text-line-height;
170
+ }
171
+
172
+ @include tablet {
173
+ font-size: $tabletAtom * 4;
174
+ line-height: $small-text-line-height-tablet;
175
+ }
176
+
177
+ @include mobile {
178
+ font-size: $mobileAtom * 3.2;
179
+ line-height: $small-text-line-height-mobile;
180
+ }
181
+ }
182
+
183
+ @mixin link {
184
+ @include linkWithColor(var(--text-color));
185
+ }
186
+
187
+ $underlineHeight: 1px;
188
+
189
+ @mixin hover-underline-small-text($color) {
190
+
191
+ @include desktop {
192
+ position: relative;
193
+
194
+ &::after {
195
+ display: none;
196
+ content: '';
197
+ position: absolute;
198
+ width: 100%;
199
+ height: $underlineHeight;
200
+ left: 0;
201
+ bottom: 0;
202
+ background-color: $color;
203
+ }
204
+
205
+ &:hover::after {
206
+ display: block;
207
+ }
208
+ }
209
+
210
+ }
211
+
212
+ @mixin hover-underline-big-text($color) {
213
+
214
+ @include desktop {
215
+ position: relative;
216
+
217
+ &::after {
218
+ display: none;
219
+ content: '';
220
+ position: absolute;
221
+ width: 100%;
222
+ height: $underlineHeight;
223
+ left: 0;
224
+ bottom: 0;
225
+ background-color: $color;
226
+ }
227
+
228
+ &:hover::after {
229
+ display: block;
230
+ }
231
+ }
232
+ }
233
+
234
+ @mixin underline-big-text($color) {
235
+ position: relative;
236
+
237
+ &::after {
238
+ content: '';
239
+ position: absolute;
240
+ width: 100%;
241
+ height: $underlineHeight;
242
+ left: 0;
243
+ bottom: 0;
244
+ background-color: $color;
245
+ }
246
+ }
247
+
248
+ @mixin underline-small-text($color) {
249
+ position: relative;
250
+
251
+ &::after {
252
+ content: '';
253
+ position: absolute;
254
+ width: 100%;
255
+ height: $underlineHeight;
256
+ left: 0;
257
+ bottom: 0;
258
+ background-color: $color;
259
+ }
260
+
261
+ }
262
+
263
+
264
+ @mixin linkWithColor($color) {
265
+ color: $color;
266
+ text-decoration: none;
267
+ user-select: none;
268
+
269
+ &:visited,
270
+ &:hover,
271
+ &:focus,
272
+ &:active {
273
+ color: $color;
274
+ }
275
+ }
276
+
277
+ @mixin reset-button {
278
+ margin: 0;
279
+ padding: 0;
280
+ text-align: left;
281
+ font-family: inherit;
282
+ font-weight: 400;
283
+
284
+ background: transparent;
285
+ border: 0;
286
+ box-shadow: none;
287
+ user-select: none;
288
+
289
+ &:hover,
290
+ &:focus,
291
+ &:active {
292
+ outline: none;
293
+ }
294
+ }
295
+
296
+ @mixin bigTextMarginTopToMeetSmallText {
297
+ margin-top: -0.1em;
298
+ }
299
+
300
+ @mixin categoryGrid($gapSelector, $projectInRow) {
301
+ $totalColumns: (2 * $projectInRow - 1);
302
+ display: grid;
303
+ position: relative;
304
+
305
+ @include desktop {
306
+ grid-template-columns: repeat($projectInRow - 1, 1fr $desktopHGap) 1fr;
307
+
308
+ #{$gapSelector} {
309
+ &:nth-of-type(#{$projectInRow}n) {
310
+ grid-column-start: 1;
311
+ grid-column-end: 13;
312
+ height: $desktopHGap;
313
+ }
314
+
315
+ &:nth-child(#{$totalColumns + 1}n):last-child {
316
+ display: none;
317
+ }
318
+
319
+ $i: 2;
320
+
321
+ @while $i < $totalColumns {
322
+ &:nth-child(#{$totalColumns + 1}n + #{$i}):last-child {
323
+ grid-column: span $totalColumns + 1 - $i;
324
+ }
325
+
326
+ $i: $i+2;
327
+ }
328
+ }
329
+ }
330
+
331
+ @include tablet {
332
+ grid-template-columns: repeat($projectInRow - 1, 1fr $tabletHGap) 1fr;
333
+
334
+ #{$gapSelector} {
335
+ &:nth-of-type(#{$projectInRow}n) {
336
+ grid-column-start: 1;
337
+ grid-column-end: 13;
338
+ height: $tabletHGap;
339
+ }
340
+
341
+ &:nth-child(#{$totalColumns + 1}n):last-child {
342
+ display: none;
343
+ }
344
+
345
+ $i: 2;
346
+
347
+ @while $i < $totalColumns {
348
+ &:nth-child(#{$totalColumns + 1}n + #{$i}):last-child {
349
+ grid-column: span $totalColumns + 1 - $i;
350
+ }
351
+
352
+ $i: $i+2;
353
+ }
354
+ }
355
+ }
356
+ }
357
+
358
+ @mixin media_cover() {
359
+ // objtct-fit для media
360
+ position: relative;
361
+ width: 100%;
362
+ height: 100%;
363
+
364
+ .media-container {
365
+ position: static !important;
366
+ padding-bottom: 0 !important;
367
+ }
368
+ }
369
+
370
+ $touchCircleWidthTablet: 4vw;
371
+ $touchCircleWidthMobile: 10vw;
372
+
373
+ @mixin touch-response() {
374
+ @include desktop {
375
+ display: none;
376
+ }
377
+
378
+ @include tablet {
379
+ position: relative;
380
+
381
+ &:after {
382
+ position: absolute;
383
+ content: '';
384
+ width: $touchCircleWidthTablet;
385
+ height: $touchCircleWidthTablet;
386
+ top: calc(50% - 2vw);
387
+ left: calc(50% - 2vw);
388
+ border-radius: 50%;
389
+ background-color: black;
390
+ opacity: 0;
391
+ transition: opacity 0.2s $defaultEasing;
392
+ }
393
+
394
+ &:focus,
395
+ &:active {
396
+ outline: none;
397
+ }
398
+
399
+ &:focus:after,
400
+ &:active:after {
401
+ opacity: 0.2;
402
+ }
403
+
404
+ }
405
+
406
+ @include mobile {
407
+
408
+ &:after {
409
+ width: $touchCircleWidthMobile;
410
+ height: $touchCircleWidthMobile;
411
+ top: calc(50% - 5vw);
412
+ left: calc(50% - 5vw);
413
+ }
414
+ }
415
+ }