@massimo-cassandro/minimo 0.1.3 → 0.1.4

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 (68) hide show
  1. package/index.js +0 -0
  2. package/package.json +5 -6
  3. package/src/components/auto-datatable/auto-datatable.css +355 -0
  4. package/src/components/auto-datatable/auto-datatable.js +154 -0
  5. package/src/components/init.js +7 -0
  6. package/src/components/modal-alert/flash-alerts.js +32 -0
  7. package/src/components/modal-alert/modal-alert.css +47 -0
  8. package/src/components/modal-alert/modal-alert.js +85 -0
  9. package/src/components/modal-alert/svg/check-circle-duotone.svg +1 -0
  10. package/src/components/modal-alert/svg/info-duotone.svg +1 -0
  11. package/src/components/modal-alert/svg/question-duotone.svg +1 -0
  12. package/src/components/modal-alert/svg/warning-duotone.svg +1 -0
  13. package/src/components/modal-alert/svg/x-circle-duotone.svg +1 -0
  14. package/src/components/modal-content/modal-content.js +152 -0
  15. package/src/components/modal-content/modal-content.module.css +142 -0
  16. package/src/components/recaptcha/recaptcha.css +74 -0
  17. package/src/components/sf-macro/sf-macro.css +104 -0
  18. package/src/components/sf-macro/sf-macro.js +44 -0
  19. package/src/components/vanilla-cookie-consent/cookie-consent.css +20 -0
  20. package/src/components/vanilla-cookie-consent/cookie-consent.js +76 -0
  21. package/src/components/vanilla-cookie-consent/render-cookie-list.js +32 -0
  22. package/src/components/vanilla-cookie-consent/src/cookie-list.js +85 -0
  23. package/src/components/vanilla-cookie-consent/src/it-translation.js +38 -0
  24. package/src/components/vanilla-cookie-consent/src/run-analytics.js +54 -0
  25. package/src/components/vanilla-cookie-consent/src/run-recaptcha.js +71 -0
  26. package/src/css/alerts.css +95 -0
  27. package/src/css/anchors.css +40 -0
  28. package/src/css/buttons/btn-close.css +41 -0
  29. package/src/css/buttons/buttons.css +187 -0
  30. package/src/css/buttons/status-buttons.css +107 -0
  31. package/src/css/container.css +15 -0
  32. package/src/css/data-formats.css +30 -0
  33. package/src/css/details.css +19 -0
  34. package/src/css/dialog-content.css +72 -0
  35. package/src/css/flex.css +30 -0
  36. package/src/css/forms/form-edit-info.css +17 -0
  37. package/src/css/forms/forms.css +315 -0
  38. package/src/css/forms/select-indicator.svg +3 -0
  39. package/src/css/grid.css +63 -0
  40. package/src/css/headings.css +34 -0
  41. package/src/css/icons.css +114 -0
  42. package/src/css/inner-nav.css +11 -0
  43. package/src/css/layout-base.css +11 -0
  44. package/src/css/overlay.css +11 -0
  45. package/src/css/reset.css +59 -0
  46. package/src/css/spinners/TODO spinner-circle.css +54 -0
  47. package/src/css/spinners/TODO spinner-three-dots.css +14 -0
  48. package/src/css/spinners/readme.md +1 -0
  49. package/src/css/spinners/spinner-circle-basic.css +15 -0
  50. package/src/css/spinners/spinner-trailing-dots.css +51 -0
  51. package/src/css/spinners/spinner-wrapper.css +20 -0
  52. package/src/css/svg.css +3 -0
  53. package/src/css/table.css +66 -0
  54. package/src/css/text.css +114 -0
  55. package/src/css/utilities.css +128 -0
  56. package/src/custom-media-default.css +16 -0
  57. package/src/custom-properties-default.css +273 -0
  58. package/src/index-template.css +49 -0
  59. package/src/js/alert-autoclose.js +9 -0
  60. package/src/js/create-blurhash-canvas.js +47 -0
  61. package/src/js/dialog-content.js +82 -0
  62. package/src/js/dismiss-alerts.js +6 -0
  63. package/src/js/forms.js +36 -0
  64. package/src/js/img-viewer-dom-builder.js +196 -0
  65. package/src/js/inner-nav.js +11 -0
  66. package/src/js/overlay.js +12 -0
  67. package/src/js/print-icon.js +51 -0
  68. package/src/js/spinner.js +30 -0
@@ -0,0 +1,187 @@
1
+ /* TODO dividere in più file secondo il tipo di button */
2
+
3
+ /*
4
+ outline brns: primary/secondary + fondo body bg o trasparente
5
+
6
+ */
7
+
8
+ button, [role='button'] {
9
+ cursor: pointer;
10
+ }
11
+
12
+ .btn-reset, .btn-link, .btn-close {
13
+ &, &.btn { /* nel caso venga anche assegnata la clase `btn`, non necessaria */
14
+ padding: 0;
15
+ margin: 0;
16
+ background: transparent;
17
+ border: none;
18
+ box-shadow: none;
19
+ }
20
+ }
21
+
22
+ a.btn {
23
+ &, &:hover, &:active, &:focus, &:visited {
24
+ color: var(--btn-fg-color);
25
+ text-decoration: none;
26
+ }
27
+ }
28
+
29
+ .btn {
30
+
31
+ display: inline-block;
32
+ padding: var(--form-btns-padding-y) var(--form-btns-padding-x);
33
+ font-size: var(--form-btns-font-size);
34
+ color: var(--btn-fg-color);
35
+ text-align: center;
36
+ text-decoration: none;
37
+ background: var(--btn-bg-color);
38
+ border: 1px solid var(--btn-border-color);
39
+ border-radius: var(--form-btns-border-radius);
40
+ box-shadow: none;
41
+
42
+ &[disabled] {
43
+ font-style: italic;
44
+ pointer-events: none;
45
+ cursor: not-allowed;
46
+ filter: grayscale(60%);
47
+ opacity: .6;
48
+ }
49
+
50
+ /* svg {
51
+ width: 2rem;
52
+ } */
53
+
54
+ &.btn-sm {
55
+ --form-btns-padding-x: var(--form-btns-sm-padding-x);
56
+ --form-btns-padding-y: var(--form-btns-sm-padding-y);
57
+ font-size: var(--form-btns-sm-font-size);
58
+
59
+ svg {
60
+ width: 1.5rem;
61
+ }
62
+ }
63
+
64
+ &.btn-lg {
65
+ --form-btns-padding-x: 1.5rem;
66
+ --form-btns-padding-y: .6rem;
67
+ font-size: var(--font-size-lg);
68
+
69
+ svg {
70
+ width: 1.5rem;
71
+ }
72
+ }
73
+
74
+
75
+ &.btn-primary {
76
+ --btn-bg-color: var(--btn-primary-bg-color);
77
+ --btn-fg-color: var(--btn-primary-fg-color);
78
+ --btn-border-color: var(--btn-primary-border-color);
79
+
80
+ @media (--mouse) {
81
+ &:hover {
82
+ --btn-bg-color: var(--btn-primary-hover-bg-color);
83
+ --btn-fg-color: var(--btn-primary-hover-fg-color);
84
+ --btn-border-color: var(--btn-primary-hover-border-color);
85
+ }
86
+ }
87
+
88
+ &:focus, &:active {
89
+ outline: var(--form-btns-outline-width) solid var(--btn-primary-focus-outline-color);
90
+ /* outline-offset: 4px; */
91
+ }
92
+
93
+ &:active {
94
+ --btn-bg-color: var(--btn-primary-active-bg-color);
95
+ --btn-fg-color: var(--btn-primary-active-fg-color);
96
+ --btn-border-color: var(--btn-primary-active-border-color);
97
+ }
98
+ }
99
+
100
+ &.btn-secondary {
101
+ --btn-bg-color: var(--btn-secondary-bg-color);
102
+ --btn-fg-color: var(--btn-secondary-fg-color);
103
+ --btn-border-color: var(--btn-secondary-border-color);
104
+
105
+ @media (--mouse) {
106
+ &:hover {
107
+ --btn-bg-color: var(--btn-secondary-hover-bg-color);
108
+ --btn-fg-color: var(--btn-secondary-hover-fg-color);
109
+ --btn-border-color: var(--btn-secondary-hover-border-color);
110
+ }
111
+ }
112
+
113
+ &:focus, &:active {
114
+ outline: var(--form-btns-outline-width) solid var(--btn-secondary-focus-outline-color);
115
+ /* outline-offset: 4px; */
116
+ }
117
+
118
+ &:active {
119
+ --btn-bg-color: var(--btn-secondary-active-bg-color);
120
+ --btn-fg-color: var(--btn-secondary-active-fg-color);
121
+ --btn-border-color: var(--btn-secondary-active-border-color);
122
+ }
123
+
124
+
125
+ }
126
+
127
+ &.btn-outline-primary {
128
+ --btn-bg-color: var(--btn-o-primary-bg-color);
129
+ --btn-fg-color: var(--btn-o-primary-fg-color);
130
+ --btn-border-color: var(--btn-o-primary-border-color);
131
+
132
+ @media (--mouse) {
133
+ &:hover {
134
+ --btn-bg-color: var(--btn-o-primary-hover-bg-color);
135
+ --btn-fg-color: var(--btn-o-primary-hover-fg-color);
136
+ --btn-border-color: var(--btn-o-primary-hover-border-color);
137
+ }
138
+ }
139
+
140
+ &:focus, &:active {
141
+ outline: var(--form-btns-outline-width) solid var(--btn-o-primary-focus-outline-color);
142
+ }
143
+
144
+ &:active {
145
+ --btn-bg-color: var(--btn-o-primary-active-bg-color);
146
+ --btn-fg-color: var(--btn-o-primary-active-fg-color);
147
+ --btn-border-color: var(--btn-o-primary-active-border-color);
148
+ }
149
+ }
150
+
151
+
152
+ &.btn-outline-secondary {
153
+ --btn-bg-color: var(--btn-o-secondary-bg-color);
154
+ --btn-fg-color: var(--btn-o-secondary-fg-color);
155
+ --btn-border-color: var(--btn-o-secondary-border-color);
156
+
157
+ @media (--mouse) {
158
+ &:hover {
159
+ --btn-bg-color: var(--btn-o-secondary-hover-bg-color);
160
+ --btn-fg-color: var(--btn-o-secondary-hover-fg-color);
161
+ --btn-border-color: var(--btn-o-secondary-hover-border-color);
162
+ }
163
+ }
164
+
165
+ &:focus, &:active {
166
+ outline: var(--form-btns-outline-width) solid var(--btn-o-secondary-focus-outline-color);
167
+ }
168
+
169
+ &:active {
170
+ --btn-bg-color: var(--btn-o-secondary-active-bg-color);
171
+ --btn-fg-color: var(--btn-o-secondary-active-fg-color);
172
+ --btn-border-color: var(--btn-o-secondary-active-border-color);
173
+ }
174
+ }
175
+
176
+ &.btn-icon {
177
+ display: inline-flex;
178
+ flex-flow: row nowrap;
179
+ gap: 1rem;
180
+ align-items: center;
181
+ justify-content: space-between;
182
+ padding-inline-start: calc(var(--form-btns-padding-x) * 1.5);
183
+ text-align: start;
184
+ }
185
+ }
186
+
187
+
@@ -0,0 +1,107 @@
1
+ .btn {
2
+
3
+ &.btn-success {
4
+ --bg: var(--status-success-color);
5
+ --fg: var(--status-success-fg-color);
6
+ --btn-bg-color: var(--bg);
7
+ --btn-fg-color: var(--fg);
8
+ --btn-border-color: var(--status-success-border-color);
9
+ }
10
+ &.btn-info {
11
+ --bg: var(--status-info-color);
12
+ --fg: var(--status-info-fg-color);
13
+ --btn-bg-color: var(--bg);
14
+ --btn-fg-color: var(--fg);
15
+ --btn-border-color: var(--status-info-border-color);
16
+ }
17
+ &.btn-danger, &.btn-error {
18
+ --bg: var(--status-danger-color);
19
+ --fg: var(--status-danger-fg-color);
20
+ --btn-bg-color: var(--bg);
21
+ --btn-fg-color: var(--fg);
22
+ --btn-border-color: var(--status-danger-border-color);
23
+ }
24
+
25
+
26
+ &.btn-warning {
27
+ --bg: var(--status-warning-color);
28
+ --fg: var(--status-warning-fg-color);
29
+ --btn-bg-color: var(--bg);
30
+ --btn-fg-color: var(--fg);
31
+ --btn-border-color: var(--status-warning-border-color);
32
+
33
+ @media (--mouse) {
34
+ &:hover {
35
+ --btn-bg-color: color-mix(in srgb, var(--bg) 60%, transparent);
36
+ --btn-fg-color: var(--fg);
37
+ --btn-border-color: var(--fg);
38
+ }
39
+ }
40
+
41
+ &:focus, &:active {
42
+ outline: var(--form-btns-outline-width) solid color-mix(in srgb, var(--bg) 60%, transparent);
43
+ }
44
+
45
+ &:active {
46
+ --btn-bg-color: color-mix(in srgb, var(--bg) 30%, transparent);
47
+ }
48
+ }
49
+
50
+
51
+ &.btn-success, &.btn-info, &.btn-danger {
52
+
53
+ @media (--mouse) {
54
+ &:hover {
55
+ --btn-bg-color: color-mix(in srgb, var(--bg) 30%, transparent);
56
+ --btn-fg-color: var(--bg);
57
+ --btn-border-color: var(--bg);
58
+ }
59
+ }
60
+
61
+ &:focus, &:active {
62
+ outline: var(--form-btns-outline-width) solid color-mix(in srgb, var(--bg) 40%, transparent);
63
+ }
64
+
65
+ &:active {
66
+ --btn-bg-color: color-mix(in srgb, var(--bg) 10%, transparent);
67
+ }
68
+ }
69
+
70
+ @media (prefers-color-scheme: dark) {
71
+
72
+
73
+ &.btn-success, &.btn-info, &.btn-danger {
74
+
75
+ @media (--mouse) {
76
+ &:hover {
77
+ --btn-bg-color: color-mix(in srgb, var(--bg) 60%, #fff);
78
+ --btn-fg-color: var(--bg);
79
+ --btn-border-color: color-mix(in srgb, var(--bg) 40%, #fff);
80
+ }
81
+ }
82
+ }
83
+
84
+ &.btn-warning {
85
+
86
+ @media (--mouse) {
87
+ &:hover {
88
+ --btn-bg-color: color-mix(in srgb, var(--bg) 60%, #fff);
89
+ --btn-fg-color: var(--fg);
90
+ --btn-border-color: var(--fg);
91
+ }
92
+ }
93
+ }
94
+
95
+ &.btn-success, &.btn-info, &.btn-danger, &.btn-warning {
96
+
97
+ &:focus, &:active {
98
+ outline: var(--form-btns-outline-width) solid color-mix(in srgb, var(--bg) 60%, transparent);
99
+ }
100
+
101
+ &:active {
102
+ --btn-bg-color: color-mix(in srgb, var(--bg) 30%, transparent);
103
+ --btn-fg-color: var(--text-color);
104
+ }
105
+ }
106
+ }
107
+ }
@@ -0,0 +1,15 @@
1
+
2
+
3
+ .container {
4
+
5
+ width: 100%;
6
+ max-width: var(--container-max-width);
7
+ padding-inline-start: var(--spacing-lg);
8
+ padding-inline-end: var(--spacing-lg);
9
+ margin-inline-start: auto;
10
+ margin-inline-end: auto;
11
+
12
+ /* @media (--xl-n-above) {} */
13
+ }
14
+
15
+
@@ -0,0 +1,30 @@
1
+
2
+ .data-lining-nums {
3
+ font-feature-settings: 'lnum', 'pnum';
4
+ font-variant-numeric: lining-nums proportional-nums;
5
+ }
6
+
7
+ .data-tabular-nums {
8
+ font-feature-settings: 'lnum', 'pnum';
9
+ font-variant-numeric: lining-nums tabular-nums;
10
+ }
11
+
12
+ .data-euro {
13
+ &::before {
14
+ margin-right: .2rem;
15
+ font-size: 70%;
16
+ color: currentColor;
17
+ content: '\20AC';
18
+ }
19
+ }
20
+ .data-perc {
21
+ &::after {
22
+ margin-left: .1rem;
23
+ font-size: 70%;
24
+ color: currentColor;
25
+ content: '%';
26
+ }
27
+ }
28
+ .data-dec {
29
+ font-size: 85%;
30
+ }
@@ -0,0 +1,19 @@
1
+ details {
2
+ ::marker {
3
+ font-size: .9em;
4
+ color: var(--stone-7);
5
+ }
6
+ }
7
+
8
+ summary {
9
+ font-size: var(--font-size-sm);
10
+ font-weight: var(--font-weight-bold);
11
+
12
+ }
13
+
14
+ .details-content {
15
+ ul {
16
+ padding: 0;
17
+ margin: 0;
18
+ }
19
+ }
@@ -0,0 +1,72 @@
1
+ .content-dialog {
2
+ display: none;
3
+ width: 90dvw;
4
+ max-width: 900px;
5
+ height: 90dvh;
6
+ padding: 1rem;
7
+ margin: auto;
8
+ background-color: var(--body-bg);
9
+ border: none;
10
+ border-radius: var(--radius-lg);
11
+ box-shadow: var(--shadow-4);
12
+ transform: translateY(-200vh);
13
+ animation: dialog-in .3s ease-out;
14
+
15
+
16
+ &[open] {
17
+ display: block;
18
+ transform: none;
19
+ }
20
+
21
+ &::backdrop {
22
+ overscroll-behavior: contain;
23
+ background-color: color-mix(in srgb, #000 40%, transparent);
24
+ }
25
+ }
26
+
27
+ .content-dialog-close {
28
+ position: sticky;
29
+ top: 0;
30
+ z-index: 1;
31
+ align-self: flex-end;
32
+
33
+ button {
34
+ top: -.5rem;
35
+ right: -.5rem;
36
+ width: 2rem;
37
+ aspect-ratio: 1;
38
+ padding: 4px;
39
+ background-color: var(--body-bg);
40
+ border: 1px solid var(--gray-4);
41
+ border-radius: 50%;
42
+ box-shadow: var(--shadow-3);
43
+
44
+ @media (hover: hover) { /* @media (any-hover: hover) { */
45
+ &:hover {
46
+ background-color: color-mix(in srgb, var(--text-color) 10%, transparent);
47
+ }
48
+ }
49
+
50
+ }
51
+
52
+ svg {
53
+ width: 1.5rem;
54
+ aspect-ratio: 1;
55
+ }
56
+ }
57
+
58
+ .content-dialog-inner {
59
+ position: relative;
60
+ z-index: 0;
61
+ display: flex;
62
+ flex-flow: column nowrap;
63
+ gap: .4rem;
64
+ align-items: stretch;
65
+ justify-content: flex-start;
66
+ isolation: isolate;
67
+ }
68
+ .content-dialog-body {
69
+ position: relative;
70
+ flex: 1;
71
+ overflow: auto;
72
+ }
@@ -0,0 +1,30 @@
1
+ .flex {
2
+ display: flex;
3
+ flex-flow: row wrap;
4
+ gap: var(--flex-grid-gap);
5
+ align-content: flex-start;
6
+ align-items: flex-start;
7
+ justify-content: flex-start;
8
+
9
+ &.align-items-center {
10
+ align-items: center;
11
+ }
12
+
13
+ &.gap-2 {
14
+ gap: calc(var(--flex-grid-gap) * 2);
15
+ }
16
+ &.column-gap-2 {
17
+ column-gap: calc(var(--flex-grid-gap) * 2);
18
+ }
19
+
20
+ &.justify-content-space-between {
21
+ justify-content: space-between;
22
+ }
23
+ &.justify-content-flex-end {
24
+ justify-content: flex-end;
25
+ }
26
+ &.justify-content-center {
27
+ justify-content: center;
28
+ }
29
+
30
+ }
@@ -0,0 +1,17 @@
1
+ /*
2
+ <div class="form-edit-info" title="Ultima modifica effettuata da Gino Bianchi il xxxx">
3
+ <span>13 Aug 2025 <small>11:54</small></span>
4
+ <span>Gino Bianchi</span>
5
+ </div>
6
+ */
7
+
8
+ .form-edit-info {
9
+ display: flex;
10
+ flex-flow: row wrap;
11
+ gap: .5rem;
12
+ /* align-content: flex-start; */ /* multiline container */
13
+ align-items: center;
14
+ justify-content: flex-end;
15
+ font-size: var(--font-size-xxs);
16
+ color: var(--text-muted-color);
17
+ }