mypgs 2.1.0 → 3.0.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 (135) hide show
  1. package/.vscode/tasks.json +39 -0
  2. package/AGENTS.md +22 -21
  3. package/README.md +2 -2
  4. package/assets/javascript/components/_menu.js +2 -1
  5. package/assets/javascript/components/_modals.js +1 -1
  6. package/assets/javascript/components/_notifications.js +2 -1
  7. package/assets/javascript/components/_slides.js +2 -2
  8. package/assets/scss/base/_body.scss +5 -5
  9. package/assets/scss/base/_general.scss +27 -18
  10. package/assets/scss/base/_variables.scss +1 -1
  11. package/assets/scss/components/_accordion.scss +9 -7
  12. package/assets/scss/components/_alerts.scss +71 -0
  13. package/assets/scss/components/_badges.scss +40 -48
  14. package/assets/scss/components/_button.scss +27 -19
  15. package/assets/scss/components/_card.scss +9 -4
  16. package/assets/scss/components/_formAddon.scss +5 -1
  17. package/assets/scss/components/_logo.scss +3 -4
  18. package/assets/scss/components/_menu.scss +26 -3
  19. package/assets/scss/components/_modals.scss +2 -2
  20. package/assets/scss/components/_stepTabs.scss +2 -1
  21. package/assets/scss/index.scss +2 -3
  22. package/assets/scss/layout/_header.scss +3 -3
  23. package/assets/scss/layout/_responsive.scss +63 -0
  24. package/assets/scss/mixin/_mx-base.scss +4 -8
  25. package/assets/scss/mixin/_mx-button.scss +74 -70
  26. package/assets/scss/mixin/_mx-card.scss +33 -36
  27. package/assets/scss/mixin/_mx-form.scss +10 -5
  28. package/assets/scss/mixin/_mx-formAddon.scss +100 -58
  29. package/assets/scss/mixin/_mx-hover.scss +21 -15
  30. package/assets/scss/mixin/_mx-responsive.scss +81 -201
  31. package/demo/demo.css +9 -6
  32. package/demo/demo.html +7 -5
  33. package/demo/demo.js +34 -32
  34. package/dist/css/index.css +2502 -3507
  35. package/dist/css/index.css.map +1 -1
  36. package/dist/css/index.min.css +1 -1
  37. package/dist/javascript/index.js +7 -5
  38. package/dist/javascript/index.js.map +1 -1
  39. package/dist/javascript/index.min.js +1 -1
  40. package/docs/componenti-e-markup.md +5 -5
  41. package/docs/components/accordion.md +3 -3
  42. package/docs/components/alerts.md +67 -0
  43. package/docs/components/badges.md +11 -8
  44. package/docs/components/breadcumbs.md +1 -1
  45. package/docs/components/button.md +9 -9
  46. package/docs/components/card.md +9 -6
  47. package/docs/components/dropdown.md +1 -1
  48. package/docs/components/form.md +6 -5
  49. package/docs/components/formAddon.md +56 -19
  50. package/docs/components/logo.md +1 -1
  51. package/docs/components/menu.md +2 -2
  52. package/docs/components/modal.md +7 -6
  53. package/docs/components/notification.md +2 -2
  54. package/docs/components/search.md +8 -7
  55. package/docs/components/slides.md +5 -6
  56. package/docs/components/stepTabs.md +7 -7
  57. package/docs/components/steps.md +1 -1
  58. package/docs/components/summary.md +1 -1
  59. package/docs/components/table.md +1 -1
  60. package/docs/components/tooltip.md +4 -3
  61. package/docs/convenzioni.md +1 -1
  62. package/docs/export-e-sviluppo.md +1 -1
  63. package/docs/helper-javascript.md +1 -1
  64. package/docs/layout/body.md +1 -1
  65. package/docs/layout/footer.md +7 -3
  66. package/docs/layout/header.md +5 -4
  67. package/docs/layout/pageShell.md +11 -11
  68. package/docs/layout/responsive.md +90 -0
  69. package/docs/layout/section.md +16 -16
  70. package/docs/patterns/cookieConsent.md +6 -3
  71. package/docs/utilizzo-css-scss.md +26 -2
  72. package/package.json +1 -1
  73. package/{templates → reference}/html/components/accordion.html +2 -2
  74. package/reference/html/components/alerts.html +59 -0
  75. package/{templates → reference}/html/components/badges.html +9 -7
  76. package/{templates → reference}/html/components/button.html +7 -7
  77. package/{templates → reference}/html/components/card.html +7 -5
  78. package/{templates → reference}/html/components/form.html +5 -4
  79. package/reference/html/components/formAddon.html +109 -0
  80. package/{templates → reference}/html/components/menu.html +2 -2
  81. package/{templates → reference}/html/components/modal.html +6 -5
  82. package/{templates → reference}/html/components/notification.html +2 -2
  83. package/{templates → reference}/html/components/search.html +7 -6
  84. package/{templates → reference}/html/components/slides.html +4 -5
  85. package/{templates → reference}/html/components/stepTabs.html +6 -6
  86. package/{templates → reference}/html/components/tooltip.html +3 -2
  87. package/{templates → reference}/html/layout/footer.html +5 -2
  88. package/{templates → reference}/html/layout/header.html +4 -3
  89. package/{templates → reference}/html/layout/pageShell.html +10 -10
  90. package/reference/html/layout/responsive.html +83 -0
  91. package/{templates → reference}/html/layout/section.html +15 -15
  92. package/{templates → reference}/html/patterns/cookieConsent.html +4 -2
  93. package/{templates → reference}/react/components/accordion.jsx +1 -1
  94. package/reference/react/components/alerts.jsx +46 -0
  95. package/{templates → reference}/react/components/button.jsx +4 -4
  96. package/{templates → reference}/react/components/card.jsx +2 -2
  97. package/{templates → reference}/react/components/form.jsx +1 -1
  98. package/{templates → reference}/react/components/modal.jsx +2 -2
  99. package/{templates → reference}/react/components/search.jsx +4 -4
  100. package/{templates → reference}/react/components/slides.jsx +1 -1
  101. package/{templates → reference}/react/components/stepTabs.jsx +4 -4
  102. package/{templates → reference}/react/components/tooltip.jsx +1 -1
  103. package/{templates → reference}/react/layout/pageShell.jsx +2 -2
  104. package/reference/react/layout/responsive.jsx +61 -0
  105. package/{templates → reference}/react/layout/section.jsx +12 -12
  106. package/{templates → reference}/react/patterns/cookieConsent.jsx +1 -1
  107. package/{templates → reference}/react/patterns/footer.jsx +1 -1
  108. package/{templates → reference}/react/patterns/header.jsx +2 -2
  109. package/scripts/generate-component-docs.js +8 -8
  110. package/assets/scss/layout/_flex.scss +0 -49
  111. package/assets/scss/layout/_gap.scss +0 -21
  112. package/assets/scss/layout/_grid.scss +0 -13
  113. package/docs/layout/flex.md +0 -116
  114. package/docs/layout/grid.md +0 -116
  115. package/templates/html/components/formAddon.html +0 -72
  116. package/templates/html/layout/flex.html +0 -109
  117. package/templates/html/layout/grid.html +0 -109
  118. package/templates/react/layout/flex.jsx +0 -36
  119. package/templates/react/layout/grid.jsx +0 -36
  120. /package/{templates → reference}/html/components/breadcumbs.html +0 -0
  121. /package/{templates → reference}/html/components/dropdown.html +0 -0
  122. /package/{templates → reference}/html/components/logo.html +0 -0
  123. /package/{templates → reference}/html/components/steps.html +0 -0
  124. /package/{templates → reference}/html/components/summary.html +0 -0
  125. /package/{templates → reference}/html/components/table.html +0 -0
  126. /package/{templates → reference}/html/layout/body.html +0 -0
  127. /package/{templates → reference}/react/components/breadcumbs.jsx +0 -0
  128. /package/{templates → reference}/react/components/dropdown.jsx +0 -0
  129. /package/{templates → reference}/react/components/logo.jsx +0 -0
  130. /package/{templates → reference}/react/components/menu.jsx +0 -0
  131. /package/{templates → reference}/react/components/notification.jsx +0 -0
  132. /package/{templates → reference}/react/components/steps.jsx +0 -0
  133. /package/{templates → reference}/react/components/summary.jsx +0 -0
  134. /package/{templates → reference}/react/components/table.jsx +0 -0
  135. /package/{templates → reference}/react/layout/body.jsx +0 -0
@@ -2,6 +2,16 @@
2
2
 
3
3
  //# MENU
4
4
  [pgs~=menu] {
5
+ // Menu colours inherit the button theme by default. A consumer can set the
6
+ // --menu-* variables on this element to theme menus independently.
7
+ --menu-color: var(--color-black);
8
+ --menu-background: var(--color-box);
9
+ --menu-color-current: var(--color-whiteFixed);
10
+ --menu-background-current: var(--color-primary);
11
+ --menu-color-strong: var(--color-whiteFixed);
12
+ --menu-background-strong: var(--color-primary);
13
+ --menu-border: var(--border-complete);
14
+
5
15
  ul {
6
16
  display: flex;
7
17
  font-weight: 600;
@@ -15,12 +25,25 @@
15
25
  >a {
16
26
  flex-grow: 1;
17
27
  min-width: fit-content;
18
- @include button();
28
+ @include buttonBase();
29
+ @include buttonHover();
30
+ @include buttonContent();
31
+ --button-color: var(--menu-color);
32
+ --button-color-strong: var(--menu-color-strong);
33
+ --button-color-current: var(--menu-color-current);
34
+ --button-background: var(--menu-background);
35
+ --button-background-strong: var(--menu-background-strong);
36
+ --button-background-current: var(--menu-background-current);
37
+ --button-border: var(--menu-border);
19
38
 
20
39
  >span {
21
- line-height: 1.6;
40
+ line-height: 1;
22
41
  flex-grow: 1;
23
42
  }
43
+
44
+ &:hover {
45
+ z-index: -1;
46
+ }
24
47
  }
25
48
 
26
49
  li {
@@ -56,7 +79,7 @@
56
79
  translate: -15px;
57
80
 
58
81
  &[aria-expanded="true"] {
59
- --button-background: var(--color-primary);
82
+ --button-background: var(--menu-background-current);
60
83
 
61
84
  span {
62
85
  rotate: 180deg;
@@ -21,7 +21,7 @@ dialog[pgs~="modal-dialog"] {
21
21
  --modal-background: var(--color-box);
22
22
  --modal-color: var(--color-black);
23
23
  --modal-padding: var(--padding);
24
- --modal-borderRadius: var(--border-radius);
24
+ --modal-borderRadius: calc(var(--border-radius-input) + var(--modal-padding));
25
25
  border: none;
26
26
  min-width: 100%;
27
27
  min-height: 100svh;
@@ -138,7 +138,7 @@ dialog[pgs~="modal-dialog"] {
138
138
  height: 100svh;
139
139
  top: 0;
140
140
  overflow-y: auto;
141
- padding-top: calc(var(--heightOfHeader) + var(--padding));
141
+ padding-top: calc(var(--heightOfHeader) + var(--gap-texts));
142
142
  z-index: 90;
143
143
  position: fixed;
144
144
  inset: 0;
@@ -36,7 +36,8 @@
36
36
  }
37
37
 
38
38
  [pgs~=stepTabs-dots-dot] {
39
- @include button(false, true);
39
+ @include buttonBase();
40
+ @include buttonIcon();
40
41
  border-radius: 50%;
41
42
  --fa-size: 1.8rem;
42
43
 
@@ -22,10 +22,8 @@
22
22
  */
23
23
  [pgs~=initP] {
24
24
  @include meta.load-css("layout/layout");
25
- @include meta.load-css("layout/flex");
26
- @include meta.load-css("layout/grid");
25
+ @include meta.load-css("layout/responsive");
27
26
  @include meta.load-css("layout/pageShell");
28
- @include meta.load-css("layout/gap");
29
27
  @include meta.load-css("layout/header");
30
28
  @include meta.load-css("layout/footer");
31
29
  }
@@ -51,6 +49,7 @@
51
49
  @include meta.load-css("components/stepTabs");
52
50
  @include meta.load-css("components/summary");
53
51
  @include meta.load-css("components/badges");
52
+ @include meta.load-css("components/alerts");
54
53
  @include meta.load-css("components/notification");
55
54
  @include meta.load-css("components/tooltip");
56
55
  @include meta.load-css("components/search");
@@ -37,8 +37,7 @@
37
37
  display: contents;
38
38
  }
39
39
 
40
- [pgs~=button],
41
- [pgs~=buttonIcon] {
40
+ [pgs~=button] {
42
41
  @include button_header();
43
42
  }
44
43
 
@@ -114,6 +113,7 @@
114
113
  // padding: 2rem;
115
114
  padding-top: var(--heightOfHeader);
116
115
  padding-inline: 5px;
116
+ --modal-padding: 10px;
117
117
  --modal-background: color-mix(in srgb, var(--color-primary-soft) 50%, var(--color-white) 50%);
118
118
 
119
119
  [pgs~="modal-dialog-content"] {
@@ -162,4 +162,4 @@
162
162
  padding-inline: var(--header-padding-block);
163
163
  }
164
164
  }
165
- }
165
+ }
@@ -0,0 +1,63 @@
1
+ @use "../mixin/mixin" as *;
2
+
3
+ //# RESPONSIVE
4
+ //= FLEX
5
+ //== FLEX COLUMN
6
+ [pgs~=flexColumn] {
7
+ @include flexColumn();
8
+ }
9
+
10
+ //== FLEX ROW
11
+ [pgs~=flexRow] {
12
+ @include flexRow();
13
+ }
14
+
15
+ //== COLUMN
16
+ [pgs~=flexColumn],
17
+ [pgs~=flexRow] {
18
+
19
+ @for $i from 1 through 8 {
20
+ &[pgs-option~=column-#{$i}] {
21
+ width: 100%;
22
+ flex-wrap: wrap;
23
+ flex-direction: row;
24
+ @include columnFlex($i);
25
+ }
26
+ }
27
+ }
28
+
29
+ //= GRID
30
+ //== COLUMN
31
+ [pgs~=grid] {
32
+ display: grid;
33
+ gap: var(--gap-elements);
34
+ width: 100%;
35
+
36
+ @for $i from 1 through 8 {
37
+ &[pgs-option~=column-#{$i}] {
38
+ @include columnGrid($i);
39
+ }
40
+ }
41
+ }
42
+
43
+ //= GAP
44
+ [pgs~=gapTexts] {
45
+ gap: var(--gap-texts);
46
+ }
47
+
48
+ [pgs~=gapElements] {
49
+ gap: var(--gap-elements);
50
+ }
51
+
52
+ [pgs~=gapSections] {
53
+ gap: var(--gap-sections);
54
+ }
55
+
56
+ //= WRAP
57
+ [pgs~=nowrap] {
58
+ flex-wrap: nowrap;
59
+ }
60
+
61
+ [pgs~=wrap] {
62
+ flex-wrap: wrap;
63
+ }
@@ -61,7 +61,7 @@
61
61
  }
62
62
 
63
63
  //= HEADING
64
- @mixin heading($size, $marginTop: true) {
64
+ @mixin heading($size) {
65
65
  font-family: var(--font-titoli);
66
66
  --heading-size: #{$size};
67
67
  color: var(--color-black);
@@ -70,12 +70,8 @@
70
70
  min-width: 0;
71
71
  font-weight: 900;
72
72
  overflow-wrap: anywhere;
73
-
74
- @if($marginTop){
75
- margin-top: calc(var(--heading-size)/4);
76
- }
77
-
78
73
  // text-box: trim-both cap alphabetic;
74
+
79
75
  @media (max-width: $tablet) {
80
76
  font-size: clamp(1.6rem, var(--heading-size) / 3 + 8vw, var(--heading-size));
81
77
  }
@@ -98,11 +94,11 @@
98
94
 
99
95
 
100
96
  @mixin h1(){
101
- @include heading($h1, false);
97
+ @include heading($h1);
102
98
  }
103
99
 
104
100
  @mixin h2(){
105
- @include heading($h2, false);
101
+ @include heading($h2);
106
102
  }
107
103
 
108
104
  @mixin h3(){
@@ -1,22 +1,27 @@
1
1
  //+ VAR
2
2
  @use "mx-hover" as *;
3
3
 
4
- @mixin button-mx-varColor($for: "") {
5
- --button-color: var(--color-black);
6
- --button-color-strong: var(--color-whiteFixed);
7
- --button-color-current: var(--color-whiteFixed);
8
- --button-background: var(--color-box);
9
- --button-background-strong: var(--color-primary);
10
- --button-background-current: var(--color-primary);
11
- /// Application
4
+ //+ BUTTON COLOR
5
+ @mixin _buttonColor($for: "") {
12
6
  color: var(--button-color#{$for});
13
7
  background: var(--button-background#{$for});
14
8
  --fa-primary-color: var(--button-color#{$for});
15
9
  --fa-secondary-color: var(--button-color#{$for});
16
10
  }
17
11
 
18
- //= BUTTON
19
- @mixin button($hover: true, $onlyIcon: false, $strong: false) {
12
+ //= BUTTON BASE
13
+ @mixin buttonBase() {
14
+ /// color
15
+ --button-color: var(--color-black);
16
+ --button-color-strong: var(--color-whiteFixed);
17
+ --button-color-current: var(--color-whiteFixed);
18
+ --button-color-active: var(--color-whiteFixed);
19
+ /// background
20
+ --button-background: var(--color-box);
21
+ --button-background-strong: var(--color-primary);
22
+ --button-background-current: var(--color-primary);
23
+ --button-background-active: var(--color-primary);
24
+ /// olther
20
25
  --button-border: var(--border-complete);
21
26
  --button-size: 1.5rem;
22
27
  --button-icon-size: 2rem;
@@ -26,6 +31,7 @@
26
31
  --button-padding: var(--button-padding-block) var(--button-padding-right) var(--button-padding-block) var(--button-padding-left);
27
32
  --fa-secondary-opacity: 0.5;
28
33
  --fa-size: var(--button-icon-size);
34
+ @include _buttonColor();
29
35
  font-family: var(--font);
30
36
  font-size: 1.6rem;
31
37
  font-weight: 600;
@@ -44,79 +50,79 @@
44
50
  width: max-content;
45
51
  margin-block: auto;
46
52
 
47
- //== ONLY ICON
48
- @if $onlyIcon {
49
- --button-padding: var(--button-padding-block);
50
- flex: 0 0;
51
- aspect-ratio: 1;
52
- border-radius: 50%;
53
- justify-content: center;
54
- align-items: center;
55
-
56
- i {
57
- display: inline-grid;
58
- place-items: center;
59
- inline-size: calc(var(--button-icon-size) + 2px);
60
- block-size: var(--button-icon-size);
61
- line-height: 1;
62
- aspect-ratio: 1;
63
- }
53
+ &[aria-current="page"]:not(:hover, :focus-visible) {
54
+ @include _buttonColor("-current");
64
55
  }
65
56
 
66
- @else {
67
- $button-right: calc(var(--button-size) * 2);
68
- $button-left: calc(var(--button-size) * 1.5);
57
+ &:disabled {
58
+ opacity: 0.2;
59
+ cursor: not-allowed;
60
+ }
61
+ }
69
62
 
70
- &:has(i) {
71
- --button-padding-right: #{$button-right};
72
- --button-padding-left: #{$button-left};
73
- }
63
+ //= BUTTON CONTENT - ICON
64
+ //== BUTTON CONTENT
65
+ @mixin buttonContent() {
66
+ $button-right: calc(var(--button-size) * 2);
67
+ $button-left: calc(var(--button-size) * 1.5);
74
68
 
75
- &[pgs-option~="buttonReverse"]:has(i) {
76
- --button-padding-right: #{$button-left};
77
- --button-padding-left: #{$button-right};
78
- }
69
+ &:has(i) {
70
+ --button-padding-right: #{$button-right};
71
+ --button-padding-left: #{$button-left};
79
72
  }
80
73
 
81
- //== HOVER
82
- @if $hover {
83
- @include hover();
84
- } @else {
85
- transition: all 200ms;
86
- cursor: inherit;
74
+ &[pgs-option~="buttonReverse"]:has(i) {
75
+ --button-padding-right: #{$button-left};
76
+ --button-padding-left: #{$button-right};
87
77
  }
78
+ }
88
79
 
89
- //== STRONG
90
- @if $strong {
91
- @include button-mx-varColor("-strong");
92
- } @else {
93
- @include button-mx-varColor();
94
- }
80
+ //== BUTTON ICON
81
+ @mixin buttonIcon() {
82
+ --button-padding: var(--button-padding-block);
83
+ flex: 0 0;
84
+ aspect-ratio: 1;
85
+ border-radius: 50%;
86
+ justify-content: center;
87
+ align-items: center;
95
88
 
96
- //== CURRENT
97
- &[aria-current="page"]:not(:hover, :focus-visible) {
98
- @include button-mx-varColor("-current");
89
+ i {
90
+ display: inline-grid;
91
+ place-items: center;
92
+ inline-size: calc(var(--button-icon-size) + 2px);
93
+ block-size: var(--button-icon-size);
94
+ line-height: 1;
95
+ aspect-ratio: 1;
99
96
  }
97
+ }
100
98
 
101
- &:disabled {
102
- opacity: 0.2;
103
- cursor: not-allowed;
104
- }
99
+ //= BUTTON HOVER - NOHOVER
100
+ //== BUTTON HOVER
101
+ @mixin buttonHover() {
102
+ @include hover();
105
103
  }
106
104
 
107
- //= Button mini
108
- @mixin buttonMini($hover: true) {
109
- @include button($hover, true);
105
+ //== BUTTON NOT HOVER
106
+ @mixin buttonNohover() {
107
+ transition: all 200ms;
108
+ cursor: inherit;
109
+ }
110
+
111
+ //= BUTTON STRONG
112
+ @mixin buttonStrong() {
113
+ @include _buttonColor("-strong");
114
+ }
115
+
116
+ //= BUTTON MINI
117
+ @mixin buttonMini() {
110
118
  --button-size: 0.5rem;
111
119
  display: inline-flex;
112
- aspect-ratio: unset;
113
- margin-block: auto;
114
120
  aspect-ratio: 1;
121
+ margin-block: auto;
115
122
  }
116
123
 
117
- //= Button BIG
118
- @mixin buttonBig($hover: true) {
119
- @include button($hover);
124
+ //= BUTTON BIG
125
+ @mixin buttonBig() {
120
126
  position: relative;
121
127
  flex-direction: column;
122
128
  justify-content: center;
@@ -138,9 +144,8 @@
138
144
  }
139
145
  }
140
146
 
141
- //= Button CLOSE
147
+ //= BUTTON CLOSE
142
148
  @mixin buttonClose($important: false) {
143
- @include button(true, true);
144
149
  --button-background: var(--color-primary-soft);
145
150
  --button-size: 1rem;
146
151
  --button-icon-size: 1.3rem;
@@ -153,11 +158,10 @@
153
158
  }
154
159
  }
155
160
 
156
- //= button header
161
+ //= BUTTON HEADER
157
162
  @mixin button_header() {
158
163
  --button-size: 1.2rem;
159
164
  --button-border: unset;
160
165
  overflow-wrap: break-word;
161
166
  height: calc(var(--button-size) * 4);
162
- // height: var(--header-size);
163
- }
167
+ }
@@ -3,19 +3,18 @@
3
3
  @use "mx-hover" as *;
4
4
  @use "mx-responsive" as *;
5
5
 
6
- @mixin card-insideImg() {
7
- $cardImgPadding: calc(var(--card-padding) * -1);
8
- border-radius: var(--card-borderRadius);
6
+ @mixin cardAndWell-insideImg($for) {
7
+ border-radius: var(--#{$for}-borderRadius);
9
8
  border-bottom-left-radius: 0;
10
9
  border-bottom-right-radius: 0;
11
- margin: $cardImgPadding;
12
- padding: var(--card-padding-img);
13
- width: calc((var(--card-padding) * 2) + 100%);
10
+ margin: calc(var(--#{$for}-padding) * -1);
11
+ padding: var(--#{$for}-padding-img);
12
+ width: calc((var(--#{$for}-padding) * 2) + 100%);
14
13
  margin-bottom: 0;
15
14
  }
16
15
 
17
16
  @mixin card() {
18
- --card-padding: var(--padding-2);
17
+ --card-padding: var(--padding);
19
18
  --card-borderRadius: calc(var(--border-radius-input) + var(--card-padding));
20
19
  --card-background: var(--color-box-transparent);
21
20
  --card-padding-img: 0;
@@ -25,7 +24,6 @@
25
24
  padding: var(--card-padding);
26
25
  background: var(--card-background);
27
26
  border-radius: var(--card-borderRadius);
28
- // box-shadow: var(--box-shadow);
29
27
  }
30
28
 
31
29
  >a {
@@ -43,41 +41,40 @@
43
41
  >img,
44
42
  >a>object,
45
43
  >a>img {
46
- @include card-insideImg();
44
+ @include cardAndWell-insideImg("card");
47
45
  }
48
46
  }
49
47
 
50
- @mixin boxtext() {
48
+ @mixin well() {
51
49
  @include flexColumn();
52
- --boxtext-background: light-dark(color-mix(in srgb, var(--color-background) 100%, transparent 10%), color-mix(in srgb, var(--color-background) 50%, transparent 50%));
53
- background: var(--boxtext-background);
54
- padding: 1.5rem;
55
- margin-inline: calc(-1.5rem / 2);
56
- width: unset;
57
- border-radius: var(--border-radius-input);
50
+ --well-padding: var(--padding-2);
51
+ --well-borderRadius: calc(var(--border-radius-input) + var(--well-padding));
52
+ --well-background: var(--color-box-transparent);
53
+ --well-padding-img: 0;
58
54
 
59
- //- mobile
60
- @media (max-width: $mobile) {
61
- margin-inline: 0;
62
- }
63
-
64
- &:has(.fa-solid),
65
- &:has(.fa-duotone) {
66
- --boxtext-background: var(--color-primary-soft);
55
+ //-new
67
56
 
68
- i {
69
- --fa-primary-color: var(--color-primary-soft);
70
- --fa-secondary-color: var(--color-primary);
71
- --fa-secondary-opacity: 1;
72
- }
57
+ &:not(:has(>a)) {
58
+ padding: var(--well-padding);
59
+ background: var(--well-background);
60
+ border-radius: var(--well-borderRadius);
73
61
  }
74
62
 
75
- &:has(.fa-triangle-exclamation) {
76
- --boxtext-background: var(--color-warning-background);
63
+ >a {
64
+ --well-background: var(--color-white);
65
+ @include hover();
66
+ height: 100%;
67
+ padding: var(--well-padding);
68
+ padding-bottom: calc(var(--well-padding) * 2);
69
+ background: var(--well-background);
70
+ border-radius: var(--well-borderRadius);
71
+ outline: var(--border-complete);
72
+ }
77
73
 
78
- i {
79
- --fa-primary-color: var(--color-black);
80
- --fa-secondary-color: var(--color-warning);
81
- }
74
+ >object,
75
+ >img,
76
+ >a>object,
77
+ >a>img {
78
+ @include cardAndWell-insideImg("well");
82
79
  }
83
- }
80
+ }
@@ -363,7 +363,7 @@
363
363
 
364
364
  //=== LABEL
365
365
  label {
366
- &:not(:has([pgs~="label-unset"], +input[type=checkbox], +input[type=radio])) {
366
+ &:not(:has([pgs~="labelUnset"], +input[type=checkbox], +input[type=radio])) {
367
367
  &:has(+input, +select, +textarea) {
368
368
  @include label();
369
369
  }
@@ -376,7 +376,7 @@
376
376
 
377
377
  //=== INPUT
378
378
  input {
379
- &:not([pgs~="input-unset"], [type=checkbox], [type=file], [type=radio], [type=range]) {
379
+ &:not([pgs~=inputUnset], [type=checkbox], [type=file], [type=radio], [type=range]) {
380
380
  @include input();
381
381
  }
382
382
 
@@ -420,8 +420,10 @@
420
420
  }
421
421
 
422
422
  //==== CHECKBOX
423
- label:has(input[type=checkbox]):not([pgs~="toggle"]),
424
- label:has(input[type=radio]):not([pgs~="toggle"]) {
423
+ $not-checkbox: '[pgs~=toggle], [pgs~=twoState], [pgs~=chip], [pgs~=chips] label';
424
+
425
+ label:has(input[type=checkbox]):not(#{$not-checkbox}),
426
+ label:has(input[type=radio]):not(#{$not-checkbox}) {
425
427
  @include checkbox();
426
428
  }
427
429
 
@@ -447,7 +449,10 @@
447
449
 
448
450
  //===BUTTON
449
451
  button[type="submit"] {
450
- @include button(true, false, true)
452
+ @include buttonBase();
453
+ @include buttonContent();
454
+ @include buttonStrong();
455
+ @include buttonHover();
451
456
  }
452
457
 
453
458
  //===FIELDSET