@schukai/monster 4.148.9 → 4.149.1

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 (207) hide show
  1. package/package.json +1 -1
  2. package/source/components/accessibility/stylesheet/locale-picker.mjs +61 -1
  3. package/source/components/content/image-editor.mjs +79 -11
  4. package/source/components/content/style/copy.pcss +1 -1
  5. package/source/components/content/stylesheet/camera-capture.mjs +1 -1
  6. package/source/components/content/stylesheet/copy.mjs +1 -1
  7. package/source/components/content/stylesheet/fetch-box.mjs +1 -1
  8. package/source/components/content/stylesheet/viewer.mjs +61 -1
  9. package/source/components/data/kpi-tile.mjs +5 -3
  10. package/source/components/data/metric-graph.mjs +22 -20
  11. package/source/components/data/metric.mjs +20 -18
  12. package/source/components/data/style/kpi-tile.pcss +65 -43
  13. package/source/components/data/style/metric-graph.pcss +35 -18
  14. package/source/components/data/style/metric.pcss +35 -28
  15. package/source/components/data/stylesheet/kpi-tile.mjs +61 -1
  16. package/source/components/data/stylesheet/metric-graph.mjs +61 -1
  17. package/source/components/data/stylesheet/metric.mjs +61 -1
  18. package/source/components/datatable/columnbar.mjs +4 -2
  19. package/source/components/datatable/datatable.mjs +73 -15
  20. package/source/components/datatable/filter/date-range.mjs +61 -61
  21. package/source/components/datatable/filter/date-time.mjs +5 -1
  22. package/source/components/datatable/filter/range.mjs +3 -3
  23. package/source/components/datatable/filter/select-operator.mjs +7 -1
  24. package/source/components/datatable/filter/text-operator.mjs +11 -3
  25. package/source/components/datatable/filter.mjs +16 -0
  26. package/source/components/datatable/pagination.mjs +122 -23
  27. package/source/components/datatable/style/column-bar.pcss +115 -23
  28. package/source/components/datatable/style/datatable.pcss +257 -29
  29. package/source/components/datatable/style/embedded-pagination.pcss +93 -43
  30. package/source/components/datatable/style/filter-button.pcss +1 -1
  31. package/source/components/datatable/style/filter-controls-defaults.pcss +49 -3
  32. package/source/components/datatable/style/filter-select.pcss +4 -1
  33. package/source/components/datatable/style/filter.pcss +18 -1
  34. package/source/components/datatable/stylesheet/change-button.mjs +61 -1
  35. package/source/components/datatable/stylesheet/column-bar.mjs +69 -1
  36. package/source/components/datatable/stylesheet/dataset.mjs +61 -1
  37. package/source/components/datatable/stylesheet/datatable.mjs +71 -1
  38. package/source/components/datatable/stylesheet/embedded-pagination.mjs +15 -1
  39. package/source/components/datatable/stylesheet/filter-button.mjs +1 -1
  40. package/source/components/datatable/stylesheet/filter-controls-defaults.mjs +1 -1
  41. package/source/components/datatable/stylesheet/filter-select.mjs +61 -1
  42. package/source/components/datatable/stylesheet/filter.mjs +61 -1
  43. package/source/components/datatable/stylesheet/pagination.mjs +67 -1
  44. package/source/components/datatable/stylesheet/save-button.mjs +61 -1
  45. package/source/components/datatable/stylesheet/status.mjs +61 -1
  46. package/source/components/form/action-button.mjs +2 -1
  47. package/source/components/form/button-bar.mjs +7 -2
  48. package/source/components/form/context-error.mjs +4 -3
  49. package/source/components/form/context-help.mjs +10 -4
  50. package/source/components/form/context-hint.mjs +1 -1
  51. package/source/components/form/context-info.mjs +1 -1
  52. package/source/components/form/context-note.mjs +1 -1
  53. package/source/components/form/context-success.mjs +1 -1
  54. package/source/components/form/context-warning.mjs +1 -1
  55. package/source/components/form/control-bar.mjs +300 -14
  56. package/source/components/form/credential-button.mjs +4 -2
  57. package/source/components/form/digits.mjs +28 -1
  58. package/source/components/form/field-set.mjs +30 -0
  59. package/source/components/form/login.mjs +13 -10
  60. package/source/components/form/password.mjs +6 -0
  61. package/source/components/form/popper-button.mjs +1 -1
  62. package/source/components/form/quantity.mjs +14 -6
  63. package/source/components/form/register-wizard.mjs +46 -26
  64. package/source/components/form/select.mjs +17 -10
  65. package/source/components/form/sheet.mjs +13 -2
  66. package/source/components/form/style/action-button.pcss +131 -5
  67. package/source/components/form/style/button-bar.pcss +204 -3
  68. package/source/components/form/style/control-bar.pcss +254 -26
  69. package/source/components/form/style/digits.pcss +7 -6
  70. package/source/components/form/style/input-group.pcss +65 -1
  71. package/source/components/form/style/login.pcss +1 -1
  72. package/source/components/form/style/mixin/field-set-layout.pcss +8 -0
  73. package/source/components/form/style/password.pcss +25 -1
  74. package/source/components/form/style/popper-button.pcss +1 -0
  75. package/source/components/form/style/quantity.pcss +11 -20
  76. package/source/components/form/style/select.pcss +52 -7
  77. package/source/components/form/style/sheet.pcss +70 -1
  78. package/source/components/form/style/state-button.pcss +5 -2
  79. package/source/components/form/style/toggle-switch.pcss +7 -4
  80. package/source/components/form/stylesheet/action-button.mjs +63 -1
  81. package/source/components/form/stylesheet/button-bar.mjs +153 -1
  82. package/source/components/form/stylesheet/button.mjs +67 -1
  83. package/source/components/form/stylesheet/control-bar.mjs +163 -1
  84. package/source/components/form/stylesheet/digits.mjs +1 -1
  85. package/source/components/form/stylesheet/field-layout.mjs +1 -1
  86. package/source/components/form/stylesheet/field-set.mjs +1 -1
  87. package/source/components/form/stylesheet/form.mjs +1 -1
  88. package/source/components/form/stylesheet/input-group.mjs +15 -1
  89. package/source/components/form/stylesheet/login.mjs +1 -1
  90. package/source/components/form/stylesheet/password.mjs +7 -1
  91. package/source/components/form/stylesheet/popper-button.mjs +61 -1
  92. package/source/components/form/stylesheet/quantity.mjs +1 -1
  93. package/source/components/form/stylesheet/register-wizard.mjs +1 -1
  94. package/source/components/form/stylesheet/select.mjs +3 -1
  95. package/source/components/form/stylesheet/sheet.mjs +1 -1
  96. package/source/components/form/stylesheet/state-button.mjs +3 -1
  97. package/source/components/form/stylesheet/toggle-switch.mjs +1 -1
  98. package/source/components/form/stylesheet/wizard.mjs +1 -1
  99. package/source/components/form/util/floating-ui.mjs +35 -7
  100. package/source/components/host/call-button.mjs +3 -1
  101. package/source/components/host/stylesheet/call-button.mjs +61 -1
  102. package/source/components/host/stylesheet/host.mjs +1 -1
  103. package/source/components/host/stylesheet/toggle-button.mjs +61 -1
  104. package/source/components/layout/full-screen.mjs +31 -23
  105. package/source/components/layout/iframe.mjs +5 -1
  106. package/source/components/layout/popper.mjs +34 -4
  107. package/source/components/layout/style/full-screen.pcss +94 -23
  108. package/source/components/layout/style/split-panel.pcss +57 -5
  109. package/source/components/layout/style/tabs.pcss +277 -47
  110. package/source/components/layout/style/vertical-tabs.pcss +147 -0
  111. package/source/components/layout/stylesheet/collapse.mjs +61 -1
  112. package/source/components/layout/stylesheet/details.mjs +61 -1
  113. package/source/components/layout/stylesheet/full-screen.mjs +23 -1
  114. package/source/components/layout/stylesheet/overlay.mjs +1 -1
  115. package/source/components/layout/stylesheet/panel.mjs +1 -1
  116. package/source/components/layout/stylesheet/slider.mjs +1 -1
  117. package/source/components/layout/stylesheet/split-panel.mjs +17 -1
  118. package/source/components/layout/stylesheet/tabs.mjs +97 -1
  119. package/source/components/layout/stylesheet/vertical-tabs.mjs +33 -95
  120. package/source/components/layout/tabs.mjs +63 -0
  121. package/source/components/layout/vertical-tabs.mjs +63 -0
  122. package/source/components/navigation/stylesheet/site-navigation.mjs +1 -1
  123. package/source/components/navigation/stylesheet/table-of-content.mjs +1 -1
  124. package/source/components/navigation/stylesheet/wizard-navigation.mjs +1 -1
  125. package/source/components/navigation/table-of-content.mjs +13 -0
  126. package/source/components/notify/style/notify.pcss +1 -2
  127. package/source/components/notify/stylesheet/message.mjs +1 -1
  128. package/source/components/notify/stylesheet/notify.mjs +1 -1
  129. package/source/components/state/style/log.pcss +1 -0
  130. package/source/components/state/style/state.pcss +5 -1
  131. package/source/components/state/stylesheet/log.mjs +1 -1
  132. package/source/components/state/stylesheet/state.mjs +7 -1
  133. package/source/components/style/button.css +61 -205
  134. package/source/components/style/button.pcss +78 -34
  135. package/source/components/style/common.css +1 -170
  136. package/source/components/style/common.pcss +5 -9
  137. package/source/components/style/form.css +1 -49
  138. package/source/components/style/form.pcss +34 -9
  139. package/source/components/style/link.css +1 -39
  140. package/source/components/style/link.pcss +8 -16
  141. package/source/components/style/mixin/button.pcss +21 -11
  142. package/source/components/style/mixin/property.pcss +8 -0
  143. package/source/components/style/mixin/skeleton.pcss +11 -5
  144. package/source/components/style/normalize.css +1 -144
  145. package/source/components/style/normalize.pcss +5 -5
  146. package/source/components/style/property.css +1 -387
  147. package/source/components/style/skeleton.css +1 -198
  148. package/source/components/style/skeleton.pcss +8 -2
  149. package/source/components/style/theme-modern.css +74 -0
  150. package/source/components/style/theme-modern.pcss +498 -0
  151. package/source/components/stylesheet/button.mjs +61 -1
  152. package/source/components/stylesheet/common.mjs +1 -1
  153. package/source/components/stylesheet/form.mjs +1 -1
  154. package/source/components/stylesheet/link.mjs +1 -1
  155. package/source/components/stylesheet/normalize.mjs +1 -1
  156. package/source/components/stylesheet/property.mjs +1 -1
  157. package/source/components/stylesheet/skeleton.mjs +1 -1
  158. package/source/components/stylesheet/theme-modern.mjs +110 -0
  159. package/source/components/time/stylesheet/day.mjs +61 -1
  160. package/source/components/time/stylesheet/month-calendar.mjs +61 -1
  161. package/source/components/time/timeline/stylesheet/appointment.mjs +61 -1
  162. package/source/components/time/timeline/stylesheet/segment.mjs +61 -1
  163. package/source/components/tree-menu/style/tree-menu.pcss +26 -37
  164. package/source/components/tree-menu/stylesheet/tree-menu.mjs +1 -1
  165. package/test/cases/components/content/image-editor.mjs +19 -0
  166. package/test/cases/components/datatable/accessibility-defaults.mjs +112 -0
  167. package/test/cases/components/datatable/filter-availability.mjs +37 -0
  168. package/test/cases/components/datatable/filter-date-range-layout.mjs +40 -0
  169. package/test/cases/components/datatable/filter-select-operator.mjs +118 -0
  170. package/test/cases/components/datatable/mobile-layout.mjs +254 -0
  171. package/test/cases/components/datatable/pagination.mjs +79 -0
  172. package/test/cases/components/datatable/responsive-breakpoint.mjs +41 -0
  173. package/test/cases/components/datatable/selection.mjs +149 -0
  174. package/test/cases/components/form/action-button-style.mjs +85 -0
  175. package/test/cases/components/form/button-bar.mjs +222 -3
  176. package/test/cases/components/form/context-theme-colors.mjs +59 -0
  177. package/test/cases/components/form/control-bar.mjs +228 -3
  178. package/test/cases/components/form/control-heights.mjs +103 -0
  179. package/test/cases/components/form/digits-accessibility.mjs +65 -0
  180. package/test/cases/components/form/field-set.mjs +54 -0
  181. package/test/cases/components/form/floating-ui.mjs +74 -0
  182. package/test/cases/components/form/input-group.mjs +61 -28
  183. package/test/cases/components/form/login.mjs +47 -0
  184. package/test/cases/components/form/password.mjs +63 -0
  185. package/test/cases/components/form/popper-button.mjs +30 -15
  186. package/test/cases/components/form/quantity-accessibility.mjs +46 -0
  187. package/test/cases/components/form/register-wizard.mjs +79 -0
  188. package/test/cases/components/form/select.mjs +94 -2
  189. package/test/cases/components/form/sheet.mjs +56 -2
  190. package/test/cases/components/host/toggle-button.mjs +50 -0
  191. package/test/cases/components/layout/full-screen.mjs +60 -0
  192. package/test/cases/components/layout/iframe-accessibility.mjs +44 -0
  193. package/test/cases/components/layout/popper.mjs +128 -0
  194. package/test/cases/components/layout/slit-panel.mjs +30 -1
  195. package/test/cases/components/layout/tabs.mjs +93 -0
  196. package/test/cases/components/navigation/table-of-content.mjs +18 -0
  197. package/test/cases/components/state/state-style.mjs +31 -0
  198. package/test/cases/components/style/action-menu.mjs +74 -0
  199. package/test/cases/components/style/button-sizing.mjs +31 -0
  200. package/test/cases/components/style/form-controls.mjs +50 -0
  201. package/test/cases/components/style/kpi-tile.mjs +60 -0
  202. package/test/cases/components/style/legacy-theme-compatibility.mjs +137 -0
  203. package/test/cases/components/style/metric-layout.mjs +94 -0
  204. package/test/cases/components/style/skeleton.mjs +69 -0
  205. package/test/cases/components/style/theme-component-catalog.mjs +853 -0
  206. package/test/cases/components/style/theme-modern.mjs +439 -0
  207. package/test/cases/components/style/theme-review-regressions.mjs +41 -0
@@ -89,13 +89,19 @@
89
89
  box-sizing: border-box;
90
90
 
91
91
  & > div {
92
- padding: 0.4rem 0.2rem;
92
+ padding: var(--monster-datatable-cell-padding, 0.4rem 0.2rem);
93
93
  @mixin text;
94
94
  display: flex;
95
95
  align-items: center;
96
96
  justify-content: flex-start;
97
97
  line-height: 1.2;
98
- border-bottom: 1px dashed var(--monster-theme-control-border-color);
98
+ border-bottom:
99
+ var(--monster-datatable-row-border-width, 1px)
100
+ var(--monster-datatable-row-border-style, dashed)
101
+ var(
102
+ --monster-datatable-row-border-color,
103
+ var(--monster-theme-control-border-color)
104
+ );
99
105
  box-sizing: border-box;
100
106
  min-width: 0;
101
107
  overflow: auto;
@@ -182,13 +188,16 @@
182
188
  & > div {
183
189
  @mixin text;
184
190
  font-weight: bold;
185
- padding: 0.3rem 0.2rem;
191
+ padding: var(--monster-datatable-header-cell-padding, 0.3rem 0.2rem);
186
192
  position: relative;
187
193
  display: flex;
188
194
  align-items: center;
189
195
  justify-content: flex-start;
190
196
  overflow: visible;
191
- padding-right: 28px;
197
+ padding-right: var(
198
+ --monster-datatable-header-cell-padding-inline-end,
199
+ 28px
200
+ );
192
201
 
193
202
  & a[data-monster-sortable] {
194
203
  flex-grow: 1;
@@ -322,18 +331,106 @@ monster-state[data-monster-role=empty-without-action]::part(action) {
322
331
  }
323
332
 
324
333
  & [data-monster-role="table-container"] {
334
+ padding: 0.75rem;
325
335
 
326
336
  & .bar {
337
+ --monster-datatable-utility-action-size: 2.25rem;
338
+ align-items: stretch;
339
+ column-gap: 0;
327
340
  display: flex;
328
- align-items: flex-end;
329
- flex-direction: column-reverse;
330
- gap: 0.1rem;
341
+ flex-flow: row wrap;
342
+ row-gap: 0.5rem;
343
+
344
+ & > slot[name="bar"]::slotted(*) {
345
+ flex: 1 0 100%;
346
+ min-width: 0;
347
+ order: 1;
348
+ width: 100%;
349
+ }
350
+
351
+ & > [data-monster-role="copy-all"] {
352
+ align-items: center;
353
+ background-color: var(--monster-theme-control-bg-color);
354
+ border: 1px solid var(--monster-theme-control-border-color);
355
+ border-radius: var(--monster-theme-control-border-radius);
356
+ box-sizing: border-box;
357
+ color: var(--monster-theme-control-color);
358
+ display: flex;
359
+ flex: 0 0 var(--monster-datatable-utility-action-size);
360
+ font-size: 0;
361
+ height: var(--monster-datatable-utility-action-size);
362
+ justify-content: center;
363
+ margin-inline-start: auto;
364
+ min-height: var(--monster-datatable-utility-action-size);
365
+ min-width: var(--monster-datatable-utility-action-size);
366
+ order: 2;
367
+ padding: 0;
368
+ text-align: center;
369
+ text-decoration: none;
370
+ width: var(--monster-datatable-utility-action-size);
371
+ }
372
+
373
+ & > [data-monster-role="copy-all"]::after {
374
+ margin: 0;
375
+ }
376
+
377
+ & > [data-monster-role="copy-all"]:hover {
378
+ background-color: var(--monster-theme-control-hover-bg-color);
379
+ color: var(--monster-theme-control-hover-color);
380
+ }
381
+
382
+ & > monster-column-bar {
383
+ flex: 0 0 var(--monster-datatable-utility-action-size);
384
+ height: var(--monster-datatable-utility-action-size);
385
+ min-width: var(--monster-datatable-utility-action-size);
386
+ order: 3;
387
+ width: var(--monster-datatable-utility-action-size);
388
+ }
389
+
390
+ & > monster-context-help {
391
+ flex: 0 0 var(--monster-datatable-utility-action-size);
392
+ height: var(--monster-datatable-utility-action-size);
393
+ margin: 0;
394
+ min-height: var(--monster-datatable-utility-action-size);
395
+ order: 4;
396
+ width: var(--monster-datatable-utility-action-size);
397
+ }
398
+
399
+ & > monster-context-help::part(control) {
400
+ height: 100%;
401
+ }
402
+
403
+ & > monster-context-help::part(button) {
404
+ align-items: center;
405
+ background-color: var(--monster-theme-control-bg-color);
406
+ border: 1px solid var(--monster-theme-control-border-color);
407
+ border-radius: var(--monster-theme-control-border-radius);
408
+ box-sizing: border-box;
409
+ color: var(--monster-theme-control-color);
410
+ cursor: pointer;
411
+ display: flex;
412
+ height: 100%;
413
+ justify-content: center;
414
+ min-height: var(--monster-datatable-utility-action-size);
415
+ width: 100%;
416
+ }
331
417
  }
332
418
 
333
419
  & [data-monster-head]:before {
334
- font-weight: bold;
335
- margin-right: 10px;
336
420
  content: attr(data-monster-head);
421
+ color: var(
422
+ --monster-theme-text-muted,
423
+ var(--monster-color-primary-2)
424
+ );
425
+ font-size: 0.75rem;
426
+ font-weight: 600;
427
+ letter-spacing: 0.04em;
428
+ line-height: 1.35;
429
+ max-inline-size: 100%;
430
+ min-inline-size: 0;
431
+ overflow-wrap: anywhere;
432
+ text-transform: uppercase;
433
+ white-space: normal;
337
434
  }
338
435
 
339
436
  @for $i from 0 to 500 {
@@ -344,32 +441,163 @@ monster-state[data-monster-role=empty-without-action]::part(action) {
344
441
  }
345
442
 
346
443
  & ::slotted(.monster-button-group) {
347
- display: flex;
348
- flex-direction: column !important;
444
+ align-items: stretch;
445
+ display: grid;
446
+ gap: 0.5rem;
447
+ grid-template-columns: 1fr;
448
+ width: 100%;
349
449
  }
350
- }
351
-
352
- [data-monster-role=control].small {
353
450
 
354
- ::slotted(.monster-button-group) {
355
- align-items: flex-end;
451
+ & [data-monster-role="table-scroll"] {
452
+ overflow-x: visible;
453
+ padding-bottom: 1rem;
356
454
  }
357
455
 
358
- [data-monster-role=datatable] > div {
359
- display: flex;
360
- align-items: flex-start;
361
- justify-content: flex-start;
456
+ & [data-monster-role=datatable] {
457
+ container-name: monster-datatable-responsive;
458
+ container-type: inline-size;
459
+ gap: 0;
460
+
461
+ & > div {
462
+ background-color: var(
463
+ --monster-theme-control-bg-color,
464
+ var(--monster-bg-color-primary-1)
465
+ );
466
+ border: 0;
467
+ border-bottom: 1px solid var(--monster-theme-control-border-color);
468
+ border-left: 1px solid var(--monster-theme-control-border-color);
469
+ border-right: 1px solid var(--monster-theme-control-border-color);
470
+ display: grid;
471
+ gap: 0.35rem 0.75rem;
472
+ grid-template-columns:
473
+ minmax(5.5rem, 0.35fr)
474
+ minmax(0, 1fr);
475
+ justify-content: stretch;
476
+ min-height: 2.75rem;
477
+ overflow: visible;
478
+ padding: 0.625rem 0.75rem;
479
+ white-space: normal;
480
+ word-break: break-word;
362
481
 
363
- &.start {
364
- justify-content: flex-start;
365
- }
482
+ &.start,
483
+ &.end,
484
+ &.center {
485
+ justify-content: stretch;
486
+ }
366
487
 
367
- &.end {
368
- justify-content: flex-start;
369
- }
488
+ &[data-monster-datatable-row-start] {
489
+ border-radius:
490
+ var(--monster-theme-control-border-radius)
491
+ var(--monster-theme-control-border-radius)
492
+ 0
493
+ 0;
494
+ border-top: 1px solid var(--monster-theme-control-border-color);
495
+ margin-top: 0.75rem;
496
+ }
370
497
 
371
- &.center {
372
- justify-content: flex-start;
498
+ &[data-monster-datatable-row-end] {
499
+ border-radius:
500
+ 0
501
+ 0
502
+ var(--monster-theme-control-border-radius)
503
+ var(--monster-theme-control-border-radius);
504
+ margin-bottom: 0.75rem;
505
+ }
506
+
507
+ &[data-monster-datatable-row-start][data-monster-datatable-row-end] {
508
+ border-radius: var(--monster-theme-control-border-radius);
509
+ }
510
+
511
+ &[data-monster-features~="select"] {
512
+ align-items: center;
513
+ background-color: var(
514
+ --monster-theme-surface-subtle,
515
+ var(--monster-bg-color-primary-2)
516
+ );
517
+ display: flex;
518
+ min-height: max(
519
+ 2.75rem,
520
+ var(--monster-control-min-block-size, 44px)
521
+ );
522
+ }
523
+
524
+ &:has(
525
+ :is(
526
+ monster-button,
527
+ monster-button-bar,
528
+ monster-action-button,
529
+ monster-select,
530
+ monster-filter-select,
531
+ select[multiple]
532
+ )
533
+ ) {
534
+ grid-template-columns: minmax(0, 1fr);
535
+ }
536
+
537
+ & :is(
538
+ monster-select,
539
+ monster-filter-select,
540
+ select[multiple]
541
+ ) {
542
+ box-sizing: border-box;
543
+ display: block;
544
+ max-width: 100%;
545
+ min-width: 0;
546
+ width: 100%;
547
+ }
548
+
549
+ & :is(monster-button-bar, .monster-button-group) {
550
+ --monster-button-bar-gap: 0;
551
+ --monster-button-bar-item-spacing: 0;
552
+ --monster-control-bar-button-inline-size: 100%;
553
+ --monster-control-bar-height: max(2.75rem, 44px);
554
+ --monster-control-bar-item-flex: 1 1 0;
555
+ --monster-control-bar-slot-flex: 1 1 auto;
556
+ box-sizing: border-box;
557
+ display: flex;
558
+ flex-wrap: wrap;
559
+ gap: 0;
560
+ max-width: 100%;
561
+ min-width: 0;
562
+ width: 100%;
563
+ }
564
+
565
+ & :is(monster-button, monster-action-button, button, [role=button]) {
566
+ box-sizing: border-box;
567
+ flex: 1 1 8rem;
568
+ min-height: max(
569
+ 2.75rem,
570
+ var(--monster-control-min-block-size, 44px)
571
+ );
572
+ min-width: 0;
573
+ }
574
+
575
+ & > :is(monster-button, monster-action-button) {
576
+ display: block;
577
+ width: 100%;
578
+ }
579
+
580
+ &.selected {
581
+ background-color: var(--monster-bg-color-selection-2);
582
+ color: var(--monster-color-selection-2);
583
+ }
373
584
  }
374
585
  }
375
- }
586
+ }
587
+
588
+ @media (pointer: coarse) {
589
+ [data-monster-role="control"].small
590
+ [data-monster-role="table-container"]
591
+ .bar {
592
+ --monster-datatable-utility-action-size:
593
+ var(--monster-control-min-block-size, 44px);
594
+ }
595
+ }
596
+
597
+ @container monster-datatable-responsive (max-width: 26rem) {
598
+ [data-monster-role="control"].small
599
+ [data-monster-role=datatable]
600
+ > div {
601
+ grid-template-columns: minmax(0, 1fr);
602
+ }
603
+ }
@@ -11,9 +11,12 @@
11
11
 
12
12
  [data-monster-role=pagination] {
13
13
  @mixin text;
14
+ align-items: center;
14
15
  display: flex;
15
16
  justify-content: center;
16
17
  box-sizing: border-box;
18
+ min-height: var(--monster-control-min-block-size, 44px);
19
+ width: 100%;
17
20
 
18
21
  & ul {
19
22
  display: flex;
@@ -23,8 +26,8 @@
23
26
  list-style: none;
24
27
 
25
28
  padding-left: 0;
26
- margin: 20px 0;
27
-
29
+ margin: 0;
30
+ width: 100%;
28
31
 
29
32
  }
30
33
 
@@ -39,14 +42,38 @@
39
42
  visibility: hidden;
40
43
  }
41
44
 
42
- & ul.pagination-numbers-hidden {
43
- justify-content: space-between;
44
- gap: 0.5rem;
45
+ & ul.pagination-numbers-hidden,
46
+ & ul.pagination-compact {
47
+ align-items: center;
48
+ background-color: transparent;
49
+ border-radius: 0;
50
+ display: grid;
51
+ gap: var(--monster-space-1, 2px);
52
+ grid-template-columns:
53
+ var(--monster-control-min-block-size, 44px)
54
+ minmax(max-content, 1fr)
55
+ var(--monster-control-min-block-size, 44px);
56
+ justify-content: stretch;
57
+ overflow: visible;
58
+ width: 100%;
45
59
  }
46
60
 
47
- & ul.pagination-compact {
48
- justify-content: space-between;
49
- gap: 0.5rem;
61
+ & ul.pagination-numbers-hidden li[data-monster-role="pagination-prev"],
62
+ & ul.pagination-compact li[data-monster-role="pagination-prev"] {
63
+ grid-column: 1;
64
+ justify-self: start;
65
+ }
66
+
67
+ & ul.pagination-numbers-hidden li[data-monster-role="pagination-summary"],
68
+ & ul.pagination-compact li[data-monster-role="pagination-summary"] {
69
+ grid-column: 2;
70
+ justify-self: stretch;
71
+ }
72
+
73
+ & ul.pagination-numbers-hidden li[data-monster-role="pagination-next"],
74
+ & ul.pagination-compact li[data-monster-role="pagination-next"] {
75
+ grid-column: 3;
76
+ justify-self: end;
50
77
  }
51
78
 
52
79
  & ul li {
@@ -61,13 +88,32 @@
61
88
 
62
89
 
63
90
  & a, & a:link, & a:visited, & a:hover, & a:active, & a:focus {
64
- width: max-content;
91
+ align-items: center;
92
+ box-sizing: border-box;
65
93
  color: var(--monster-theme-control-color);
66
- background-color: var(--monster-theme-control-bg-color);
94
+ background-color: var(--monster-bg-color-primary-1);
95
+ border-color: var(--monster-bg-color-primary-1);
96
+ border-radius: var(
97
+ --monster-button-border-radius,
98
+ var(--monster-border-radius)
99
+ );
100
+ border-style: var(
101
+ --monster-button-border-style,
102
+ var(--monster-border-style)
103
+ );
104
+ border-width: var(
105
+ --monster-button-border-width,
106
+ var(--monster-border-width)
107
+ );
108
+ display: flex;
109
+ justify-content: center;
110
+ min-height: var(--monster-control-min-block-size, 44px);
111
+ min-width: var(--monster-control-min-block-size, 44px);
67
112
  text-decoration: none;
68
113
  outline: none;
69
- padding: 0 0.4rem;
114
+ padding: 0 0.5rem;
70
115
  white-space: nowrap;
116
+ width: 100%;
71
117
  }
72
118
 
73
119
  & a:hover, & a:active, & a:focus {
@@ -88,21 +134,27 @@
88
134
 
89
135
  & a.current {
90
136
  cursor: unset;
91
- color: var(--monster-color-primary-3);
92
- background-color: var(--monster-bg-color-primary-3);
137
+ color: var(--monster-color-primary-4);
138
+ background-color: var(--monster-bg-color-primary-4);
139
+ border-color: var(--monster-bg-color-primary-4);
93
140
  }
94
141
 
95
142
  & a.disabled {
143
+ background-color: var(--monster-bg-color-primary-disabled-1);
144
+ border-color: var(--monster-bg-color-primary-1);
145
+ color: var(--monster-color-primary-disabled-1);
96
146
  cursor: not-allowed;
147
+ opacity: 1;
148
+ pointer-events: none;
97
149
  }
98
150
  }
99
151
 
100
152
  & ul.pagination-compact li {
101
- padding: 0 4px;
153
+ padding: 0;
102
154
  }
103
155
 
104
156
  & ul.pagination-numbers-hidden li {
105
- padding: 0 6px;
157
+ padding: 0;
106
158
  }
107
159
 
108
160
  & ul.pagination-numbers-hidden li {
@@ -114,9 +166,10 @@
114
166
  }
115
167
 
116
168
  & [data-monster-role="pagination-summary"] {
169
+ align-items: center;
117
170
  display: none;
118
- padding: 0 6px;
119
- font-size: 0.75rem;
171
+ min-height: var(--monster-control-min-block-size, 44px);
172
+ font-size: 0.8125rem;
120
173
  white-space: nowrap;
121
174
  text-align: center;
122
175
  flex: 1 1 auto;
@@ -124,12 +177,30 @@
124
177
  align-items: center;
125
178
  }
126
179
 
127
- & ul.pagination-numbers-hidden [data-monster-role="pagination-summary"] {
128
- border-left: none;
129
- }
130
-
180
+ & ul.pagination-numbers-hidden [data-monster-role="pagination-summary"],
131
181
  & ul.pagination-compact [data-monster-role="pagination-summary"] {
132
- border-left: none;
182
+ background-color: var(--monster-bg-color-primary-4);
183
+ border-color: var(--monster-bg-color-primary-4);
184
+ border-radius: var(
185
+ --monster-button-border-radius,
186
+ var(--monster-border-radius)
187
+ );
188
+ border-style: var(
189
+ --monster-button-border-style,
190
+ var(--monster-border-style)
191
+ );
192
+ border-width: var(
193
+ --monster-button-border-width,
194
+ var(--monster-border-width)
195
+ );
196
+ box-sizing: border-box;
197
+ color: var(--monster-color-primary-4);
198
+ font-variant-numeric: tabular-nums;
199
+ min-inline-size: var(
200
+ --monster-embedded-pagination-summary-min-inline-size,
201
+ 5rem
202
+ );
203
+ padding: 0 var(--monster-space-2, 8px);
133
204
  }
134
205
 
135
206
  & ul.pagination-numbers-hidden [data-monster-role="pagination-item"] {
@@ -146,27 +217,6 @@
146
217
  }
147
218
  }
148
219
 
149
- @mixin viewport-7 {
150
-
151
- & ul li {
152
- padding: 0 2px;
153
- }
154
-
155
- & ul li:nth-child(1) {
156
- display: none;
157
- }
158
-
159
- & ul li:nth-child(2) {
160
- display: none;
161
- }
162
-
163
- & ul li:nth-child(3) {
164
- border-left: none;
165
- }
166
-
167
- }
168
-
169
-
170
220
  }
171
221
 
172
222
 
@@ -7,7 +7,7 @@
7
7
  [data-monster-role="control"] {
8
8
  width: max-content;
9
9
 
10
- & a {
10
+ & button {
11
11
  display: flex;
12
12
  align-items: center;
13
13
  background: none;
@@ -14,15 +14,33 @@ div[data-monster-role=control] {
14
14
  display: flex;
15
15
 
16
16
  & .form-container {
17
- max-width: 600px;
18
- margin: 0 auto;
17
+ box-sizing: border-box;
18
+ inline-size: 100%;
19
19
 
20
20
  /** this value is from the form mixin */
21
21
  & .form-group {
22
+ align-items: center;
23
+ display: grid;
24
+ gap: 0.5rem;
25
+ grid-template-columns:
26
+ auto
27
+ minmax(5rem, auto)
28
+ minmax(8rem, 1fr)
29
+ minmax(7rem, 0.75fr);
22
30
  margin-bottom: 0.2rem;
31
+
32
+ &[data-monster-range-type="from-to"] {
33
+ grid-template-columns:
34
+ auto
35
+ auto
36
+ minmax(8rem, 1fr)
37
+ auto
38
+ minmax(8rem, 1fr);
39
+ }
23
40
 
24
41
  & input[type=number] {
25
- width: 5rem;
42
+ min-width: 0;
43
+ width: 100%;
26
44
  text-align: right;
27
45
 
28
46
  }
@@ -47,5 +65,33 @@ div[data-monster-role=control] {
47
65
 
48
66
 
49
67
  [data-monster-role="popper"] {
68
+ box-sizing: border-box;
69
+ inline-size: min(34rem, calc(100vw - 2rem));
70
+ max-inline-size: calc(100vw - 2rem);
71
+ overflow: auto;
50
72
  position: absolute;
51
73
  }
74
+
75
+ @media (max-width: 36rem) {
76
+ div[data-monster-role=control] .form-container .form-group,
77
+ div[data-monster-role=control]
78
+ .form-container
79
+ .form-group[data-monster-range-type="from-to"] {
80
+ grid-template-columns: auto minmax(0, 1fr);
81
+ }
82
+
83
+ div[data-monster-role=control]
84
+ .form-container
85
+ .form-group
86
+ > :is(input:not([type="radio"]):not([type="hidden"]), select) {
87
+ grid-column: 2 / -1;
88
+ width: 100%;
89
+ }
90
+
91
+ div[data-monster-role=control]
92
+ .form-container
93
+ .form-group
94
+ > label:not(:first-of-type) {
95
+ grid-column: 2 / -1;
96
+ }
97
+ }
@@ -26,11 +26,14 @@
26
26
 
27
27
  /** fix for the control */
28
28
  [data-monster-role="option-control"] {
29
+ height: var(--monster-select-option-control-size, 1rem);
29
30
  margin-right: 8px;
31
+ min-height: var(--monster-select-option-control-size, 1rem);
32
+ min-width: var(--monster-select-option-control-size, 1rem);
33
+ width: var(--monster-select-option-control-size, 1rem);
30
34
  }
31
35
 
32
36
 
33
37
  [data-monster-role="container"] {
34
38
  display: flex;
35
39
  }
36
-
@@ -36,16 +36,33 @@
36
36
  & monster-input-group::part(control) {
37
37
  height: 100%;
38
38
  align-items: stretch;
39
+ min-block-size: calc(
40
+ var(--monster-control-min-block-size, 2.75rem) -
41
+ (2 * var(--monster-theme-control-border-width, 1px))
42
+ );
39
43
  }
40
44
 
41
45
  & monster-input-group [data-monster-role=operator] {
46
+ box-sizing: border-box;
42
47
  height: 100%;
48
+ min-block-size: calc(
49
+ var(--monster-control-min-block-size, 2.75rem) -
50
+ (2 * var(--monster-theme-control-border-width, 1px))
51
+ );
43
52
  align-self: stretch;
44
53
  border: none;
45
- background-color: var(--monster-theme-control-bg-color);
54
+ background-color: transparent;
46
55
  color: var(--monster-theme-control-color);
47
56
  }
48
57
 
58
+ & monster-input-group [data-monster-role=query] {
59
+ box-sizing: border-box;
60
+ min-block-size: calc(
61
+ var(--monster-control-min-block-size, 2.75rem) -
62
+ (2 * var(--monster-theme-control-border-width, 1px))
63
+ );
64
+ }
65
+
49
66
  & [data-monster-role=layout] {
50
67
 
51
68
  & [data-monster-role="remove-badges"] {