@wpmoo/ui 1.0.0-rc.3 → 1.0.0-rc.5

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 (82) hide show
  1. package/ASSET_LICENSE.md +3 -1
  2. package/README.md +55 -123
  3. package/certification.json +14 -2
  4. package/dist/assets/css/moo-ui.css +189 -122
  5. package/dist/assets/css/moo-ui.min.css +3 -3
  6. package/dist/assets/css/moo.css +72 -17
  7. package/dist/assets/css/moo.min.css +3 -3
  8. package/dist/js/chart.js +1 -1
  9. package/dist/js/chart.min.js +1 -1
  10. package/dist/js/combobox.js +71 -18
  11. package/dist/js/context-menu.js +1 -1
  12. package/dist/js/datatable.js +135 -25
  13. package/dist/js/datepicker.js +1 -1
  14. package/dist/js/datepicker.min.js +1 -1
  15. package/dist/js/moo-ui.js +19047 -0
  16. package/dist/js/moo-ui.min.js +27 -0
  17. package/dist/js/sidebar.js +1 -1
  18. package/dist/js/slider.js +1 -1
  19. package/package.json +18 -6
  20. package/scss/_components.scss +73 -0
  21. package/scss/_settings.scss +8 -0
  22. package/scss/components/_accordion.scss +65 -0
  23. package/scss/components/_alert.scss +94 -0
  24. package/scss/components/_avatar.scss +154 -0
  25. package/scss/components/_badge.scss +33 -0
  26. package/scss/components/_breadcrumb.scss +130 -0
  27. package/scss/components/_button.scss +228 -0
  28. package/scss/components/_button_group.scss +81 -0
  29. package/scss/components/_card.scss +142 -0
  30. package/scss/components/_checkbox.scss +115 -0
  31. package/scss/components/_close_button.scss +59 -0
  32. package/scss/components/_collapsible.scss +43 -0
  33. package/scss/components/_combobox.scss +258 -0
  34. package/scss/components/_context-menu.scss +28 -0
  35. package/scss/components/_datatable.scss +1082 -0
  36. package/scss/components/_datepicker.scss +236 -0
  37. package/scss/components/_dialog.scss +66 -0
  38. package/scss/components/_dropdown.scss +202 -0
  39. package/scss/components/_field.scss +125 -0
  40. package/scss/components/_input.scss +35 -0
  41. package/scss/components/_input_group.scss +201 -0
  42. package/scss/components/_kbd.scss +10 -0
  43. package/scss/components/_menubar.scss +16 -0
  44. package/scss/components/_navigation.scss +41 -0
  45. package/scss/components/_pagination.scss +70 -0
  46. package/scss/components/_popover.scss +47 -0
  47. package/scss/components/_progress.scss +7 -0
  48. package/scss/components/_radio_group.scss +9 -0
  49. package/scss/components/_select.scss +7 -0
  50. package/scss/components/_separator.scss +15 -0
  51. package/scss/components/_sheet.scss +32 -0
  52. package/scss/components/_sidebar.scss +7 -0
  53. package/scss/components/_skeleton.scss +17 -0
  54. package/scss/components/_slider.scss +214 -0
  55. package/scss/components/_spinner.scss +17 -0
  56. package/scss/components/_switch.scss +25 -0
  57. package/scss/components/_table.scss +7 -0
  58. package/scss/components/_tabs.scss +139 -0
  59. package/scss/components/_textarea.scss +7 -0
  60. package/scss/components/_toast.scss +119 -0
  61. package/scss/components/_toggle_group.scss +19 -0
  62. package/scss/components/_tooltip.scss +83 -0
  63. package/scss/components/sidebar/_collapsed.scss +187 -0
  64. package/scss/components/sidebar/_identity.scss +72 -0
  65. package/scss/components/sidebar/_inset.scss +59 -0
  66. package/scss/components/sidebar/_layout.scss +176 -0
  67. package/scss/components/sidebar/_menus.scss +236 -0
  68. package/scss/foundations/_core_global_primitives.scss +5 -0
  69. package/scss/foundations/_core_state_layer.scss +25 -0
  70. package/scss/foundations/_focus.scss +139 -0
  71. package/scss/foundations/_overlay_backdrop.scss +19 -0
  72. package/scss/moo-core.scss +47 -0
  73. package/scss/moo-ui.scss +50 -0
  74. package/scss/settings/_bootstrap_overrides.scss +11 -0
  75. package/scss/settings/_component_variables.scss +480 -0
  76. package/scss/settings/_forms.scss +65 -0
  77. package/scss/settings/_palette.scss +132 -0
  78. package/scss/themes/_scoped_core.scss +239 -0
  79. package/scss/themes/_standalone_root.scss +119 -0
  80. package/scss/utilities/_scroll_fade.scss +193 -0
  81. package/scss/utilities/_scroll_fade_primitives.scss +43 -0
  82. package/THIRD_PARTY_NOTICES.md +0 -53
@@ -137,7 +137,7 @@
137
137
  --bs-focus-ring-opacity: 0.25;
138
138
  --bs-focus-ring-color: var(--moo-ring);
139
139
  --moo-overlay-backdrop-opacity: 1;
140
- --moo-overlay-backdrop-bg: color-mix(in srgb, var(--bs-black) 10%, transparent);
140
+ --moo-overlay-backdrop-bg: color-mix(in srgb, #0a0a0a 10%, transparent);
141
141
  --moo-overlay-backdrop-filter: blur(8px);
142
142
  --moo-input-group-border-radius: var(--bs-border-radius-lg);
143
143
  --moo-disabled-control-opacity: 0.5;
@@ -3858,6 +3858,10 @@
3858
3858
  color: #fff !important;
3859
3859
  background-color: RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important;
3860
3860
  }
3861
+ .form-label,
3862
+ .form-check-label {
3863
+ user-select: none;
3864
+ }
3861
3865
  :is(.btn, a, button, summary, [tabindex]):not(input, textarea, select):focus-visible,
3862
3866
  :is(.form-control, .form-select, .form-check-input):focus-visible {
3863
3867
  border-color: var(--moo-ring);
@@ -4108,6 +4112,21 @@
4108
4112
  .form-control:not(textarea):not([type="file"]):not(.form-control-sm, .form-control-lg) {
4109
4113
  min-height: calc(2rem + var(--bs-border-width) * 2);
4110
4114
  }
4115
+ .form-control[type="file"]:not(.form-control-sm, .form-control-lg)::file-selector-button {
4116
+ min-height: calc(2rem - var(--bs-border-width) * 2);
4117
+ }
4118
+ .form-control[type="time"] {
4119
+ appearance: none;
4120
+ position: relative;
4121
+ }
4122
+ .form-control[type="time"]::-webkit-calendar-picker-indicator {
4123
+ position: absolute;
4124
+ inset: 0;
4125
+ width: 100%;
4126
+ height: 100%;
4127
+ opacity: 0;
4128
+ cursor: pointer;
4129
+ }
4111
4130
  .form-control:disabled,
4112
4131
  .form-select:disabled {
4113
4132
  opacity: var(--moo-disabled-control-opacity);
@@ -4176,7 +4195,7 @@
4176
4195
  border-radius: var(--moo-input-group-border-radius);
4177
4196
  background-color: var(--moo-muted-surface);
4178
4197
  opacity: 0;
4179
- transition: opacity opacity 0.15s linear;
4198
+ transition: opacity 0.15s linear;
4180
4199
  }
4181
4200
  .input-group > .btn-ghost:hover::before,
4182
4201
  .input-group > .btn-ghost:is(.show, [aria-expanded="true"])::before {
@@ -4472,6 +4491,24 @@ label.btn {
4472
4491
  [dir="rtl"] .btn-toolbar > .btn {
4473
4492
  unicode-bidi: plaintext;
4474
4493
  }
4494
+ .btn-group > .btn:hover:not(:focus-visible):not(.active),
4495
+ .btn-group > .btn:focus:not(:focus-visible):not(.active),
4496
+ .btn-group > .btn:active:not(:focus-visible):not(.active),
4497
+ .btn-group-vertical > .btn:hover:not(:focus-visible):not(.active),
4498
+ .btn-group-vertical > .btn:focus:not(:focus-visible):not(.active),
4499
+ .btn-group-vertical > .btn:active:not(:focus-visible):not(.active) {
4500
+ z-index: auto;
4501
+ }
4502
+ .btn-group > .btn-check:checked + .btn:hover,
4503
+ .btn-group > .btn-check:focus + .btn:hover,
4504
+ .btn-group-vertical > .btn-check:checked + .btn:hover,
4505
+ .btn-group-vertical > .btn-check:focus + .btn:hover {
4506
+ z-index: 1;
4507
+ }
4508
+ .btn-group > .btn:not(:disabled):not(.disabled):not([aria-disabled="true"]):active,
4509
+ .btn-group-vertical > .btn:not(:disabled):not(.disabled):not([aria-disabled="true"]):active {
4510
+ transform: none;
4511
+ }
4475
4512
  .btn-group > .btn-icon,
4476
4513
  .btn-group > .btn-icon-xs,
4477
4514
  .btn-group > .btn-icon-sm,
@@ -4510,7 +4547,7 @@ label.btn {
4510
4547
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--moo-ring) 50%, transparent);
4511
4548
  }
4512
4549
  .card {
4513
- --bs-card-bg: var(--moo-surface);
4550
+ --bs-card-bg: color-mix(in srgb, var(--bs-secondary-bg) 5%, var(--bs-body-bg));
4514
4551
  --bs-card-color: var(--moo-foreground);
4515
4552
  --bs-card-border-color: var(--moo-border);
4516
4553
  --bs-card-border-radius: var(--bs-border-radius-xl);
@@ -4520,6 +4557,7 @@ label.btn {
4520
4557
  --bs-card-cap-color: var(--moo-foreground);
4521
4558
  --bs-card-title-color: var(--moo-foreground);
4522
4559
  --bs-card-subtitle-color: var(--moo-muted-foreground);
4560
+ --moo-card-footer-bg: color-mix(in srgb, var(--bs-secondary-bg) 20%, var(--bs-body-bg));
4523
4561
  --moo-card-spacing: 1rem;
4524
4562
  gap: var(--moo-card-spacing);
4525
4563
  padding-block: var(--moo-card-spacing);
@@ -4532,6 +4570,10 @@ label.btn {
4532
4570
  .card:has(> .card-image) {
4533
4571
  padding-block-start: 0;
4534
4572
  }
4573
+ .card[data-bs-theme="dark"], :where([data-bs-theme="dark"]) .card:not([data-bs-theme="light"]):not([data-bs-theme="light"] *) {
4574
+ --bs-card-bg: color-mix(in srgb, var(--bs-secondary-bg) 30%, var(--bs-body-bg));
4575
+ --moo-card-footer-bg: color-mix(in srgb, var(--bs-secondary-bg) 50%, var(--bs-body-bg));
4576
+ }
4535
4577
  .card--sm {
4536
4578
  --moo-card-spacing: 0.75rem;
4537
4579
  }
@@ -4568,7 +4610,7 @@ label.btn {
4568
4610
  gap: 0.5rem;
4569
4611
  padding: var(--moo-card-spacing);
4570
4612
  border-top: var(--bs-card-border-width) solid var(--bs-card-border-color);
4571
- background-color: var(--moo-muted-surface);
4613
+ background-color: var(--moo-card-footer-bg);
4572
4614
  }
4573
4615
  .card-img-top {
4574
4616
  border-top-left-radius: var(--bs-card-border-radius);
@@ -5870,6 +5912,12 @@ label.btn {
5870
5912
  .slider--vertical {
5871
5913
  width: max-content;
5872
5914
  }
5915
+ .slider--vertical [data-slider-output] {
5916
+ display: inline-block;
5917
+ min-width: 3ch;
5918
+ text-align: end;
5919
+ font-variant-numeric: tabular-nums;
5920
+ }
5873
5921
  .slider--vertical .slider-track {
5874
5922
  justify-content: center;
5875
5923
  justify-self: center;
@@ -6039,6 +6087,9 @@ label.btn {
6039
6087
  .accordion-flush .accordion-button {
6040
6088
  font-weight: 500;
6041
6089
  }
6090
+ .card .accordion {
6091
+ --bs-accordion-bg: transparent;
6092
+ }
6042
6093
  .tabs-list {
6043
6094
  display: inline-flex;
6044
6095
  gap: 0.125rem;
@@ -6503,9 +6554,8 @@ label.btn {
6503
6554
  gap: 0.75rem;
6504
6555
  width: 100%;
6505
6556
  }
6506
- .moo-datepicker-time-row .moo-datepicker {
6507
- flex: 1 1 12rem;
6508
- width: auto;
6557
+ .moo-datepicker-time-row > :first-child {
6558
+ min-width: 0;
6509
6559
  }
6510
6560
  .moo-datepicker-time {
6511
6561
  flex: 0 0 auto;
@@ -6822,10 +6872,11 @@ label.btn {
6822
6872
  display: none;
6823
6873
  }
6824
6874
  .combobox-option {
6825
- display: flex;
6875
+ display: grid;
6876
+ grid-template-columns: minmax(0, 1fr) 1rem;
6826
6877
  align-items: center;
6827
6878
  gap: 0.5rem;
6828
- padding-inline-end: 2rem;
6879
+ padding-inline-end: 0.375rem;
6829
6880
  line-height: var(--moo-combobox-option-line-height);
6830
6881
  }
6831
6882
  .combobox-option__content {
@@ -6834,9 +6885,18 @@ label.btn {
6834
6885
  flex: 1 1 auto;
6835
6886
  flex-direction: column;
6836
6887
  }
6837
- .combobox-option[aria-current="true"] {
6888
+ .combobox:not(.combobox--multiple) .combobox-option[aria-selected="true"],
6889
+ .combobox-option[aria-current="true"] {
6838
6890
  background-color: var(--bs-dropdown-link-hover-bg);
6839
6891
  }
6892
+ .combobox:not(.combobox--multiple)
6893
+ .combobox-menu:has(.combobox-option:not([aria-selected="true"]):hover)
6894
+ .combobox-option[aria-selected="true"]:not(:hover):not([aria-current="true"]),
6895
+ .combobox:not(.combobox--multiple)
6896
+ .combobox-menu:has(.combobox-option[aria-current="true"]:not([aria-selected="true"]))
6897
+ .combobox-option[aria-selected="true"]:not([aria-current="true"]) {
6898
+ background-color: transparent;
6899
+ }
6840
6900
  .combobox-option[aria-selected="true"] {
6841
6901
  font-weight: 500;
6842
6902
  }
@@ -6858,8 +6918,7 @@ label.btn {
6858
6918
  }
6859
6919
  .combobox-option__check {
6860
6920
  display: inline-flex;
6861
- flex: 0 0 auto;
6862
- margin-inline-start: auto;
6921
+ justify-self: end;
6863
6922
  visibility: hidden;
6864
6923
  }
6865
6924
  .combobox-option[aria-selected="true"] .combobox-option__check {
@@ -7746,10 +7805,6 @@ label.btn {
7746
7805
  .datatable--release-review {
7747
7806
  --moo-datatable-min-width: 64rem;
7748
7807
  }
7749
- .form-label,
7750
- .form-check-label {
7751
- user-select: none;
7752
- }
7753
7808
  }
7754
7809
 
7755
7810
  :where(html, body)[data-bs-theme="dark"] .moo-ui:not([data-bs-theme]) .form-select,
@@ -7780,7 +7835,7 @@ label.btn {
7780
7835
  .modal-backdrop,
7781
7836
  .offcanvas-backdrop {
7782
7837
  --bs-backdrop-opacity: var(--moo-overlay-backdrop-opacity, 1);
7783
- background-color: var(--moo-overlay-backdrop-bg, color-mix(in srgb, var(--bs-black) 10%, transparent));
7838
+ background-color: var(--moo-overlay-backdrop-bg, color-mix(in srgb, #0a0a0a 10%, transparent));
7784
7839
  -webkit-backdrop-filter: var(--moo-overlay-backdrop-filter, blur(8px));
7785
7840
  backdrop-filter: var(--moo-overlay-backdrop-filter, blur(8px));
7786
7841
  }