mypgs 1.5.1 → 2.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 (108) hide show
  1. package/AGENTS.md +8 -5
  2. package/README.md +1 -1
  3. package/assets/javascript/_imports.js +4 -0
  4. package/assets/javascript/_pgs.js +58 -0
  5. package/assets/javascript/base/_darkmode.js +27 -105
  6. package/assets/javascript/base/_svg.js +103 -0
  7. package/assets/javascript/components/_accordion.js +2 -2
  8. package/assets/javascript/components/_menu.js +1 -3
  9. package/assets/javascript/components/_modals.js +159 -136
  10. package/assets/javascript/components/_notifications.js +19 -9
  11. package/assets/javascript/components/_search.js +391 -0
  12. package/assets/javascript/components/_slides.js +66 -32
  13. package/assets/javascript/components/_stepTabs.js +4 -4
  14. package/assets/javascript/components/_steps.js +2 -2
  15. package/assets/javascript/components/_summary.js +2 -2
  16. package/assets/javascript/functions/_formValidate.js +97 -53
  17. package/assets/javascript/functions/_scrollY.js +10 -10
  18. package/assets/javascript/index.js +2 -0
  19. package/assets/javascript/layout/_header.js +29 -7
  20. package/assets/scss/base/_color.scss +5 -5
  21. package/assets/scss/base/_html.scss +2 -2
  22. package/assets/scss/base/_variables.scss +4 -2
  23. package/assets/scss/components/_dropdown.scss +2 -1
  24. package/assets/scss/components/_form.scss +2 -2
  25. package/assets/scss/components/_logo.scss +2 -2
  26. package/assets/scss/components/_menu.scss +20 -27
  27. package/assets/scss/components/_modals.scss +11 -1
  28. package/assets/scss/components/_notification.scss +23 -30
  29. package/assets/scss/components/_search.scss +140 -0
  30. package/assets/scss/index.scss +2 -2
  31. package/assets/scss/layout/_header.scss +1 -1
  32. package/assets/scss/layout/_pageShell.scss +19 -15
  33. package/assets/scss/mixin/_mx-form.scss +7 -7
  34. package/{templates/html → demo}/demo.html +1 -1
  35. package/demo/demo.js +240 -0
  36. package/dist/css/index.css +188 -125
  37. package/dist/css/index.css.map +1 -1
  38. package/dist/css/index.min.css +1 -1
  39. package/dist/index.d.ts +70 -0
  40. package/dist/javascript/index.js +1038 -405
  41. package/dist/javascript/index.js.map +1 -1
  42. package/dist/javascript/index.min.js +1 -1
  43. package/docs/componenti-e-markup.md +62 -27
  44. package/docs/components/accordion.md +61 -0
  45. package/docs/components/badges.md +67 -0
  46. package/docs/components/breadcumbs.md +43 -0
  47. package/docs/components/button.md +59 -0
  48. package/docs/components/card.md +50 -0
  49. package/docs/components/dropdown.md +135 -0
  50. package/docs/components/form.md +113 -0
  51. package/docs/components/logo.md +36 -0
  52. package/docs/components/menu.md +90 -0
  53. package/docs/components/modal.md +131 -0
  54. package/docs/components/notification.md +81 -0
  55. package/docs/components/search.md +117 -0
  56. package/docs/components/slides.md +85 -0
  57. package/docs/components/stepTabs.md +93 -0
  58. package/docs/components/steps.md +56 -0
  59. package/docs/components/summary.md +49 -0
  60. package/docs/components/table.md +42 -0
  61. package/docs/components/tooltip.md +53 -0
  62. package/docs/helper-javascript.md +71 -3
  63. package/docs/layout/body.md +41 -0
  64. package/docs/layout/flex.md +116 -0
  65. package/docs/layout/footer.md +71 -0
  66. package/docs/layout/grid.md +116 -0
  67. package/docs/layout/header.md +116 -0
  68. package/docs/layout/pageShell.md +94 -0
  69. package/docs/layout/section.md +69 -0
  70. package/docs/patterns/cookieConsent.md +89 -0
  71. package/package.json +2 -1
  72. package/scripts/generate-component-docs.js +557 -0
  73. package/templates/html/components/accordion.html +33 -4
  74. package/templates/html/components/badges.html +23 -0
  75. package/templates/html/components/breadcumbs.html +14 -0
  76. package/templates/html/components/button.html +22 -0
  77. package/templates/html/components/card.html +20 -0
  78. package/templates/html/components/dropdown.html +34 -0
  79. package/templates/html/components/form.html +82 -4
  80. package/templates/html/components/logo.html +22 -1
  81. package/templates/html/components/menu.html +40 -1
  82. package/templates/html/components/modal.html +44 -0
  83. package/templates/html/components/notification.html +68 -32
  84. package/templates/html/components/search.html +107 -0
  85. package/templates/html/components/slides.html +43 -0
  86. package/templates/html/components/stepTabs.html +47 -0
  87. package/templates/html/components/steps.html +24 -0
  88. package/templates/html/components/summary.html +27 -0
  89. package/templates/html/components/table.html +12 -0
  90. package/templates/html/components/tooltip.html +35 -0
  91. package/templates/html/layout/body.html +20 -5
  92. package/templates/html/layout/flex.html +20 -0
  93. package/templates/html/layout/footer.html +29 -1
  94. package/templates/html/layout/grid.html +20 -0
  95. package/templates/html/layout/header.html +52 -5
  96. package/templates/html/layout/pageShell.html +19 -0
  97. package/templates/html/layout/section.html +32 -10
  98. package/templates/html/patterns/cookieConsent.html +31 -0
  99. package/templates/react/components/form.jsx +3 -3
  100. package/templates/react/components/logo.jsx +1 -1
  101. package/templates/react/components/notification.jsx +4 -4
  102. package/templates/react/components/{searchbar.jsx → search.jsx} +9 -7
  103. package/templates/react/patterns/footer.jsx +1 -1
  104. package/templates/react/patterns/header.jsx +16 -10
  105. package/assets/scss/components/_searchbar.scss +0 -70
  106. package/templates/html/components/searchbar.html +0 -29
  107. package/templates/html/demo.js +0 -137
  108. /package/{templates/html → demo}/demo.css +0 -0
@@ -1,7 +1,6 @@
1
1
  /*!*****************************************************************************************************************!*\
2
2
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./assets/scss/index.scss ***!
3
3
  \*****************************************************************************************************************/
4
- @charset "UTF-8";
5
4
  /*
6
5
  |--------------------------------------------------------------------------
7
6
  | Base
@@ -24,7 +23,8 @@
24
23
  --text-shadow: 0px 0px 50px #000000;
25
24
  --backdrop: #0000003e;
26
25
  --blur: blur(20px);
27
- --page-top: calc(var(--heightOfHeaderScroll) + (var(--gap-elements)*2));
26
+ --page-top: calc(var(--heightOfHeader) + var(--heightOfHeader));
27
+ --page-topScroll: calc(var(--heightOfHeaderScroll) + var(--heightOfHeader));
28
28
  --page-width: 1280px;
29
29
  --page-space: clamp(var(--padding-page), calc((100% - var(--section-width)) / 2 + var(--padding-page)), 100%);
30
30
  --gap-texts: 1.0rem;
@@ -36,7 +36,8 @@
36
36
  --fa-secondary-opacity: 1;
37
37
  --fa-size: inherit;
38
38
  --focus-visible: 3px solid var(--color-link);
39
- --heightOfHeader: 13.3rem;
39
+ --heightOfHeader: 6.8rem;
40
+ --heightOfHeaderScroll: 6.8rem;
40
41
  }
41
42
 
42
43
  @media (max-width: 430px) {
@@ -48,7 +49,7 @@
48
49
  color-scheme: light;
49
50
  }
50
51
 
51
- :root[data-darkmode=true] {
52
+ :root[pgs-state~=darkmode] {
52
53
  color-scheme: dark;
53
54
  }
54
55
 
@@ -62,10 +63,10 @@
62
63
  --color-white-transparent: color-mix(in srgb, var(--color-white) 50%, transparent 100%);
63
64
  --color-black-transparent: color-mix(in srgb, var(--color-black) 50%, transparent 100%);
64
65
  --color-text: light-dark(#4a4a4a, #e3e3e3);
65
- --color-box: light-dark(#F8F8F8, #3A3A3A);
66
- --color-boxDark: light-dark(#3A3A3A, #F8F8F8);
67
- --color-box-transparent: light-dark(color-mix(in srgb, #eeeeee 50%, transparent 50%), color-mix(in srgb, #3A3A3A 50%, transparent 50%));
68
- --color-boxDark-transparent: light-dark(color-mix(in srgb, #3A3A3A 50%, transparent 50%), color-mix(in srgb, #eeeeee 50%, transparent 50%));
66
+ --color-box: light-dark(#F8F8F8, #222121);
67
+ --color-boxDark: light-dark(#222121, #F8F8F8);
68
+ --color-box-transparent: light-dark(color-mix(in srgb, #eeeeee 50%, transparent 50%), color-mix(in srgb, #222121 50%, transparent 50%));
69
+ --color-boxDark-transparent: light-dark(color-mix(in srgb, #222121 50%, transparent 50%), color-mix(in srgb, #eeeeee 50%, transparent 50%));
69
70
  --color-linkBackgorud: light-dark(#a0dbff, #002a44);
70
71
  --color-background: light-dark(#ffffff, #080808);
71
72
  --color-whiteFixed: #FFFFFF;
@@ -105,14 +106,14 @@
105
106
  margin: 0;
106
107
  padding: 0;
107
108
  box-sizing: border-box;
108
- scroll-margin-top: calc(var(--heightOfHeader) + 5vh);
109
+ scroll-margin-top: var(--page-topScroll);
109
110
  }
110
111
 
111
112
  [pgs~=htmlBase] * {
112
113
  margin: 0;
113
114
  padding: 0;
114
115
  box-sizing: border-box;
115
- scroll-margin-top: calc(var(--heightOfHeader) + 5vh);
116
+ scroll-margin-top: var(--page-topScroll);
116
117
  }
117
118
 
118
119
  [pgs~=htmlBase]:root,
@@ -2137,9 +2138,12 @@ body [pgs~=bodyImg] img, [pgs~=bodyImg] object, [pgs~=bodyImg] lottie-player {
2137
2138
  }
2138
2139
  }
2139
2140
  [pgs~=initP] [pgs~=pageShell] {
2140
- --pageShell-aside-sticky-top: 0;
2141
+ --pageShell-width: calc(var(--pageShell-content-width) + (var(--padding-page) * 2));
2142
+ --pageShell-content-width: var(--page-width);
2141
2143
  --pageShell-aside-width: 400px;
2142
- --pageShell-content-width: 500px;
2144
+ --pageShell-aside-sticky-top: 0;
2145
+ --pageShell-paddingInline: var(--padding-page);
2146
+ --pageShell-paddingTop: var(--page-top);
2143
2147
  --pageShell-gap: var(--gap-elements);
2144
2148
  display: flex;
2145
2149
  flex-wrap: wrap;
@@ -2148,17 +2152,17 @@ body [pgs~=bodyImg] img, [pgs~=bodyImg] object, [pgs~=bodyImg] lottie-player {
2148
2152
  align-items: start;
2149
2153
  justify-content: center;
2150
2154
  width: 100%;
2151
- max-width: calc(var(--page-width) + var(--padding-page) * 2);
2152
- padding-inline: var(--padding-page);
2155
+ max-width: var(--pageShell-width);
2156
+ padding-inline: var(--pageShell-paddingInline);
2153
2157
  container-type: inline-size;
2154
2158
  }
2155
2159
  [pgs~=initP] [pgs~=pageShell] [pgs~=pageShell-content] {
2156
2160
  grid-area: content;
2157
- flex: 999 1 var(--pageShell-content-width);
2158
- min-width: min(100%, var(--pageShell-content-width));
2159
- width: min(100%, var(--page-width));
2160
- max-width: var(--page-width);
2161
- padding-top: var(--page-top);
2161
+ flex: 999 1 500px;
2162
+ min-width: min(100%, 500px);
2163
+ width: min(100%, var(--pageShell-content-width));
2164
+ max-width: var(--pageShell-content-width);
2165
+ padding-top: var(--pageShell-paddingTop);
2162
2166
  padding-bottom: var(--gap-elements);
2163
2167
  }
2164
2168
  [pgs~=initP] [pgs~=pageShell] [pgs~=pageShell-aside] {
@@ -2169,13 +2173,14 @@ body [pgs~=bodyImg] img, [pgs~=bodyImg] object, [pgs~=bodyImg] lottie-player {
2169
2173
  isolation: isolate;
2170
2174
  position: sticky;
2171
2175
  top: var(--pageShell-aside-sticky-top);
2176
+ transition: top 0.3s ease;
2172
2177
  width: 100%;
2173
2178
  max-height: 100svh;
2174
2179
  overflow-y: auto;
2175
2180
  overscroll-behavior: contain;
2176
2181
  scrollbar-gutter: stable;
2177
2182
  scrollbar-width: none;
2178
- padding-top: var(--page-top);
2183
+ padding-top: var(--pageShell-paddingTop);
2179
2184
  padding-bottom: var(--gap-elements);
2180
2185
  flex: 1 1 var(--pageShell-aside-width);
2181
2186
  min-width: min(100%, var(--pageShell-aside-width));
@@ -2200,7 +2205,7 @@ body [pgs~=bodyImg] img, [pgs~=bodyImg] object, [pgs~=bodyImg] lottie-player {
2200
2205
  overscroll-behavior: contain;
2201
2206
  scrollbar-gutter: stable;
2202
2207
  scrollbar-width: none;
2203
- padding-top: var(--page-top);
2208
+ padding-top: var(--pageShell-paddingTop);
2204
2209
  padding-bottom: calc(var(--gap-elements) * 2);
2205
2210
  }
2206
2211
  [pgs~=initP] [pgs~=pageShell] [pgs~=pageShell-aside] [pgs~=pageShell-aside-scroll]::-webkit-scrollbar {
@@ -2227,10 +2232,10 @@ body [pgs~=bodyImg] img, [pgs~=bodyImg] object, [pgs~=bodyImg] lottie-player {
2227
2232
  grid-area: asideRight;
2228
2233
  }
2229
2234
  [pgs~=initP] [pgs~=pageShell]:has(> [pgs~=pageShell-aside]) {
2230
- max-width: calc(var(--page-width) + var(--pageShell-aside-width) + var(--pageShell-gap) + var(--padding-page) * 2);
2235
+ --pageShell-width: calc(var(--pageShell-content-width) + var(--pageShell-aside-width) + var(--pageShell-gap) + (var(--padding-page) * 2));
2231
2236
  }
2232
2237
  [pgs~=initP] [pgs~=pageShell]:has(> [pgs~=pageShell-aside] ~ [pgs~=pageShell-aside]) {
2233
- max-width: calc(var(--page-width) + var(--pageShell-aside-width) * 2 + var(--pageShell-gap) * 2 + var(--padding-page) * 2);
2238
+ --pageShell-width: calc(var(--pageShell-content-width) + (var(--pageShell-aside-width) * 2) + (var(--pageShell-gap) * 2) + (var(--padding-page) * 2));
2234
2239
  }
2235
2240
  @container (max-width: calc(400px + 500px + 4rem)) {
2236
2241
  [pgs~=initP] [pgs~=pageShell]:has(> [pgs~=pageShell-aside]) [pgs~=pageShell-aside] {
@@ -2269,7 +2274,7 @@ body [pgs~=bodyImg] img, [pgs~=bodyImg] object, [pgs~=bodyImg] lottie-player {
2269
2274
  @container (max-width: calc(400px + 500px + 400px + (4rem * 2))) {
2270
2275
  [pgs~=initP] [pgs~=pageShell]:has(> [pgs~=pageShell-aside]):has(> [pgs~=pageShell-content] + [pgs~=pageShell-aside]) {
2271
2276
  display: grid;
2272
- grid-template-columns: var(--pageShell-aside-width) minmax(0, var(--page-width));
2277
+ grid-template-columns: var(--pageShell-aside-width) minmax(0, var(--pageShell-content-width));
2273
2278
  grid-template-areas: "asideLeft content" "asideLeft asideRight";
2274
2279
  justify-content: center;
2275
2280
  }
@@ -2312,7 +2317,7 @@ body [pgs~=bodyImg] img, [pgs~=bodyImg] object, [pgs~=bodyImg] lottie-player {
2312
2317
  }
2313
2318
  @container (max-width: 500px) {
2314
2319
  [pgs~=initP] [pgs~=pageShell] {
2315
- padding-top: var(--page-top);
2320
+ padding-top: var(--pageShell-paddingTop);
2316
2321
  }
2317
2322
  [pgs~=initP] [pgs~=pageShell] [pgs~=pageShell-content],
2318
2323
  [pgs~=initP] [pgs~=pageShell] [pgs~=pageShell-aside] {
@@ -5018,22 +5023,22 @@ body [pgs~=bodyImg] img, [pgs~=bodyImg] object, [pgs~=bodyImg] lottie-player {
5018
5023
  background-color: var(--color-primary);
5019
5024
  color: var(--color-white);
5020
5025
  }
5021
- [pgs~=initP] [pgs~=formError][data-form-status=error] [data-form-field-status=error]:not([type=checkbox], [type=radio]) {
5026
+ [pgs~=initP] [pgs~=formValidate][pgs-option~=error] [pgs-option~=error]:not([type=checkbox], [type=radio]) {
5022
5027
  outline: solid 3px var(--color-error) !important;
5023
5028
  }
5024
- [pgs~=initP] [pgs~=formError][data-form-status=error] [data-form-field-status=error]:not([type=checkbox], [type=radio])::before {
5025
- content: "Questo campo è obbligatorio";
5029
+ [pgs~=initP] [pgs~=formValidate][pgs-option~=error] [pgs-option~=error]:not([type=checkbox], [type=radio])::before {
5030
+ content: "This field is required";
5026
5031
  color: var(--color-error);
5027
5032
  font-weight: 500;
5028
5033
  font-size: 1.7rem;
5029
5034
  }
5030
- [pgs~=initP] [pgs~=formError][data-form-status=error] label:has(+ [data-form-field-status=error], [data-form-field-status=error]):has(input[type=checkbox]) {
5035
+ [pgs~=initP] [pgs~=formValidate][pgs-option~=error] label:has(+ [pgs-option~=error], [pgs-option~=error]):has(input[type=checkbox]) {
5031
5036
  background-color: var(--color-error) !important;
5032
5037
  padding: 6px;
5033
5038
  margin-left: -6px;
5034
5039
  border-radius: 10px;
5035
5040
  }
5036
- [pgs~=initP] [pgs~=formError][data-form-status=error] fieldset:has(input[type=radio][data-form-field-status=error]) legend {
5041
+ [pgs~=initP] [pgs~=formValidate][pgs-option~=error] fieldset:has(input[type=radio][pgs-option~=error]) legend {
5037
5042
  --label-background: var(--color-error) !important;
5038
5043
  }
5039
5044
  [pgs~=initP] [pgs~=menu] ul {
@@ -5044,9 +5049,6 @@ body [pgs~=bodyImg] img, [pgs~=bodyImg] object, [pgs~=bodyImg] lottie-player {
5044
5049
  row-gap: 1rem;
5045
5050
  flex-wrap: nowrap;
5046
5051
  }
5047
- [pgs~=initP] [pgs~=menu] ul ul {
5048
- display: none;
5049
- }
5050
5052
  [pgs~=initP] [pgs~=menu] ul > li > a {
5051
5053
  flex-grow: 1;
5052
5054
  min-width: fit-content;
@@ -5191,6 +5193,17 @@ body [pgs~=bodyImg] img, [pgs~=bodyImg] object, [pgs~=bodyImg] lottie-player {
5191
5193
  [pgs~=initP] [pgs~=menu] ul > li li {
5192
5194
  width: -webkit-fill-available;
5193
5195
  }
5196
+ [pgs~=initP] [pgs~=menu] ul > li[pgs-state~=open] > ul {
5197
+ display: flex;
5198
+ }
5199
+ [pgs~=initP] [pgs~=menu] ul ul {
5200
+ display: none;
5201
+ flex-direction: column;
5202
+ gap: var(--gap-texts);
5203
+ --dropdown-borderRadius: calc(var(--border-radius-input) + var(--dropdown-padding));
5204
+ --dropdown-background: var(--color-box-transparent);
5205
+ --dropdown-display: flex;
5206
+ }
5194
5207
  [pgs~=initP] [pgs~=menu] [pgs~=menu-buttonIcon] {
5195
5208
  --button-size: 0.9rem;
5196
5209
  margin-right: -15px;
@@ -5202,6 +5215,9 @@ body [pgs~=bodyImg] img, [pgs~=bodyImg] object, [pgs~=bodyImg] lottie-player {
5202
5215
  cursor: pointer;
5203
5216
  translate: -15px;
5204
5217
  }
5218
+ [pgs~=initP] [pgs~=menu] [pgs~=menu-buttonIcon][aria-expanded=true] {
5219
+ --button-background: var(--color-primary);
5220
+ }
5205
5221
  [pgs~=initP] [pgs~=menu] [pgs~=menu-buttonIcon][aria-expanded=true] span {
5206
5222
  rotate: 180deg;
5207
5223
  }
@@ -5215,20 +5231,10 @@ body [pgs~=bodyImg] img, [pgs~=bodyImg] object, [pgs~=bodyImg] lottie-player {
5215
5231
  width: max-content;
5216
5232
  }
5217
5233
  [pgs~=initP] [pgs~=menu][pgs-option~=horizontal] > ul > li:has(ul) {
5218
- --dropdown-display: flex;
5219
5234
  display: flex;
5220
5235
  gap: 0.2rem;
5221
5236
  flex-wrap: nowrap;
5222
5237
  }
5223
- [pgs~=initP] [pgs~=menu][pgs-option~=horizontal] > ul > li:has(ul) > a {
5224
- border-radius: var(--border-radius-input);
5225
- }
5226
- [pgs~=initP] [pgs~=menu][pgs-option~=horizontal] > ul > li:has(ul) ul li a {
5227
- min-width: 100% !important;
5228
- }
5229
- [pgs~=initP] [pgs~=menu][pgs-option~=horizontal] > ul > li:has(ul)[pgs-state~=open] > ul {
5230
- display: flex;
5231
- }
5232
5238
  [pgs~=initP] [pgs~=menu] ul :is(ul), [pgs~=initP] [pgs~=menu][pgs-option~=vertical] :is(ul), [pgs~=initP] [pgs~=menu]:not([pgs-option~=horizontal]) :is(ul) {
5233
5239
  flex-direction: column;
5234
5240
  }
@@ -5247,9 +5253,6 @@ body [pgs~=bodyImg] img, [pgs~=bodyImg] object, [pgs~=bodyImg] lottie-player {
5247
5253
  align-items: center;
5248
5254
  position: relative;
5249
5255
  }
5250
- [pgs~=initP] [pgs~=menu] ul :is(ul) > li:has(ul) > a, [pgs~=initP] [pgs~=menu][pgs-option~=vertical] :is(ul) > li:has(ul) > a, [pgs~=initP] [pgs~=menu]:not([pgs-option~=horizontal]) :is(ul) > li:has(ul) > a {
5251
- max-width: calc(100% - var(--gap-texts) - 40px);
5252
- }
5253
5256
  [pgs~=initP] [pgs~=menu] ul :is(ul) > li:has(ul) > ul, [pgs~=initP] [pgs~=menu][pgs-option~=vertical] :is(ul) > li:has(ul) > ul, [pgs~=initP] [pgs~=menu]:not([pgs-option~=horizontal]) :is(ul) > li:has(ul) > ul {
5254
5257
  flex-basis: 100%;
5255
5258
  }
@@ -5614,6 +5617,7 @@ body [pgs~=bodyImg] img, [pgs~=bodyImg] object, [pgs~=bodyImg] lottie-player {
5614
5617
  --dropdown-background: var(--color-box);
5615
5618
  --dropdown-color: var(--color-black);
5616
5619
  --dropdown-border: var(--border-complete);
5620
+ --dropdown-borderRadius: var(--dropdown-padding);
5617
5621
  --dropdown-padding: 1rem;
5618
5622
  --dropdown-inline-size: max-content;
5619
5623
  --dropdown-max-inline-size: min(400px, calc(100vw - 16px));
@@ -5637,7 +5641,7 @@ body [pgs~=bodyImg] img, [pgs~=bodyImg] object, [pgs~=bodyImg] lottie-player {
5637
5641
  overflow: auto;
5638
5642
  padding: var(--dropdown-padding);
5639
5643
  border: var(--dropdown-border);
5640
- border-radius: calc(var(--border-radius-input) + var(--dropdown-padding));
5644
+ border-radius: var(--dropdown-borderRadius);
5641
5645
  background: var(--dropdown-background);
5642
5646
  color: var(--dropdown-color);
5643
5647
  }
@@ -5723,6 +5727,13 @@ body [pgs~=bodyImg] img, [pgs~=bodyImg] object, [pgs~=bodyImg] lottie-player {
5723
5727
  [pgs~=initP] dialog:not(:has(> [pgs~=modal-close])) {
5724
5728
  padding-top: var(--padding-page);
5725
5729
  }
5730
+ [pgs~=initP] dialog[pgs~=modal-dialog][pgs-option~=topLevel] {
5731
+ align-items: center;
5732
+ padding-inline: 1rem;
5733
+ }
5734
+ [pgs~=initP] dialog[pgs~=modal-dialog][pgs-option~=topLevel] [pgs~=modal-dialog-content] {
5735
+ width: min(600px, 100%);
5736
+ }
5726
5737
  [pgs~=initP] dialog[pgs~=modal-dialog][pgs-option~=left] [pgs~=modal-dialog-content] {
5727
5738
  margin-left: unset;
5728
5739
  margin-right: auto;
@@ -6337,8 +6348,7 @@ body [pgs~=bodyImg] img, [pgs~=bodyImg] object, [pgs~=bodyImg] lottie-player {
6337
6348
  border-radius: 50%;
6338
6349
  background: currentColor;
6339
6350
  }
6340
- [pgs~=initP] [pgs~=notification],
6341
- [pgs~=initP] [pgs~=toast] {
6351
+ [pgs~=initP] [pgs~=notification] {
6342
6352
  display: flex;
6343
6353
  flex-direction: column;
6344
6354
  gap: var(--gap-texts);
@@ -6348,8 +6358,7 @@ body [pgs~=bodyImg] img, [pgs~=bodyImg] object, [pgs~=bodyImg] lottie-player {
6348
6358
  isolation: isolate;
6349
6359
  max-height: 80vh;
6350
6360
  }
6351
- [pgs~=initP] [pgs~=notification] [pgs~=notification-element],
6352
- [pgs~=initP] [pgs~=toast] [pgs~=notification-element] {
6361
+ [pgs~=initP] [pgs~=notification] [pgs~=notification-element] {
6353
6362
  --notification-background: var(--color-box);
6354
6363
  --notification-background-timer: color-mix(in srgb, var(--color-box) 95%, var(--color-black) 5%);
6355
6364
  --notification-color: unset;
@@ -6374,22 +6383,18 @@ body [pgs~=bodyImg] img, [pgs~=bodyImg] object, [pgs~=bodyImg] lottie-player {
6374
6383
  position: relative;
6375
6384
  }
6376
6385
  @media (max-width: 430px) {
6377
- [pgs~=initP] [pgs~=notification] [pgs~=notification-element],
6378
- [pgs~=initP] [pgs~=toast] [pgs~=notification-element] {
6386
+ [pgs~=initP] [pgs~=notification] [pgs~=notification-element] {
6379
6387
  padding: calc(var(--padding) / 1.5);
6380
6388
  }
6381
6389
  }
6382
- [pgs~=initP] [pgs~=notification] [pgs~=notification-element] [pgs~=notification-element-title],
6383
- [pgs~=initP] [pgs~=toast] [pgs~=notification-element] [pgs~=notification-element-title] {
6390
+ [pgs~=initP] [pgs~=notification] [pgs~=notification-element] [pgs~=notification-element-title] {
6384
6391
  font-weight: 700;
6385
6392
  }
6386
- [pgs~=initP] [pgs~=notification] [pgs~=notification-element] [pgs~=notification-element-content],
6387
- [pgs~=initP] [pgs~=toast] [pgs~=notification-element] [pgs~=notification-element-content] {
6393
+ [pgs~=initP] [pgs~=notification] [pgs~=notification-element] [pgs~=notification-element-content] {
6388
6394
  font-weight: 400;
6389
6395
  font-size: 1.4rem;
6390
6396
  }
6391
- [pgs~=initP] [pgs~=notification] [pgs~=notification-element]::before,
6392
- [pgs~=initP] [pgs~=toast] [pgs~=notification-element]::before {
6397
+ [pgs~=initP] [pgs~=notification] [pgs~=notification-element]::before {
6393
6398
  content: "";
6394
6399
  width: 0%;
6395
6400
  height: 100%;
@@ -6418,9 +6423,7 @@ body [pgs~=bodyImg] img, [pgs~=bodyImg] object, [pgs~=bodyImg] lottie-player {
6418
6423
  }
6419
6424
  }
6420
6425
  [pgs~=initP] [pgs~=notification] [pgs~=notification-element] p,
6421
- [pgs~=initP] [pgs~=notification] [pgs~=notification-element] > i,
6422
- [pgs~=initP] [pgs~=toast] [pgs~=notification-element] p,
6423
- [pgs~=initP] [pgs~=toast] [pgs~=notification-element] > i {
6426
+ [pgs~=initP] [pgs~=notification] [pgs~=notification-element] > i {
6424
6427
  --fa-primary-color: var(--notification-shadow-color);
6425
6428
  --fa-secondary-color: color-mix(in srgb, var(--notification-shadow-color) 50%, var(--color-white) 50%);
6426
6429
  color: var(--notification-color);
@@ -6429,14 +6432,11 @@ body [pgs~=bodyImg] img, [pgs~=bodyImg] object, [pgs~=bodyImg] lottie-player {
6429
6432
  line-height: unset;
6430
6433
  }
6431
6434
  [pgs~=initP] [pgs~=notification] [pgs~=notification-element] p:is(i),
6432
- [pgs~=initP] [pgs~=notification] [pgs~=notification-element] > i:is(i),
6433
- [pgs~=initP] [pgs~=toast] [pgs~=notification-element] p:is(i),
6434
- [pgs~=initP] [pgs~=toast] [pgs~=notification-element] > i:is(i) {
6435
+ [pgs~=initP] [pgs~=notification] [pgs~=notification-element] > i:is(i) {
6435
6436
  color: var(--notification-shadow-color);
6436
6437
  font-size: 2.5rem;
6437
6438
  }
6438
- [pgs~=initP] [pgs~=notification] [pgs~=notification-element] button,
6439
- [pgs~=initP] [pgs~=toast] [pgs~=notification-element] button {
6439
+ [pgs~=initP] [pgs~=notification] [pgs~=notification-element] button {
6440
6440
  opacity: 0;
6441
6441
  position: absolute;
6442
6442
  right: 2px;
@@ -6444,61 +6444,46 @@ body [pgs~=bodyImg] img, [pgs~=bodyImg] object, [pgs~=bodyImg] lottie-player {
6444
6444
  scale: 0.75;
6445
6445
  z-index: 1;
6446
6446
  }
6447
- [pgs~=initP] [pgs~=notification] [pgs~=notification-element] button:focus,
6448
- [pgs~=initP] [pgs~=toast] [pgs~=notification-element] button:focus {
6447
+ [pgs~=initP] [pgs~=notification] [pgs~=notification-element] button:focus {
6449
6448
  opacity: 1;
6450
6449
  }
6451
- [pgs~=initP] [pgs~=notification] [pgs~=notification-element]:is(a),
6452
- [pgs~=initP] [pgs~=toast] [pgs~=notification-element]:is(a) {
6450
+ [pgs~=initP] [pgs~=notification] [pgs~=notification-element]:is(a) {
6453
6451
  border-color: var(--color-primary-soft);
6454
6452
  border: var(--border);
6455
6453
  }
6456
- [pgs~=initP] [pgs~=notification] [pgs~=notification-element]:is(a):hover,
6457
- [pgs~=initP] [pgs~=toast] [pgs~=notification-element]:is(a):hover {
6454
+ [pgs~=initP] [pgs~=notification] [pgs~=notification-element]:is(a):hover {
6458
6455
  background-color: var(--color-white);
6459
6456
  text-decoration: none;
6460
6457
  color: var(--color-black);
6461
6458
  }
6462
- [pgs~=initP] [pgs~=notification] [pgs~=notification-element]:focus-visible button, [pgs~=initP] [pgs~=notification] [pgs~=notification-element]:hover button,
6463
- [pgs~=initP] [pgs~=toast] [pgs~=notification-element]:focus-visible button,
6464
- [pgs~=initP] [pgs~=toast] [pgs~=notification-element]:hover button {
6459
+ [pgs~=initP] [pgs~=notification] [pgs~=notification-element]:focus-visible button, [pgs~=initP] [pgs~=notification] [pgs~=notification-element]:hover button {
6465
6460
  opacity: 1;
6466
6461
  }
6467
- [pgs~=initP] [pgs~=notification] [pgs-state~=success],
6468
- [pgs~=initP] [pgs~=toast] [pgs-state~=success] {
6462
+ [pgs~=initP] [pgs~=notification] [pgs-state~=success] {
6469
6463
  --notification-background: var(--color-success-background);
6470
6464
  --notification-background-timer: color-mix(in srgb, var(--color-success-background) 70%, var(--color-white) 30%);
6471
6465
  --notification-shadow-color: var(--color-success);
6472
6466
  }
6473
- [pgs~=initP] [pgs~=notification] [pgs-state~=error],
6474
- [pgs~=initP] [pgs~=toast] [pgs-state~=error] {
6467
+ [pgs~=initP] [pgs~=notification] [pgs-state~=error] {
6475
6468
  --notification-background: var(--color-error-background);
6476
6469
  --notification-background-timer: color-mix(in srgb, var(--color-error-background) 70%, var(--color-white) 30%);
6477
6470
  --notification-shadow-color: var(--color-error);
6478
6471
  }
6479
- [pgs~=initP] [pgs~=notification] [pgs-state~=warning],
6480
- [pgs~=initP] [pgs~=toast] [pgs-state~=warning] {
6472
+ [pgs~=initP] [pgs~=notification] [pgs-state~=warning] {
6481
6473
  --notification-background: var(--color-warning-background);
6482
6474
  --notification-background-timer: color-mix(in srgb, var(--color-warning-background) 70%, var(--color-white) 30%);
6483
6475
  --notification-shadow-color: var(--color-warning);
6484
6476
  }
6485
- [pgs~=initP] [pgs~=notification] [pgs-state~=info],
6486
- [pgs~=initP] [pgs~=toast] [pgs-state~=info] {
6477
+ [pgs~=initP] [pgs~=notification] [pgs-state~=info] {
6487
6478
  --notification-background: var(--color-box);
6488
6479
  }
6489
- [pgs~=initP] [pgs~=notification] {
6490
- top: calc(var(--heightOfHeader) + 10px);
6491
- right: 10px;
6492
- }
6493
- [pgs~=initP] body:has(header[data-header-scroll=true]) [pgs~=notification] {
6494
- top: 0;
6480
+ [pgs~=initP] [pgs~=notification]:not([pgs-option~=toast]) {
6481
+ top: calc(var(--heightOfHeaderScroll) + 1rem);
6482
+ right: 1rem;
6495
6483
  }
6496
- [pgs~=initP] [pgs~=toast] {
6484
+ [pgs~=initP] [pgs~=notification][pgs-option~=toast] {
6497
6485
  inset-inline: 0;
6498
- top: calc(var(--heightOfHeader) + 10px);
6499
- }
6500
- [pgs~=initP] body:has(header[data-header-scroll=true]) [pgs~=toast] {
6501
- top: 10px;
6486
+ top: calc(var(--heightOfHeaderScroll) + 1rem);
6502
6487
  }
6503
6488
  [pgs~=initP] [pgs~=tooltip][pgs~=dropdown] {
6504
6489
  --dropdown-position-right: center;
@@ -6508,67 +6493,145 @@ body [pgs~=bodyImg] img, [pgs~=bodyImg] object, [pgs~=bodyImg] lottie-player {
6508
6493
  [pgs~=initP] [pgs~=tooltip][pgs~=dropdown] [pgs~=tooltip-button][pgs~=dropdown-button] {
6509
6494
  --fa-size: .9rem;
6510
6495
  }
6511
- [pgs~=initP] [pgs~=searchbar] {
6496
+ [pgs~=initP] [pgs~=search] {
6497
+ --search-suggestions-background: var(--color-box);
6498
+ --search-suggestions-color: var(--color-text);
6499
+ --search-suggestions-border: var(--border-complete);
6500
+ --search-suggestions-borderRadius: var(--border-radius-input);
6501
+ --search-suggestions-boxShadow: var(--box-shadow);
6502
+ --search-suggestions-gap: 0;
6503
+ --search-suggestions-maxHeight: 32rem;
6504
+ --search-suggestions-offset: .5rem;
6505
+ --search-suggestions-padding: .5rem;
6506
+ --search-suggestions-item-padding: 1rem;
6507
+ --search-suggestions-item-selected-background: var(--color-primary);
6508
+ --search-suggestions-item-selected-color: var(--color-whiteFixed);
6512
6509
  position: relative;
6513
- flex: 1;
6514
- width: 100%;
6515
- overflow: hidden;
6516
- margin-inline: auto;
6510
+ display: flex;
6511
+ gap: var(--gap-texts);
6512
+ flex-direction: row;
6513
+ flex-wrap: nowrap;
6517
6514
  --button-size: 1.2rem;
6518
6515
  --button-border: unset;
6519
6516
  overflow-wrap: break-word;
6520
6517
  height: calc(var(--button-size) * 4);
6518
+ flex: 1;
6519
+ width: 100%;
6520
+ overflow: visible;
6521
+ margin-inline: auto;
6521
6522
  padding: 0;
6522
- gap: 0;
6523
6523
  }
6524
6524
  @media (min-width: 430px) {
6525
- [pgs~=initP] [pgs~=searchbar] {
6525
+ [pgs~=initP] [pgs~=search] {
6526
6526
  min-width: 21.4rem;
6527
6527
  }
6528
6528
  }
6529
- [pgs~=initP] [pgs~=searchbar] button {
6530
- outline: none;
6531
- border: none;
6532
- background: none;
6533
- padding-left: var(--button-size);
6534
- aspect-ratio: 1;
6529
+ [pgs~=initP] [pgs~=search] button {
6535
6530
  height: 100%;
6531
+ padding-left: var(--button-size);
6532
+ border: none;
6536
6533
  border-radius: var(--border-radius-input);
6534
+ outline: none;
6535
+ background: none;
6537
6536
  cursor: pointer;
6538
6537
  }
6539
- [pgs~=initP] [pgs~=searchbar] input {
6540
- cursor: text !important;
6541
- border: 0;
6538
+ [pgs~=initP] [pgs~=search] input {
6539
+ width: 100%;
6540
+ min-width: 21.4rem;
6541
+ height: 100%;
6542
6542
  padding: var(--button-size);
6543
+ padding-left: 0;
6543
6544
  margin: 2px;
6544
6545
  margin-left: 0;
6545
- font-family: var(--font);
6546
- font-weight: 600;
6547
- font-size: 1.6rem;
6546
+ border: 0;
6548
6547
  border-radius: var(--border-radius-input);
6549
- height: 100%;
6550
- width: 100%;
6551
- min-width: 21.4rem;
6552
6548
  background-color: transparent;
6553
6549
  color: contrast-color(color-mix(in srgb, var(--button-background) 77%, black));
6550
+ font-family: var(--font);
6551
+ font-size: 1.6rem;
6552
+ font-weight: 600;
6553
+ cursor: text !important;
6554
6554
  }
6555
- [pgs~=initP] [pgs~=searchbar] input::placeholder {
6555
+ [pgs~=initP] [pgs~=search] input::placeholder {
6556
6556
  color: contrast-color(color-mix(in srgb, var(--button-background) 77%, black));
6557
6557
  opacity: 0.6;
6558
6558
  }
6559
- [pgs~=initP] [pgs~=searchbar] input:focus-visible {
6559
+ [pgs~=initP] [pgs~=search] input:focus-visible {
6560
6560
  outline: unset;
6561
6561
  }
6562
- [pgs~=initP] [pgs~=searchbar]:has(input:focus-visible) {
6562
+ [pgs~=initP] [pgs~=search]:has(input:focus-visible) {
6563
6563
  outline: var(--focus-visible);
6564
6564
  }
6565
- [pgs~=initP] dialog [pgs~=searchbar] {
6566
- margin-inline: auto;
6565
+ [pgs~=initP] [pgs~=search] [pgs~=search-suggestions] {
6566
+ display: none;
6567
+ position: absolute;
6568
+ inset: calc(100% + var(--search-suggestions-offset)) 0 auto;
6569
+ z-index: 1000;
6570
+ flex-direction: column;
6571
+ gap: var(--search-suggestions-gap);
6572
+ max-height: var(--search-suggestions-maxHeight);
6573
+ overflow-y: auto;
6574
+ padding: var(--search-suggestions-padding);
6575
+ margin: 0;
6576
+ list-style: none;
6577
+ border: var(--search-suggestions-border);
6578
+ border-radius: calc(var(--search-suggestions-borderRadius) + var(--search-suggestions-padding));
6579
+ box-shadow: var(--search-suggestions-boxShadow);
6580
+ background: var(--search-suggestions-background);
6581
+ color: var(--search-suggestions-color);
6582
+ }
6583
+ [pgs~=initP] [pgs~=search] [pgs~=search-suggestions] i {
6584
+ color: var(--search-suggestions-color);
6585
+ --fa-primary-color: var(--search-suggestions-color);
6586
+ --fa-secondary-color: var(--search-suggestions-color);
6587
+ }
6588
+ [pgs~=initP] [pgs~=search] [pgs~=search-suggestions] [pgs~=search-suggestions-item] {
6589
+ padding: var(--search-suggestions-item-padding);
6590
+ border-radius: var(--search-suggestions-borderRadius);
6591
+ cursor: pointer;
6592
+ flex-wrap: nowrap;
6593
+ }
6594
+ [pgs~=initP] [pgs~=search] [pgs~=search-suggestions] [pgs~=search-suggestions-item][aria-selected=true], [pgs~=initP] [pgs~=search] [pgs~=search-suggestions] [pgs~=search-suggestions-item]:hover {
6595
+ background: var(--search-suggestions-item-selected-background);
6596
+ color: var(--search-suggestions-item-selected-color);
6597
+ }
6598
+ [pgs~=initP] [pgs~=search] [pgs~=search-suggestions] [pgs~=search-suggestions-item][aria-selected=true] i, [pgs~=initP] [pgs~=search] [pgs~=search-suggestions] [pgs~=search-suggestions-item]:hover i {
6599
+ color: var(--search-suggestions-item-selected-color);
6600
+ --fa-primary-color: var(--search-suggestions-item-selected-color);
6601
+ --fa-secondary-color: var(--search-suggestions-item-selected-color);
6602
+ }
6603
+ [pgs~=initP] [pgs~=search] [pgs~=search-suggestions] [pgs~=search-suggestions-item][aria-disabled=true] {
6604
+ cursor: not-allowed;
6605
+ opacity: 0.5;
6606
+ }
6607
+ [pgs~=initP] [pgs~=search] [pgs~=search-suggestions]:has([pgs~=search-suggestions-item]:hover) [pgs~=search-suggestions-item][aria-selected=true] {
6608
+ background: var(--search-suggestions-background);
6609
+ color: var(--search-suggestions-color);
6610
+ }
6611
+ [pgs~=initP] [pgs~=search] [pgs~=search-suggestions]:has([pgs~=search-suggestions-item]:hover) [pgs~=search-suggestions-item][aria-selected=true] i {
6612
+ color: var(--search-suggestions-color);
6613
+ --fa-primary-color: var(--search-suggestions-color);
6614
+ --fa-secondary-color: var(--search-suggestions-color);
6615
+ }
6616
+ [pgs~=initP] [pgs~=search] [pgs~=search-suggestions]:has([pgs~=search-suggestions-item]:hover) [pgs~=search-suggestions-item][aria-selected=true]:hover {
6617
+ background: var(--search-suggestions-item-selected-background);
6618
+ color: var(--search-suggestions-item-selected-color);
6619
+ }
6620
+ [pgs~=initP] [pgs~=search] [pgs~=search-suggestions]:has([pgs~=search-suggestions-item]:hover) [pgs~=search-suggestions-item][aria-selected=true]:hover i {
6621
+ color: var(--search-suggestions-item-selected-color);
6622
+ --fa-primary-color: var(--search-suggestions-item-selected-color);
6623
+ --fa-secondary-color: var(--search-suggestions-item-selected-color);
6624
+ }
6625
+ [pgs~=initP] [pgs~=search][pgs-state~=open] [pgs~=search-suggestions] {
6626
+ display: flex;
6627
+ }
6628
+ [pgs~=initP] dialog [pgs~=search] {
6567
6629
  max-width: calc(100% - var(--padding-page) * 2);
6568
6630
  height: max-content;
6631
+ margin-inline: auto;
6569
6632
  background-color: var(--color-white);
6570
6633
  }
6571
- [pgs~=initP] dialog [pgs~=searchbar] input {
6634
+ [pgs~=initP] dialog [pgs~=search] input {
6572
6635
  padding-block: 20px;
6573
6636
  }
6574
6637
  [pgs~=initP] [pgs~=logo] {
@@ -6577,10 +6640,10 @@ body [pgs~=bodyImg] img, [pgs~=bodyImg] object, [pgs~=bodyImg] lottie-player {
6577
6640
  --logo-height: var(--header-size, 6.0rem);
6578
6641
  --logo-finter: invert(1) hue-rotate(180deg) brightness(1.5);
6579
6642
  }
6580
- [pgs~=initP] [data-darkmode=true] [pgs~=logo-darkmode] [pgs~=logo-image] {
6643
+ [pgs~=initP] [pgs-state~=darkmode] [pgs~=logo][pgs-option~=logoDarkmode] [pgs~=logo-image] {
6581
6644
  filter: var(--logo-finter);
6582
6645
  }
6583
- [pgs~=initP] [pgs~=logo][pgs~=logo-darkmodeFixed][pgs~=logo-darkmode] [pgs~=logo-image] {
6646
+ [pgs~=initP] [pgs~=logo][pgs-option~=logoDarkmodeFixed] [pgs~=logo-image] {
6584
6647
  filter: var(--logo-finter);
6585
6648
  }
6586
6649
  @media (max-width: 800px) {