@massimo-cassandro/minimo 0.1.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 (70) hide show
  1. package/README.md +5 -0
  2. package/package.json +27 -0
  3. package/src/TODO custom-properties.scss +230 -0
  4. package/src/components/auto-datatable/auto-datatable.css +355 -0
  5. package/src/components/auto-datatable/auto-datatable.js +154 -0
  6. package/src/components/init.js +7 -0
  7. package/src/components/modal-alert/flash-alerts.js +32 -0
  8. package/src/components/modal-alert/modal-alert.css +47 -0
  9. package/src/components/modal-alert/modal-alert.js +85 -0
  10. package/src/components/modal-alert/svg/check-circle-duotone.svg +1 -0
  11. package/src/components/modal-alert/svg/info-duotone.svg +1 -0
  12. package/src/components/modal-alert/svg/question-duotone.svg +1 -0
  13. package/src/components/modal-alert/svg/warning-duotone.svg +1 -0
  14. package/src/components/modal-alert/svg/x-circle-duotone.svg +1 -0
  15. package/src/components/modal-content/modal-content.js +152 -0
  16. package/src/components/modal-content/modal-content.module.css +142 -0
  17. package/src/components/recaptcha/recaptcha.css +74 -0
  18. package/src/components/sf-macro/sf-macro.css +104 -0
  19. package/src/components/sf-macro/sf-macro.js +44 -0
  20. package/src/components/vanilla-cookie-consent/cookie-consent.css +20 -0
  21. package/src/components/vanilla-cookie-consent/cookie-consent.js +76 -0
  22. package/src/components/vanilla-cookie-consent/render-cookie-list.js +32 -0
  23. package/src/components/vanilla-cookie-consent/src/cookie-list.js +85 -0
  24. package/src/components/vanilla-cookie-consent/src/it-translation.js +38 -0
  25. package/src/components/vanilla-cookie-consent/src/run-analytics.js +54 -0
  26. package/src/components/vanilla-cookie-consent/src/run-recaptcha.js +71 -0
  27. package/src/css/alerts.css +95 -0
  28. package/src/css/anchors.css +40 -0
  29. package/src/css/buttons/btn-close.css +41 -0
  30. package/src/css/buttons/buttons.css +187 -0
  31. package/src/css/buttons/status-buttons.css +107 -0
  32. package/src/css/container.css +15 -0
  33. package/src/css/data-formats.css +30 -0
  34. package/src/css/details.css +19 -0
  35. package/src/css/dialog-content.css +72 -0
  36. package/src/css/flex.css +30 -0
  37. package/src/css/forms/form-edit-info.css +17 -0
  38. package/src/css/forms/forms.css +315 -0
  39. package/src/css/forms/select-indicator.svg +3 -0
  40. package/src/css/grid.css +63 -0
  41. package/src/css/headings.css +34 -0
  42. package/src/css/icons.css +114 -0
  43. package/src/css/inner-nav.css +11 -0
  44. package/src/css/layout-base.css +11 -0
  45. package/src/css/overlay.css +11 -0
  46. package/src/css/reset.css +59 -0
  47. package/src/css/spinners/TODO spinner-circle.css +54 -0
  48. package/src/css/spinners/TODO spinner-three-dots.css +14 -0
  49. package/src/css/spinners/readme.md +1 -0
  50. package/src/css/spinners/spinner-circle-basic.css +15 -0
  51. package/src/css/spinners/spinner-trailing-dots.css +51 -0
  52. package/src/css/spinners/spinner-wrapper.css +20 -0
  53. package/src/css/svg.css +3 -0
  54. package/src/css/table.css +66 -0
  55. package/src/css/text.css +114 -0
  56. package/src/css/utilities.css +128 -0
  57. package/src/custom-media-default.css +16 -0
  58. package/src/custom-properties-default.css +273 -0
  59. package/src/index.css +49 -0
  60. package/src/index.js +0 -0
  61. package/src/js/alert-autoclose.js +9 -0
  62. package/src/js/create-blurhash-canvas.js +47 -0
  63. package/src/js/dialog-content.js +82 -0
  64. package/src/js/dismiss-alerts.js +6 -0
  65. package/src/js/forms.js +36 -0
  66. package/src/js/img-viewer-dom-builder.js +196 -0
  67. package/src/js/inner-nav.js +11 -0
  68. package/src/js/overlay.js +12 -0
  69. package/src/js/print-icon.js +51 -0
  70. package/src/js/spinner.js +30 -0
package/README.md ADDED
@@ -0,0 +1,5 @@
1
+ # minimo
2
+
3
+ Very light-size framework
4
+
5
+ ...and some [snippets](snippets/snippets.md)
package/package.json ADDED
@@ -0,0 +1,27 @@
1
+ {
2
+ "name": "@massimo-cassandro/minimo",
3
+ "version": "0.1.0",
4
+ "description": "Light css framework",
5
+ "homepage": "https://github.com/massimo-cassandro/minimo#readme",
6
+ "bugs": {
7
+ "url": "https://github.com/massimo-cassandro/minimo/issues"
8
+ },
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git+https://github.com/massimo-cassandro/minimo.git"
12
+ },
13
+ "license": "MIT",
14
+ "author": "Massimo Cassandro",
15
+ "publishConfig": {
16
+ "access": "public"
17
+ },
18
+ "type": "module",
19
+ "style": "./src/index.css",
20
+ "main": "./src/index.js",
21
+ "files": [
22
+ "./src/**/*.*"
23
+ ],
24
+ "devDependencies": {
25
+ "@massimo-cassandro/dev-updater": "^2.1.0"
26
+ }
27
+ }
@@ -0,0 +1,230 @@
1
+ /* stylelint-disable function-no-unknown */
2
+ @use 'sass:math';
3
+ @use 'sass:map';
4
+
5
+
6
+ $media-breakpoints: (
7
+ mobile: 400px,
8
+ desktop: 1000px,
9
+ // ...other values can go in here
10
+ );
11
+
12
+
13
+ @function rnd($number, $places: 2) {
14
+ $n: 1;
15
+ @if $places > 0 {
16
+ @for $i from 1 through $places {
17
+ $n: $n * 10;
18
+ }
19
+ }
20
+ @return math.div(math.round($number * $n), $n);
21
+ }
22
+
23
+ @function to-rems($px) {
24
+ $rems: math.div($px, 16px) * 1rem;
25
+ @return $rems;
26
+ }
27
+
28
+ @function clamped($min-px, $max-px, $min-bp: $default-min-bp, $max-bp: $default-max-bp) {
29
+ $slope: math.div($max-px - $min-px, $max-bp - $min-bp);
30
+ $slope-vw: rnd($slope * 100, 2);
31
+ $intercept-rems: rnd(to-rems($min-px - $slope * $min-bp), 2);
32
+ $min-rems: rnd(to-rems($min-px), 2);
33
+ $max-rems: rnd(to-rems($max-px), 2);
34
+ @return clamp(#{$min-rems}, #{$slope-vw}vw + #{$intercept-rems}, #{$max-rems});
35
+ }
36
+
37
+
38
+ :root {
39
+ color-scheme: light dark;
40
+
41
+ --container-max-width: 90rem;
42
+ --font-family: 'Merriweather Sans Variable', sans-serif;
43
+ --font-family-mono: 'Monaspace Neon Var', 'Monaspace Neon', 'Aptos Mono', 'Roboto Mono', 'SFMono-Regular', 'Menlo', 'Monaco', 'Consolas', 'Liberation Mono', 'Andale Mono', 'Courier New', monospace;
44
+ --font-family-redacted: 'Redacted Script', system-ui;
45
+
46
+ /* figma */
47
+ --body-bg-color: var(--stone-2);
48
+ --text-color: #000;
49
+ --box-bg-color: var(--stone-0);
50
+ --box-2-bg-color: var(--sand-1);
51
+ --box-3-bg-color: var(--sand-2);
52
+ --box-2-text-color: var(--body-text);
53
+ --footer-bg-color: #282c35;
54
+ --footer-fg-color: #fff;
55
+ --footer-link: var(--yellow-5);
56
+ --link-color: var(--primary);
57
+ --primary: #203c6e;
58
+ --secondary: #a3384e;
59
+ --secondary-fg: var(--box-bg-color);
60
+ /* end figma */
61
+
62
+ --text-muted-color: var(--stone-7);
63
+ --link-visited-color: var(--camo-9);
64
+
65
+
66
+ --font-weight-light: 300;
67
+ --font-weight-regular: 400;
68
+ --font-weight-semibold: 600;
69
+ --font-weight-bold: 700;
70
+ --font-weight-extra-bold: 800;
71
+
72
+ --flex-grid-gap: 1.5rem;
73
+
74
+ --font-size-base: 1rem;
75
+ --font-size-base: clamp(.9em, 9vw, 1em);
76
+ --font-size-xxs: .7em;
77
+ --font-size-xxs: clamp(.7em, 1.5vw, .8em);
78
+ --font-size-xs: .8em;
79
+ --font-size-xs: clamp(.85em, 10vw, .95em);
80
+ --font-size-sm: .9em;
81
+ --font-size-md: 1.2rem;
82
+ /*
83
+ https://clamp.font-size.app/?config=eyJyb290IjoiMTYiLCJtaW5XaWR0aCI6IjY0cmVtIiwibWF4V2lkdGgiOiI5MHJlbSIsIm1pbkZvbnRTaXplIjoiMS4wNXJlbSIsIm1heEZvbnRTaXplIjoiMS4zcmVtIn0%3D
84
+ */
85
+ --font-size-md-lg-fluid: clamp(1.05rem, 0.4346rem + 0.9615vw, 1.3rem);
86
+
87
+ /*
88
+ https://clamp.font-size.app/?config=eyJyb290IjoiMTYiLCJtaW5XaWR0aCI6IjY0cmVtIiwibWF4V2lkdGgiOiI5MHJlbSIsIm1pbkZvbnRTaXplIjoiMS4wMnJlbSIsIm1heEZvbnRTaXplIjoiMS4ycmVtIn0%3D
89
+ */
90
+ --font-size-lg: clamp(1.02rem, 0.5769rem + 0.6923vw, 1.2rem);
91
+ --font-size-lg: 1.8em;
92
+ --font-size-xl: 2.5em;
93
+ --font-size-2xl: 3em;
94
+
95
+ --line-height-base: 1.5;
96
+ --headings-text-align: start;
97
+
98
+
99
+ --form-text-color: var(--cyan-12);
100
+ --form-bg-color: var(--gray-0);
101
+ --form-input-group-bg-color: var(--gray-1);
102
+ --form-border-color: var(--gray-6);
103
+ --form-disabled-bg-color: var(--gray-2);
104
+ --form-placeholder-color: var(--sand-6);
105
+ --form-required-flag-color: var(--red-8);
106
+ --form-required-flag-content: '\002A';
107
+ --form-fieldset-border-width: 1px;
108
+ --form-legend-bg-color: var(--stone-3);
109
+ --form-legend-color: #333; /* var(--text-color); */
110
+
111
+ --form-btns-border-radius: var(--radius-sm);
112
+ --form-btns-padding-y: var(--spacing-xxs);
113
+ --form-btns-padding-x: var(--spacing-xs);
114
+ --form-btns-font-size: clamp(.85rem, 6vw, 1rem);
115
+ --form-btns-sm-font-size: clamp(.75rem, 6vw, .9rem);
116
+ --form-btns-sm-padding-x: .8rem;
117
+ --form-btns-sm-padding-y: .1rem;
118
+ --form-btns-focus-color: hsl(205 69% 45% / .508);
119
+ --form-btns-outline-width: 3px;
120
+
121
+ --btn-primary-bg-color: linear-gradient(45deg, var(--green-9), var(--green-10));
122
+ --btn-primary-fg-color: var(--gray-0);
123
+ --btn-primary-border-color: var(--green-10);
124
+ --btn-primary-hover-bg-color: var(--green-11);
125
+ --btn-primary-hover-fg-color: var(--btn-primary-fg-color);
126
+ --btn-primary-hover-border-color: var(--btn-primary-border-color);
127
+ --btn-primary-active-bg-color: var(--green-12);
128
+ --btn-primary-active-fg-color: var(--btn-primary-fg-color);
129
+ --btn-primary-active-border-color: var(--btn-primary-active-bg-color);
130
+ --btn-primary-focus-outline-color: color-mix(in srgb, var(--btn-primary-border-color) 25%, transparent);
131
+
132
+ --btn-secondary-bg-color: var(--stone-4);
133
+ --btn-secondary-fg-color: var(--stone-9);
134
+ --btn-secondary-border-color: var(--stone-6);
135
+ --btn-secondary-hover-bg-color: var(--stone-5);
136
+ --btn-secondary-hover-fg-color: var(--stone-11);
137
+ --btn-secondary-hover-border-color: var(--btn-secondary-border-color);
138
+ --btn-secondary-active-bg-color: var(--stone-11);
139
+ --btn-secondary-active-fg-color: var(--stone-0);
140
+ --btn-secondary-active-border-color: var(--btn-secondary-active-bg-color);
141
+ --btn-secondary-focus-outline-color: color-mix(in srgb, var(--btn-secondary-border-color) 50%, transparent);
142
+
143
+ /* --btn-o-primary-bg-color: var(--primary-150);
144
+ --btn-o-primary-fg-color: var(--primary-10);
145
+ --btn-o-primary-border-color: var(--btn-bg-color);
146
+ --btn-o-primary-hover-bg-color: var(--primary-10);
147
+ --btn-o-primary-hover-fg-color: var(--primary-150);
148
+ --btn-o-primary-hover-border-color: var(--btn-fg-color);
149
+ --btn-o-primary-active-bg-color: var(--primary-150);
150
+ --btn-o-primary-active-fg-color: var(--primary-10);
151
+ --btn-o-primary-active-border-color: var(--btn-bg-color);
152
+ --btn-o-primary-focus-outline-color: var(--btn-bg-color); */
153
+
154
+ --btn-o-secondary-bg-color: color-mix(in srgb, var(--secondary) 5%, transparent);
155
+ --btn-o-secondary-fg-color: var(--secondary);
156
+ --btn-o-secondary-border-color: var(--secondary);
157
+ --btn-o-secondary-hover-bg-color: color-mix(in srgb, var(--secondary) 15%, #fff);
158
+ --btn-o-secondary-hover-fg-color: var(--secondary);
159
+ --btn-o-secondary-hover-border-color: var(--btn-o-secondary-border-color);
160
+ --btn-o-secondary-active-bg-color: var(--secondary);
161
+ --btn-o-secondary-active-fg-color: var(--secondary-fg);
162
+ --btn-o-secondary-active-border-color: var(--btn-o-secondary-border-color);
163
+ --btn-o-secondary-focus-outline-color: color-mix(in srgb, var(--secondary) 50%, #fff);
164
+
165
+ --spacing-xxs: .25rem;
166
+ --spacing-xs: .5rem;
167
+ --spacing-sm: .75rem;
168
+ --spacing-base: 1rem;
169
+ --spacing-md: 1.2rem;
170
+ --spacing-lg: 1.5rem;
171
+ --spacing-xl: 2rem;
172
+ --spacing-2xl: 3rem;
173
+ --spacing-3xl: 4rem;
174
+
175
+ --radius-xxs: var(--spacing-xxs);
176
+ --radius-xs: var(--spacing-xs);
177
+ --radius-base: var(--spacing-base);
178
+ --radius-md: var(--spacing-md);
179
+ --radius-pill: 999rem;
180
+
181
+ --body-v-padding: var(--spacing-base);
182
+ --content-box-margin-top: var(--spacing-lg);
183
+ --box-shadow-base: 0 0 1.2rem #00000040;
184
+ --box-radius: var(--radius-md);
185
+ --logo-filter: brightness(0) invert(84%) sepia(4%) saturate(436%) hue-rotate(12deg) brightness(93%) contrast(87%);
186
+ }
187
+
188
+ @media (prefers-color-scheme: dark) {
189
+ :root {
190
+ color-scheme: dark;
191
+
192
+ /* figma */
193
+ --text-color: #fff;
194
+ --body-bg-color: var(--stone-11);
195
+ --box-bg-color: var(--stone-9);
196
+ --box-2-bg-color: var(--stone-10);
197
+ --box-2-text-color: #fff;
198
+ --link-color: var(--yellow-5);
199
+ --primary: #426095;
200
+ --secondary: var(--yellow-10);
201
+ --secondary-fg: #fff;
202
+ /* end figma */
203
+
204
+
205
+ --text-muted-color: var(--stone-5);
206
+ --link-visited-color: var(--sand-3);
207
+
208
+ --btn-primary-bg-color: linear-gradient(45deg, var(--green-9), var(--green-10));
209
+ --btn-primary-fg-color: var(--gray-0);
210
+ --btn-primary-border-color: var(--green-10);
211
+ --btn-primary-hover-bg-color: var(--green-11);
212
+ --btn-primary-hover-fg-color: var(--btn-primary-fg-color);
213
+ --btn-primary-hover-border-color: var(--btn-primary-border-color);
214
+ --btn-primary-active-bg-color: var(--green-12);
215
+ --btn-primary-active-fg-color: var(--btn-primary-fg-color);
216
+ --btn-primary-active-border-color: var(--btn-primary-active-bg-color);
217
+ --btn-primary-focus-outline-color: color-mix(in srgb, var(--btn-primary-border-color) 25%, transparent);
218
+
219
+ --btn-secondary-bg-color: var(--stone-4);
220
+ --btn-secondary-fg-color: var(--stone-9);
221
+ --btn-secondary-border-color: var(--stone-6);
222
+ --btn-secondary-hover-bg-color: var(--stone-5);
223
+ --btn-secondary-hover-fg-color: var(--stone-11);
224
+ --btn-secondary-hover-border-color: var(--btn-secondary-border-color);
225
+ --btn-secondary-active-bg-color: var(--stone-11);
226
+ --btn-secondary-active-fg-color: var(--stone-0);
227
+ --btn-secondary-active-border-color: var(--btn-secondary-active-bg-color);
228
+ --btn-secondary-focus-outline-color: color-mix(in srgb, var(--btn-secondary-border-color) 50%, transparent);
229
+ }
230
+ }
@@ -0,0 +1,355 @@
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
+ }