@massimo-cassandro/minimo 0.6.6 → 0.7.0

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 (37) hide show
  1. package/design-tokens/components/sf-macro.minimo.tokens.jsonc +20 -2
  2. package/design-tokens-src/components/sf-macro.minimo.tokens.mjs +32 -14
  3. package/package.json +1 -1
  4. package/src/components/sf-macro/sf-macro.css +9 -3
  5. package/src/components/sf-macro/sf-macro.js +3 -2
  6. package/src/custom-properties-default.css +6 -9
  7. package/src/icons/caret-down-bold.svg +1 -0
  8. package/design-tokens-src/components/recaptcha.minimo.tokens.jsonc +0 -24
  9. package/design-tokens-src/components/toast.minimo.tokens.jsonc +0 -29
  10. package/src/components/alert-autoclose.js +0 -9
  11. package/src/components/auto-datatable/auto-datatable.css +0 -355
  12. package/src/components/auto-datatable/auto-datatable.js +0 -154
  13. package/src/components/create-blurhash-canvas.js +0 -47
  14. package/src/components/img-viewer-dom-builder.js +0 -196
  15. package/src/components/modal-alert/flash-alerts.js +0 -32
  16. package/src/components/modal-content/modal-content.js +0 -152
  17. package/src/components/modal-content/modal-content.module.css +0 -142
  18. package/src/components/popup-page/popup-page.css +0 -72
  19. package/src/components/popup-page/popup-page.js +0 -84
  20. package/src/components/print-icon.js +0 -51
  21. package/src/components/recaptcha/recaptcha.css +0 -73
  22. package/src/components/spinner/TODO spinner-circle.css +0 -54
  23. package/src/components/spinner/TODO spinner-three-dots.css +0 -14
  24. package/src/components/spinner/readme.md +0 -1
  25. package/src/components/spinner/spinner-trailing-dots.css +0 -51
  26. package/src/components/spinner/spinner-wrapper.css +0 -20
  27. package/src/components/spinner/spinner.js +0 -30
  28. package/src/components/toast/toast.js +0 -77
  29. package/src/components/toast/toast.module.css +0 -59
  30. package/src/components/vanilla-cookie-consent/cookie-consent.css +0 -20
  31. package/src/components/vanilla-cookie-consent/cookie-consent.js +0 -76
  32. package/src/components/vanilla-cookie-consent/render-cookie-list.js +0 -32
  33. package/src/components/vanilla-cookie-consent/src/cookie-list.js +0 -85
  34. package/src/components/vanilla-cookie-consent/src/it-translation.js +0 -38
  35. package/src/components/vanilla-cookie-consent/src/run-analytics.js +0 -54
  36. package/src/components/vanilla-cookie-consent/src/run-recaptcha.js +0 -71
  37. package/src/css/forms/select-indicator.svg +0 -3
@@ -52,12 +52,30 @@
52
52
  "close": {
53
53
  "size": {
54
54
  "$type": "dimension",
55
- "$value": "2rem"
55
+ "$value": "{btn.close.size}"
56
56
  },
57
57
  "background": {
58
58
  "color": {
59
59
  "$type": "color",
60
- "$value": "{body.background.color}"
60
+ "$value": "{btn.close.background.color}"
61
+ }
62
+ },
63
+ "position": {
64
+ "top": {
65
+ "$type": "dimension",
66
+ "$value": "-.5rem"
67
+ },
68
+ "right": {
69
+ "$type": "dimension",
70
+ "$value": "-.5rem"
71
+ },
72
+ "bottom": {
73
+ "$type": "dimension",
74
+ "$value": "auto"
75
+ },
76
+ "left": {
77
+ "$type": "dimension",
78
+ "$value": "auto"
61
79
  }
62
80
  }
63
81
  }
@@ -47,20 +47,38 @@ export default {
47
47
  }
48
48
  }, // end rows
49
49
 
50
- // btn: {
51
- // close: {
52
- // size: {
53
- // $value: '2rem',
54
- // $type: 'dimension'
55
- // },
56
- // background: {
57
- // color: {
58
- // $value: '{body.background.color}',
59
- // $type: 'color'
60
- // }
61
- // }
62
- // }
63
- // }, // end btn
50
+ btn: {
51
+ close: {
52
+ size: {
53
+ $value: '{btn.close.size}',
54
+ $type: 'dimension'
55
+ },
56
+ background: {
57
+ color: {
58
+ $value: '{btn.close.background.color}',
59
+ $type: 'color'
60
+ }
61
+ },
62
+ position: {
63
+ top: {
64
+ $type: 'dimension',
65
+ $value: '-.5rem'
66
+ },
67
+ right: {
68
+ $type: 'dimension',
69
+ $value: '-.5rem'
70
+ },
71
+ bottom:{
72
+ $type: 'dimension',
73
+ $value: 'auto'
74
+ },
75
+ left: {
76
+ $type: 'dimension',
77
+ $value: 'auto'
78
+ },
79
+ }
80
+ }
81
+ }, // end btn
64
82
 
65
83
  } // end sf-macro
66
84
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@massimo-cassandro/minimo",
3
- "version": "0.6.6",
3
+ "version": "0.7.0",
4
4
  "description": "Light css framework",
5
5
  "type": "module",
6
6
  "homepage": "https://github.com/massimo-cassandro/minimo#readme",
@@ -1,6 +1,9 @@
1
1
 
2
2
  .sf-macro-wrapper {
3
3
 
4
+ --btn-close-background-color: var(--sf-macro-btn-close-background-color);
5
+ --btn-close-size: var(--sf-macro-btn-close-size);
6
+
4
7
 
5
8
  /* etichette campi righe successive alla prima */
6
9
  @media (--media-large-viewport-up) {
@@ -63,13 +66,16 @@
63
66
 
64
67
 
65
68
  .sf-macro-close-btn { /* button */
69
+
66
70
  position: absolute;
67
- top: -.5rem;
68
- right: -.5rem;
71
+ top: var(--sf-macro-btn-close-position-top);
72
+ right: var(--sf-macro-btn-close-position-right);
73
+ bottom: var(--sf-macro-btn-close-position-bottom);
74
+ left: var(--sf-macro-btn-close-position-left);
75
+
69
76
  z-index: 1;
70
77
  display: block;
71
78
 
72
-
73
79
  &[disabled], [disabled] & {
74
80
  cursor: not-allowed;
75
81
  opacity: .4;
@@ -4,7 +4,8 @@ export function sf_macro({
4
4
  wrapper_selector = '.sf-macro-wrapper',
5
5
  row_selector = '.sf-macro-riga',
6
6
  add_callback = null,
7
- del_callback = null
7
+ del_callback = null,
8
+ insertAtTop = false
8
9
  }={}) {
9
10
 
10
11
  document.querySelectorAll(wrapper_selector).forEach(fset => {
@@ -19,7 +20,7 @@ export function sf_macro({
19
20
 
20
21
  const righe_macro = macro_container.querySelectorAll(row_selector).length;
21
22
 
22
- macro_container.insertAdjacentHTML('beforeend',
23
+ macro_container.insertAdjacentHTML(insertAtTop? 'afterbegin' : 'beforeend',
23
24
  macro_template.replace(/__indice\d?__/g, righe_macro + 1)
24
25
  );
25
26
 
@@ -182,9 +182,6 @@
182
182
  --radius-xl: var(--size-xl);
183
183
  --radius-xs: var(--size-xs);
184
184
  --radius-xxs: var(--size-xxs);
185
- --recaptcha-alert-background-color: #000;
186
- --recaptcha-alert-fg: #fff;
187
- --recaptcha-alert-overlay-color: rgb(0 0 0 / .5);
188
185
  --sdt-hover-background-color: var(--btn-primary-background-color);
189
186
  --sdt-hover-color: var(--btn-primary-color);
190
187
  --sdt-pagination-border: var(--btn-border-width) var(--neutral-100);
@@ -193,8 +190,12 @@
193
190
  --sdt-thead-hover-background-color: calc(color-mix(in srgb, var(--table-thead-background-color) 90%, var(--accent-100)));
194
191
  --secondary-100: #650853;
195
192
  --secondary-100-fg: #fff;
196
- --sf-macro-btn-close-background-color: var(--body-background-color);
197
- --sf-macro-btn-close-size: 2rem;
193
+ --sf-macro-btn-close-background-color: var(--btn-close-background-color);
194
+ --sf-macro-btn-close-position-bottom: auto;
195
+ --sf-macro-btn-close-position-left: auto;
196
+ --sf-macro-btn-close-position-right: -.5rem;
197
+ --sf-macro-btn-close-position-top: -.5rem;
198
+ --sf-macro-btn-close-size: var(--btn-close-size);
198
199
  --sf-macro-rows-border: 1px solid var(--neutral-100);
199
200
  --sf-macro-rows-border-radius: var(--radius-xs);
200
201
  --sf-macro-rows-even-background-color: var(--body-background-color);
@@ -244,9 +245,5 @@
244
245
  --text-negative: #fff;
245
246
  --text-selected-background-color: #ddd;
246
247
  --text-selected-text: var(--body-text);
247
- --toast-border-radius: var(--radius-sm);
248
- --toast-duration: 5s;
249
- --toast-font-size: var(--font-size-sm);
250
- --toast-text-color: var(--text-color);
251
248
  --z-index-overlay: 99;
252
249
  }
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256"><path d="M216.49,104.49l-80,80a12,12,0,0,1-17,0l-80-80a12,12,0,0,1,17-17L128,159l71.51-71.52a12,12,0,0,1,17,17Z"></path></svg>
@@ -1,24 +0,0 @@
1
- {
2
- "recaptcha": {
3
- "alert": {
4
-
5
- "overlay": {
6
- "color": {
7
- "$type": "color",
8
- "$value": "rgb(0 0 0 / .5)"
9
- },
10
- },
11
-
12
- "background": {
13
- "color": {
14
- "$type": "color",
15
- "$value": "#000"
16
- }
17
- },
18
- "fg": {
19
- "$type": "color",
20
- "$value": "#fff"
21
- },
22
- }
23
- }
24
- }
@@ -1,29 +0,0 @@
1
- {
2
- "toast": {
3
-
4
- "font": {
5
- "size": {
6
- "$value": "{font.size.sm}",
7
- "$type": "dimension"
8
- },
9
- },
10
-
11
- "border": {
12
- "radius": {
13
- "$value": "{radius.sm}",
14
- "$type": "color"
15
- }
16
- },
17
- "text": {
18
- "color": {
19
- "$value": "{text.color}",
20
- "$type": "color"
21
- }
22
- },
23
- "duration": {
24
- "$value": "5s",
25
- "$type": "duration"
26
- }
27
- }
28
-
29
- }
@@ -1,9 +0,0 @@
1
- // alert autoclose
2
- let flash_alert = document.querySelector('.alert-success.autoclose');
3
- if (flash_alert) {
4
- window.setTimeout(function () {
5
- slideUp(flash_alert, 500, () => {
6
- flash_alert.remove();
7
- });
8
- }, 4000);
9
- }
@@ -1,355 +0,0 @@
1
- /* stylelint-disable selector-class-pattern */
2
- /* @import '@massimo-cassandro/auto-datatables-bs5/css/index.css'; */
3
-
4
- @import '@massimo-cassandro/auto-datatables-bs5/css/crea-datatable.css';
5
- @import '@massimo-cassandro/auto-datatables-bs5/css/datatable-processing.css';
6
- @import '@massimo-cassandro/auto-datatables-bs5/css/datatable-controls-bs.css';
7
- @import '@massimo-cassandro/auto-datatables-bs5/css/datatable-table-bs.css';
8
- /* @import '@massimo-cassandro/auto-datatables-bs5/css/datatable-sorting.css'; */
9
- /* @import '@massimo-cassandro/auto-datatables-bs5/css/datatable-pagination-bs.css'; */
10
- @import '@massimo-cassandro/auto-datatables-bs5/css/datatables-classes.css';
11
- /* @import '@massimo-cassandro/auto-datatables-bs5/css/datatable-responsive.css'; */
12
-
13
-
14
- /*
15
- <div class="dt-container m-datatable" data-cdt-options="..." data-cdt_options="..." data-dt-columns="...">
16
- <div class="datatable-wrapper no-footer">
17
- <div class="dt-controls">
18
- <div class="datatable-length">
19
- <label>
20
- <di class=="dt-control-label">Mostra</di>
21
- <div class="dt-control">
22
- <select name="cdt-dom-2_length" class="form-control form-control-sm">
23
- <option value="...">...</option>
24
- </select>
25
- </div>
26
- <div>record per pagina</div>
27
- </label>
28
- </div>
29
- <div class="datatable-filter"><label>
30
- <div class=="dt-control-label">>Filtra risultati:</div>
31
- <div class="dt-control">
32
- <input type="search" class="form-control form-control-sm" placeholder=""></div>
33
- </label></div>
34
- </div>
35
- <div class="dt-table-wrapper">
36
- <table class="table table-striped table-bordered table-hover dataTable no-footer" >
37
- ...
38
- </table>
39
- </div>
40
- <div class="dataTables_processing">...</div>
41
-
42
- <div class="dt-footer">
43
- <div class="dataTables_info" role="status" aria-live="polite">Stai visualizzando...</div>
44
-
45
- <div class="dataTables_paginate paging_simple_numbers">
46
- ...
47
- </div>
48
-
49
- </div>
50
-
51
- </div>
52
- </div>
53
- */
54
-
55
-
56
-
57
- .m-datatable {
58
-
59
-
60
- /* --datatable-responsive-border-color: #ccc; */
61
- /* --datatable-processing-padding: 0; */
62
- /* --datatable-processing-bg: linear-gradient(to right, rgba(#fff, 0) 0%, rgba(#fff, .9) 25%, rgba(#fff, .9) 75%, rgba(#fff, 0) 100%); */
63
-
64
- /* --sorting-cell-base-padding: .5em; */
65
-
66
- /* --datatable-active-sorting-color: currentColor; */
67
- /* --datatable-active-sorting-bg: inherit; */
68
- /* --datatable-active-sorting-border-bottom: none; */
69
-
70
- /* --sorting-arrow-size: 4px; */
71
- /* --datatable-sorting-arrows-color: currentColor; */
72
- /* --sorting-cell-arrow-padding: var(--sorting-cell-base-padding) 1.5em var(--sorting-cell-base-padding) var(--sorting-cell-base-padding); */
73
- /* --sorting-arrow-bottom: 50%; */
74
-
75
- /* --pagination-padding-x: .5rem; */
76
- --pagination-padding-y: .4rem;
77
- /* --pagination-font-size: .875rem; */
78
-
79
- --pagination-color: var(--text-color);
80
- /* --pagination-bg: #fff; */
81
- /* --pagination-border-width: 1px; */
82
- --pagination-border-color: var(--stone-5);
83
-
84
- /* --pagination-border-radius: .25rem; */
85
- --pagination-hover-color: var(--accent-3-fg);
86
- --pagination-hover-bg: var(--accent-3);
87
- /* --pagination-hover-border-color: var(--pagination-border-color); */
88
- /* --pagination-focus-color: var(--pagination-hover-color); */
89
- /* --pagination-focus-bg: var(--pagination-hover-bg); */
90
- /* --pagination-focus-box-shadow: 0 0 0 .25rem #06407a40; */
91
- --pagination-active-color: var(--secondary-fg);
92
- --pagination-active-bg: var(--secondary);
93
- /* --pagination-active-border-color: #007e8a; */
94
- /* --pagination-disabled-color: #ababab; */
95
- /* --pagination-disabled-bg: var(--pagination-hover-bg); */
96
- /* --pagination-disabled-border-color: var(--pagination-border-color); */
97
-
98
-
99
- --sorting-border-size: 6px;
100
- --sorting-border-color: var(--secondary);
101
-
102
- position: relative;
103
-
104
- .dt-controls {
105
- display: flex;
106
- flex-flow: row wrap;
107
- gap: 1rem;
108
- align-items: center;
109
- justify-content: space-between;
110
-
111
- > div {
112
- max-width: 100%;
113
- }
114
- }
115
-
116
- .icon {
117
- width: 1.1em;
118
- }
119
-
120
-
121
- @media (--desktop-down) {
122
- /* .dt-control-label {} */
123
- .dt-controls {
124
- flex-direction: column;
125
- justify-content: center;
126
- }
127
- }
128
- }
129
-
130
- @media print {
131
- .m-datatable {
132
- .dt-controls, .dt-footer {
133
- display: none;
134
- }
135
- }
136
- }
137
-
138
-
139
- /* https://css-tip.com/overflow-detection/ */
140
- /* https://csscade.com/can-you-detect-overflow-with-css/ */
141
- .dt-table-wrapper {
142
- max-width: 100%;
143
- overflow-x: auto;
144
-
145
- /* animation-timeline: scroll(self);
146
- animation: detect-scroll linear;
147
- --_bg-if-can-scroll: var(--_can-scroll) lime;
148
- --_bg-if-cant-scroll: red;
149
- background: var(--_bg-if-can-scroll, var(--_bg-if-cant-scroll)); */
150
-
151
-
152
- .table thead th {
153
- vertical-align: middle;
154
- }
155
-
156
- .sorting_disabled,
157
- .sorting_asc_disabled,
158
- .sorting_desc_disabled {
159
- cursor: default;
160
- }
161
-
162
- .sorting {
163
- position: relative;
164
- cursor: pointer;
165
-
166
-
167
- @media (--mouse) {
168
- &:hover {
169
- /* --datatable_active_sorting_color */
170
-
171
- --datatable-active-sorting-bg: color-mix(in srgb, var(--accent-1) 10%, transparent);
172
- /* stylelint-disable-next-line declaration-block-no-duplicate-custom-properties */
173
- --datatable-active-sorting-bg: light-dark(color-mix(in srgb, var(--accent-1) 10%, transparent), color-mix(in srgb, var(--accent-1) 30%, transparent));
174
-
175
- /* --datatable-active-sorting-border-bottom */
176
- }
177
- }
178
- }
179
-
180
-
181
- .sorting_asc, .sorting_desc{
182
- &::after {
183
- position: absolute;
184
- right: 0;
185
- left: 0;
186
- display: block;
187
- height: var(--sorting-border-size);
188
- content: '';
189
- background-color: var(--sorting-border-color);
190
-
191
- }
192
- /* border-bottom: var(--sorting-border-size) solid var(--sorting-border-color); */
193
- }
194
- .sorting_asc{
195
- &::after {
196
- top: calc(-1 * var(--sorting-border-size) / 2);
197
-
198
- }
199
- }
200
- .sorting_desc{
201
- &::after {
202
- bottom: calc(-1 * var(--sorting-border-size) / 2);
203
- }
204
- }
205
- }
206
-
207
- /*
208
- @keyframes detect-scroll {
209
- from, to {
210
- --_can-scroll:;
211
- }
212
- } */
213
-
214
-
215
- .dt-footer {
216
- display: flex;
217
- flex-flow: column wrap;
218
- gap: .5rem;
219
- align-items: center;
220
- justify-content: center;
221
- margin-block: 1rem;
222
-
223
- @media (--desktop-up) {
224
- flex-direction: row;
225
- gap: 2rem;
226
- justify-content: space-between;
227
- }
228
- }
229
-
230
- .dataTables_info {
231
- font-size: var(--font-size-xs);
232
- /* color: var(--text-muted-color); */
233
- }
234
-
235
- /*
236
- <div class="dataTables_paginate paging_simple_numbers">
237
- <a class="paginate_button previous disabled" aria-disabled="true" role="link" data-dt-idx="previous" tabindex="-1"></a>
238
-
239
- <span>
240
- <a class="paginate_button current" role="link" aria-current="page" data-dt-idx="0" tabindex="0">1</a>
241
- <a class="paginate_button " role="link" data-dt-idx="1" tabindex="0">2</a>
242
- <span class="ellipsis">…</span>
243
- <a class="paginate_button " role="link" data-dt-idx="9" tabindex="0">10</a>
244
- </span>
245
-
246
- <a class="paginate_button next" role="link" data-dt-idx="next" tabindex="0"></a>
247
- </div>
248
- */
249
-
250
- .dataTables_paginate {
251
- display: flex;
252
- flex-flow: row nowrap;
253
- gap: 0;
254
- align-items: center;
255
- justify-content: flex-end;
256
-
257
- > span {
258
-
259
- display: flex;
260
- flex-flow: row nowrap;
261
- gap: 0;
262
- align-items: center;
263
- justify-content: flex-end;
264
- }
265
-
266
- .paginate_button, .ellipsis {
267
- display: flex;
268
- justify-content: center;
269
- padding: var(--pagination-padding-y) var(--pagination-padding-x);
270
- font-size: var(--pagination-font-size);
271
- font-weight: var(--font-weight-semibold);
272
- line-height: 1;
273
- color: var(--pagination-color);
274
- border: var(--pagination-border-width) var(--pagination-border-color);
275
- border-style: solid solid solid none;
276
- }
277
-
278
- .ellipsis {
279
- justify-content: flex-end;
280
- }
281
-
282
- .paginate_button {
283
- align-items: center;
284
- text-decoration: none;
285
- cursor: pointer;
286
- background-color: var(--pagination-bg);
287
- transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
288
-
289
- &.previous, &.next {
290
- display: none;
291
- }
292
-
293
- &:first-child {
294
- border-style: solid;
295
- border-top-left-radius: var(--pagination-border-radius);
296
- border-bottom-left-radius: var(--pagination-border-radius);
297
- }
298
- &:last-child {
299
- border-top-right-radius: var(--pagination-border-radius);
300
- border-bottom-right-radius: var(--pagination-border-radius);
301
- }
302
-
303
- &:hover {
304
- z-index: 2;
305
- color: var(--pagination-hover-color);
306
- text-decoration: none;
307
- background-color: var(--pagination-hover-bg);
308
- border-color: var(--pagination-hover-border-color);
309
- }
310
-
311
- &:focus {
312
- z-index: 3;
313
- color: var(--pagination-focus-color);
314
- background-color: var(--pagination-focus-bg);
315
- outline: 0;
316
- box-shadow: var(--pagination-focus-box-shadow);
317
- }
318
-
319
- &.current {
320
- z-index: 3;
321
- color: var(--pagination-active-color);
322
- background-color: var(--pagination-active-bg);
323
- border-color: var(--pagination-active-border-color);
324
- }
325
-
326
- &.disabled,
327
- .disabled > & {
328
- color: var(--pagination-disabled-color);
329
- pointer-events: none;
330
- background-color: var(--pagination-disabled-bg);
331
- border-color: var(--pagination-disabled-border-color);
332
- }
333
- }
334
-
335
- .page-item {
336
- &:not(:first-child) .page-link {
337
- margin-left: calc(-1 * var(--pagination-border-width));
338
- }
339
-
340
- &:first-child {
341
- .page-link {
342
- border-radius: var(--pagination-border-radius) 0 0 var(--pagination-border-radius);
343
- }
344
- }
345
-
346
- &:last-child {
347
- .page-link {
348
- border-radius: 0 var(--pagination-border-radius) var(--pagination-border-radius) 0;
349
- }
350
- }
351
-
352
- }
353
-
354
-
355
- }