@massimo-cassandro/minimo 1.20.16 → 1.21.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 (52) hide show
  1. package/package.json +1 -1
  2. package/src/components/autocomplete/autocomplete.css +113 -109
  3. package/src/components/inner-nav/inner-nav.css +13 -9
  4. package/src/components/modal-alert/modal-alert.module.css +157 -153
  5. package/src/components/modal-popup/modal-popup.module.css +89 -85
  6. package/src/components/overlay/overlay.css +14 -10
  7. package/src/components/sf-macro/sf-macro.css +60 -56
  8. package/src/components/slide-up-down-toggle/slide-up-down-toggle.module.css +33 -29
  9. package/src/components/snackbar/snackbar.module.css +93 -89
  10. package/src/components/spinner/spinner-circle-basic.css +18 -14
  11. package/src/components/spinner/spinner.module.css +8 -4
  12. package/src/components/unsplash-page/unsplash-page.module.css +260 -256
  13. package/src/css/alerts.css +55 -53
  14. package/src/css/badge.css +16 -12
  15. package/src/css/buttons/btn-close.css +57 -53
  16. package/src/css/buttons/buttons-primary.css +38 -34
  17. package/src/css/buttons/buttons-secondary.css +38 -34
  18. package/src/css/buttons/buttons.css +84 -80
  19. package/src/css/buttons/status-buttons.css +66 -63
  20. package/src/css/container.css +9 -5
  21. package/src/css/data-formats.css +28 -24
  22. package/src/css/details.css +17 -13
  23. package/src/css/dimensions.css +13 -9
  24. package/src/css/display.css +27 -23
  25. package/src/css/flex.css +39 -35
  26. package/src/css/forms/fieldset.css +47 -43
  27. package/src/css/forms/form-collections.css +16 -12
  28. package/src/css/forms/form-disabled-readonly.css +31 -27
  29. package/src/css/forms/form-group.css +15 -11
  30. package/src/css/forms/form-utilities.css +32 -28
  31. package/src/css/forms/forms.css +136 -134
  32. package/src/css/forms/input-group.css +47 -43
  33. package/src/css/forms/switch.css +50 -46
  34. package/src/css/forms/validation.css +26 -22
  35. package/src/css/grid.css +66 -62
  36. package/src/css/headings.css +32 -28
  37. package/src/css/icons.css +41 -37
  38. package/src/css/layout-base.css +16 -12
  39. package/src/css/links.css +40 -36
  40. package/src/css/margin-padding-bootstrap-media.css +1836 -1832
  41. package/src/css/margin-padding-bootstrap.css +445 -441
  42. package/src/css/margin-padding-media.css +1836 -1832
  43. package/src/css/margin-padding.css +445 -441
  44. package/src/css/overflow.css +7 -3
  45. package/src/css/position.css +5 -1
  46. package/src/css/reset.css +47 -44
  47. package/src/css/svg.css +6 -2
  48. package/src/css/table.css +59 -55
  49. package/src/css/text.css +96 -92
  50. package/src/css/visibility.css +23 -19
  51. package/src/minimo.css +2 -0
  52. package/src/web-components/s-datatable-component/s-datatable-component.module.css +175 -171
@@ -1,18 +1,22 @@
1
+ @layer base {
1
2
 
2
- .form-group {
3
- display: flex;
4
- flex-flow: column nowrap;
5
- gap: var(--size-xxs);
6
- align-content: flex-start; /* multiline container */
7
- align-items: flex-start;
8
- justify-content: stretch;
9
- padding-block: var(--form-group-padding-block);
10
3
 
11
- /* &:has(textarea) {
4
+ .form-group {
5
+ display: flex;
6
+ flex-flow: column nowrap;
7
+ gap: var(--size-xxs);
8
+ align-content: flex-start; /* multiline container */
9
+ align-items: flex-start;
10
+ justify-content: stretch;
11
+ padding-block: var(--form-group-padding-block);
12
+
13
+ /* &:has(textarea) {
12
14
  height: 100%;
13
15
  } */
14
16
 
15
- .grid & {
16
- padding-block-end: 0;
17
+ .grid & {
18
+ padding-block-end: 0;
19
+ }
17
20
  }
21
+
18
22
  }
@@ -1,7 +1,9 @@
1
+ @layer base {
1
2
 
2
- /* blocco finale con le info sull'utente che h salvato il form */
3
3
 
4
- /*
4
+ /* blocco finale con le info sull'utente che h salvato il form */
5
+
6
+ /*
5
7
  <div class="form-end">
6
8
 
7
9
  <button ...>Registra</button>
@@ -14,31 +16,33 @@
14
16
  </div>
15
17
  */
16
18
 
17
- .form-end {
18
- display: flex;
19
- flex-flow: row wrap;
20
- gap: var(--size-base);
21
- align-content: center;
22
- align-items: center;
23
- justify-content: space-between;
24
- margin-block: var(--form-end-margin-block-start) var(--form-end-margin-block-end);
25
- }
26
-
27
- .form-user-info {
28
- display: flex;
29
- flex-flow: row wrap;
30
- gap: var(--size-xs);
31
- align-items: center;
32
- justify-content: flex-end;
33
- font-size: var(--form-user-info-font-size);
34
- color: var(--form-user-info-color);
35
- }
36
-
37
-
38
- /* ---------------------------------------------------------------- */
39
- /* testo di aiuto sotto il controllo */
19
+ .form-end {
20
+ display: flex;
21
+ flex-flow: row wrap;
22
+ gap: var(--size-base);
23
+ align-content: center;
24
+ align-items: center;
25
+ justify-content: space-between;
26
+ margin-block: var(--form-end-margin-block-start) var(--form-end-margin-block-end);
27
+ }
28
+
29
+ .form-user-info {
30
+ display: flex;
31
+ flex-flow: row wrap;
32
+ gap: var(--size-xs);
33
+ align-items: center;
34
+ justify-content: flex-end;
35
+ font-size: var(--form-user-info-font-size);
36
+ color: var(--form-user-info-color);
37
+ }
38
+
39
+
40
+ /* ---------------------------------------------------------------- */
41
+ /* testo di aiuto sotto il controllo */
42
+
43
+ .form-help-text {
44
+ font-size: var(--font-size-xs);
45
+ color: var(--text-muted);
46
+ }
40
47
 
41
- .form-help-text {
42
- font-size: var(--font-size-xs);
43
- color: var(--text-muted);
44
48
  }
@@ -1,164 +1,166 @@
1
- /* TODO separare? */
2
- /* TODO serie di gruppi radio o checkbox */
3
- /* TODO multiselect */
4
- /* TODO classe grid specifica per i form ?? (.form-grid?) */
5
- /* TODO customizable select */
6
- /* TODO form-check: rifare come flex, separare? */
7
- /* TODO abbreviare prefisso */
8
-
9
- .form-group:has([required]):not(:has([disabled])) {
10
-
11
- /* `>` excludes labels within form-collections */
12
- > .form-label {
13
- position: relative;
14
- padding-inline-start: var(--form-control-required-label-padding-inline-start);
15
- &::before {
16
- position: absolute;
17
- top: var(--form-control-required-flag-top);
18
- left: var(--form-control-required-flag-left);
19
- display: inline-block;
20
- font-size: var(--form-control-required-flag-font-size);
21
- color: var(--form-control-required-flag-color);
22
- content: var(--form-control-required-flag-content);
1
+ @layer base {
2
+
3
+ /* TODO separare? */
4
+ /* TODO serie di gruppi radio o checkbox */
5
+ /* TODO multiselect */
6
+ /* TODO classe grid specifica per i form ?? (.form-grid?) */
7
+ /* TODO customizable select */
8
+ /* TODO form-check: rifare come flex, separare? */
9
+ /* TODO abbreviare prefisso */
10
+
11
+ .form-group:has([required]):not(:has([disabled])) {
12
+
13
+ /* `>` excludes labels within form-collections */
14
+ > .form-label {
15
+ position: relative;
16
+ padding-inline-start: var(--form-control-required-label-padding-inline-start);
17
+ &::before {
18
+ position: absolute;
19
+ top: var(--form-control-required-flag-top);
20
+ left: var(--form-control-required-flag-left);
21
+ display: inline-block;
22
+ font-size: var(--form-control-required-flag-font-size);
23
+ color: var(--form-control-required-flag-color);
24
+ content: var(--form-control-required-flag-content);
25
+ }
23
26
  }
24
27
  }
25
- }
26
28
 
27
- /* single checkbozes and radios are centered */
28
- .form-group:not(.form-collection-fset):has(.form-check:not(.form-check-top-label)) {
29
- align-self: center;
30
- .form-check {
31
- margin-block-start: 0;
29
+ /* single checkbozes and radios are centered */
30
+ .form-group:not(.form-collection-fset):has(.form-check:not(.form-check-top-label)) {
31
+ align-self: center;
32
+ .form-check {
33
+ margin-block-start: 0;
34
+ }
32
35
  }
33
- }
34
36
 
35
- .form-label {
36
- display: block;
37
- font-size: var(--form-label-font-size);
38
- font-weight: var(--form-label-font-weight);
39
- color: var(--form-label-color);
40
- }
37
+ .form-label {
38
+ display: block;
39
+ font-size: var(--form-label-font-size);
40
+ font-weight: var(--form-label-font-weight);
41
+ color: var(--form-label-color);
42
+ }
41
43
 
42
44
 
43
- .form-control, .form-control-static {
44
- display: block;
45
- width: 100%;
46
- padding: var(--form-control-padding-block) var(--form-control-padding-inline);
47
- font-family: var(--font-family);
48
- font-size: var(--form-control-font-size);
49
- font-weight: var(--font-weight-regular);
50
- line-height: var(--form-control-line-height);
51
- color: var(--form-control-text-color);
52
- background-color: var(--form-control-background-color);
53
- border: var(--form-control-border-width) var(--form-control-border-style) var(--form-control-border-color);
54
- border-radius: var(--form-control-border-radius);
55
-
56
- &:focus {
57
- outline: none;
58
- }
45
+ .form-control, .form-control-static {
46
+ display: block;
47
+ width: 100%;
48
+ padding: var(--form-control-padding-block) var(--form-control-padding-inline);
49
+ font-family: var(--font-family);
50
+ font-size: var(--form-control-font-size);
51
+ font-weight: var(--font-weight-regular);
52
+ line-height: var(--form-control-line-height);
53
+ color: var(--form-control-text-color);
54
+ background-color: var(--form-control-background-color);
55
+ border: var(--form-control-border-width) var(--form-control-border-style) var(--form-control-border-color);
56
+ border-radius: var(--form-control-border-radius);
57
+
58
+ &:focus {
59
+ outline: none;
60
+ }
59
61
 
60
- &:focus-visible {
61
- outline: var(--form-control-focus-outline-width) solid var(--form-control-focus-color);
62
- outline-offset: var(--form-control-focus-outline-offset);
63
- }
62
+ &:focus-visible {
63
+ outline: var(--form-control-focus-outline-width) solid var(--form-control-focus-color);
64
+ outline-offset: var(--form-control-focus-outline-offset);
65
+ }
64
66
 
65
67
 
66
- &::placeholder {
67
- font-size: var(--form-control-placeholder-font-size, var(--form-control-font-size));
68
- font-style: var(--form-control-placeholder-font-style, italic);
69
- color: var(--form-control-placeholder-color);
70
- opacity: var(--form-control-placeholder-opacity, .8);
71
- }
68
+ &::placeholder {
69
+ font-size: var(--form-control-placeholder-font-size, var(--form-control-font-size));
70
+ font-style: var(--form-control-placeholder-font-style, italic);
71
+ color: var(--form-control-placeholder-color);
72
+ opacity: var(--form-control-placeholder-opacity, .8);
73
+ }
72
74
 
73
- &.form-control-sm {
74
- padding: var(--form-control-sm-padding-block) var(--form-control-sm-padding-inline);
75
- font-size: var(--form-control-sm-font-size);
75
+ &.form-control-sm {
76
+ padding: var(--form-control-sm-padding-block) var(--form-control-sm-padding-inline);
77
+ font-size: var(--form-control-sm-font-size);
78
+ }
76
79
  }
77
- }
78
80
 
79
- .form-control-static {
80
- overflow: hidden;
81
- text-overflow: ellipsis;
82
- color: var(--form-control-static-color);
83
- white-space: nowrap;
84
- cursor: not-allowed;
85
- background-color: var(--form-control-static-background-color);
86
-
87
- &.no-border {
88
- padding: calc(var(--form-control-padding-block) + var(--form-control-border-width)) 0;
89
- border: none;
81
+ .form-control-static {
82
+ overflow: hidden;
83
+ text-overflow: ellipsis;
84
+ color: var(--form-control-static-color);
85
+ white-space: nowrap;
86
+ cursor: not-allowed;
87
+ background-color: var(--form-control-static-background-color);
88
+
89
+ &.no-border {
90
+ padding: calc(var(--form-control-padding-block) + var(--form-control-border-width)) 0;
91
+ border: none;
92
+ }
90
93
  }
91
- }
92
94
 
93
- /* da bootstrap */
94
- select.form-control {
95
+ /* da bootstrap */
96
+ select.form-control {
95
97
 
96
- --_trigger-icon-padding-right: calc(var(--form-control-padding-inline) * 2);
97
- --_bg-img-inline-size: 16px;
98
+ --_trigger-icon-padding-right: calc(var(--form-control-padding-inline) * 2);
99
+ --_bg-img-inline-size: 16px;
98
100
 
99
- padding: var(--form-control-padding-block) var(--_trigger-icon-padding-right) var(--form-control-padding-block) var(--form-control-padding-inline);
100
- appearance: none;
101
- background-image: var(--form-control-select-trigger-icon);
102
- background-repeat: no-repeat;
103
- background-position: right calc(var(--_trigger-icon-padding-right) - var(--_bg-img-inline-size) - 2px) center;
104
- background-size: var(--_bg-img-inline-size) 12px;
101
+ padding: var(--form-control-padding-block) var(--_trigger-icon-padding-right) var(--form-control-padding-block) var(--form-control-padding-inline);
102
+ appearance: none;
103
+ background-image: var(--form-control-select-trigger-icon);
104
+ background-repeat: no-repeat;
105
+ background-position: right calc(var(--_trigger-icon-padding-right) - var(--_bg-img-inline-size) - 2px) center;
106
+ background-size: var(--_bg-img-inline-size) 12px;
105
107
 
106
- &[multiple],
107
- &[size]:not([size='1']) {
108
- padding-right: var(--form-control-padding-inline);
109
- background-image: none;
108
+ &[multiple],
109
+ &[size]:not([size='1']) {
110
+ padding-right: var(--form-control-padding-inline);
111
+ background-image: none;
112
+ }
113
+
114
+ &:-moz-focusring {
115
+ color: transparent;
116
+ text-shadow: 0 0 0 var(--form-control-text-color);
117
+ }
110
118
  }
111
119
 
112
- &:-moz-focusring {
113
- color: transparent;
114
- text-shadow: 0 0 0 var(--form-control-text-color);
120
+ input[type='checkbox'] {
121
+ color: var(--form-control-text-color);
122
+ accent-color: var(--accent);
123
+ transform-origin: center;
124
+ scale: 1.3;
115
125
  }
116
- }
117
126
 
118
- input[type='checkbox'] {
119
- color: var(--form-control-text-color);
120
- accent-color: var(--accent);
121
- transform-origin: center;
122
- scale: 1.3;
123
- }
127
+ /* da bs5 */
128
+ /* versione con label a destra */
129
+ /* TODO rivedere. sostituire float con flex? */
130
+ /* TODO eliminare necessità di stare dentro un `.form-group` */
131
+ /* TODO aggiungere esempi di uso */
132
+ .form-check {
133
+ display: block;
134
+ padding-left: 1.5em;
135
+ margin-block-start: var(--size-sm);
124
136
 
125
- /* da bs5 */
126
- /* versione con label a destra */
127
- /* TODO rivedere. sostituire float con flex? */
128
- /* TODO eliminare necessità di stare dentro un `.form-group` */
129
- /* TODO aggiungere esempi di uso */
130
- .form-check {
131
- display: block;
132
- padding-left: 1.5em;
133
- margin-block-start: var(--size-sm);
134
-
135
- .form-check-input {
136
- float: left;
137
- display: inline-block;
138
- width: auto;
139
- margin: 4px 0 0 -1.5em;
137
+ .form-check-input {
138
+ float: left;
139
+ display: inline-block;
140
+ width: auto;
141
+ margin: 4px 0 0 -1.5em;
142
+ }
140
143
  }
141
- }
142
144
 
143
- /* fix per safari */
144
- /* https://8yd.no/article/date-input-height-in-safari */
145
- input::-webkit-datetime-edit {
146
- padding: 0;
147
- margin-block-end: -2px;
148
- line-height: 1;
149
- }
150
- input::-webkit-calendar-picker-trigger-icon { /* solo in chromium, non in safari */
151
- margin: 2px 0;
152
- }
145
+ /* fix per safari */
146
+ /* https://8yd.no/article/date-input-height-in-safari */
147
+ input::-webkit-datetime-edit {
148
+ padding: 0;
149
+ margin-block-end: -2px;
150
+ line-height: 1;
151
+ }
152
+ input::-webkit-calendar-picker-trigger-icon { /* solo in chromium, non in safari */
153
+ margin: 2px 0;
154
+ }
153
155
 
154
156
 
155
- textarea.form-control {
156
- flex: 1;
157
- min-height: calc(3.5lh + var(--form-control-padding-block) * 2);
157
+ textarea.form-control {
158
+ flex: 1;
159
+ min-height: calc(3.5lh + var(--form-control-padding-block) * 2);
158
160
 
159
- &.autosize {
160
- field-sizing: content;
161
+ &.autosize {
162
+ field-sizing: content;
163
+ }
161
164
  }
162
- }
163
-
164
165
 
166
+ }
@@ -1,55 +1,59 @@
1
+ @layer base {
2
+
3
+
4
+ /* da bs5 */
5
+ .input-group {
6
+ position: relative;
7
+ display: flex;
8
+ gap: 0;
9
+ align-items: stretch;
10
+ justify-content: center;
11
+ width: 100%;
12
+
13
+ > .form-control {
14
+ z-index: 2;
15
+ flex: 1;
16
+ border-inline-end: none;
17
+ border-top-right-radius: 0;
18
+ border-bottom-right-radius: 0;
19
+ }
1
20
 
2
- /* da bs5 */
3
- .input-group {
4
- position: relative;
5
- display: flex;
6
- gap: 0;
7
- align-items: stretch;
8
- justify-content: center;
9
- width: 100%;
10
-
11
- > .form-control {
12
- z-index: 2;
13
- flex: 1;
14
- border-inline-end: none;
15
- border-top-right-radius: 0;
16
- border-bottom-right-radius: 0;
17
- }
18
21
 
22
+ > .input-group-text {
23
+ padding: var(--form-control-padding-block) var(--form-control-padding-inline);
24
+ font-size: var(--btn-font-size);
25
+ background-color: var(--form-input-group-background-color);
26
+ border: 1px solid var(--form-control-border-color);
27
+ border-radius: var(--form-control-border-radius);
28
+ }
19
29
 
20
- > .input-group-text {
21
- padding: var(--form-control-padding-block) var(--form-control-padding-inline);
22
- font-size: var(--btn-font-size);
23
- background-color: var(--form-input-group-background-color);
24
- border: 1px solid var(--form-control-border-color);
25
- border-radius: var(--form-control-border-radius);
26
- }
30
+ > .btn, > .input-group-text {
31
+ z-index: 1;
32
+ line-height: 1;
33
+ border-top-left-radius: 0;
34
+ border-bottom-left-radius: 0;
35
+ }
27
36
 
28
- > .btn, > .input-group-text {
29
- z-index: 1;
30
- line-height: 1;
31
- border-top-left-radius: 0;
32
- border-bottom-left-radius: 0;
33
- }
37
+ > * {
38
+ &:focus {
39
+ outline: none;
40
+ }
34
41
 
35
- > * {
36
- &:focus {
37
- outline: none;
42
+ &:focus-visible, &:focus-within {
43
+ z-index: 5;
44
+ }
38
45
  }
39
46
 
40
- &:focus-visible, &:focus-within {
41
- z-index: 5;
47
+ &:has([disabled]) {
48
+ > .btn, .input-group-text {
49
+ font-style: italic;
50
+ color: var(--text-muted);
51
+ background-color: var(--form-control-disabled-background-color);
52
+ /* opacity: .6; */
53
+ }
42
54
  }
43
- }
44
55
 
45
- &:has([disabled]) {
46
- > .btn, .input-group-text {
47
- font-style: italic;
48
- color: var(--text-muted);
49
- background-color: var(--form-control-disabled-background-color);
50
- /* opacity: .6; */
51
- }
52
- }
53
56
 
57
+ }
54
58
 
55
59
  }
@@ -1,4 +1,6 @@
1
- /* TODO completare, aggiungere focus, vedere soluzione bootstrap
1
+ @layer base {
2
+
3
+ /* TODO completare, aggiungere focus, vedere soluzione bootstrap
2
4
 
3
5
 
4
6
  .form-switch {
@@ -43,7 +45,7 @@
43
45
 
44
46
  */
45
47
 
46
- /*
48
+ /*
47
49
  <div class="switch">
48
50
  <input type="checkbox">
49
51
  <span class="switch-track"></span>
@@ -51,55 +53,57 @@
51
53
  </div>
52
54
  */
53
55
 
54
- .switch {
55
- display: inline-flex;
56
- align-items: center;
57
- cursor: pointer;
58
- }
56
+ .switch {
57
+ display: inline-flex;
58
+ align-items: center;
59
+ cursor: pointer;
60
+ }
59
61
 
60
- .switch input {
61
- position: absolute;
62
- opacity: 0;
63
- width: 0;
64
- height: 0;
65
- }
62
+ .switch input {
63
+ position: absolute;
64
+ width: 0;
65
+ height: 0;
66
+ opacity: 0;
67
+ }
66
68
 
67
- .switch-track {
68
- position: relative;
69
- width: 2.5em;
70
- height: 1.5em;
71
- background-color: var(--switch-background-color);
72
- border-radius: 1.5em;
73
- transition: background-color 0.2s;
74
- }
69
+ .switch-track {
70
+ position: relative;
71
+ width: 2.5em;
72
+ height: 1.5em;
73
+ background-color: var(--switch-background-color);
74
+ border-radius: 1.5em;
75
+ transition: background-color .2s;
76
+ }
75
77
 
76
- .switch label {
77
- margin-left: .5em;
78
- user-select: none;
79
- }
78
+ .switch label {
79
+ margin-left: .5em;
80
+ user-select: none;
81
+ }
80
82
 
81
- .switch-track::after {
82
- content: '';
83
- position: absolute;
84
- top: 2px;
85
- left: 2px;
86
- width: 2em;
87
- height: 2em;
88
- background: var(--switch-cursor-background-color);
89
- border-radius: 50%;
90
- transition: translate 0.2s;
91
- }
83
+ .switch-track::after {
84
+ position: absolute;
85
+ top: 2px;
86
+ left: 2px;
87
+ width: 2em;
88
+ height: 2em;
89
+ content: '';
90
+ background: var(--switch-cursor-background-color);
91
+ border-radius: 50%;
92
+ transition: translate .2s;
93
+ }
92
94
 
93
- .switch input:checked + .switch-track {
94
- background-color: var(--switch-checked-background-color);
95
- }
95
+ .switch input:checked + .switch-track {
96
+ background-color: var(--switch-checked-background-color);
97
+ }
96
98
 
97
- .switch input:checked + .switch-track::after {
98
- translate: 20px 0;
99
- }
99
+ .switch input:checked + .switch-track::after {
100
+ translate: 20px 0;
101
+ }
102
+
103
+ /* accessibilità */
104
+ .switch input:focus-visible + .switch-track {
105
+ outline: 2px solid var(--switch-checked-background-color);
106
+ outline-offset: 2px;
107
+ }
100
108
 
101
- /* accessibilità */
102
- .switch input:focus-visible + .switch-track {
103
- outline: 2px solid var(--switch-checked-background-color);
104
- outline-offset: 2px;
105
109
  }