domma-js 0.47.0 → 0.49.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.
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * Domma Elements CSS v0.47.0
2
+ * Domma Elements CSS v0.49.0
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-09-27T21:27:08.368Z
6
- * Commit: eff3166
5
+ * Built: 2026-09-27T22:28:45.949Z
6
+ * Commit: 5bc521e
7
7
  */
8
8
 
9
9
  /**
@@ -49,9 +49,12 @@
49
49
  box-shadow: 0 0 0 3px var(--dm-focus-ring);
50
50
  }
51
51
 
52
- .btn:disabled {
52
+ .btn:disabled,
53
+ .btn[aria-disabled="true"],
54
+ .btn.disabled {
53
55
  opacity: 0.65;
54
56
  cursor: not-allowed;
57
+ pointer-events: none;
55
58
  }
56
59
 
57
60
  .btn-primary {
@@ -501,7 +504,8 @@
501
504
  border-bottom-color: var(--dm-border);
502
505
  }
503
506
 
504
- .tab-item.active {
507
+ .tab-item.active,
508
+ .tab-item[aria-selected="true"] {
505
509
  color: var(--dm-link, color-mix(in oklab, var(--dm-primary, #0070d6), var(--dm-text, #1a1a1a) 55%));
506
510
  border-bottom-color: var(--dm-primary);
507
511
  }
@@ -533,7 +537,8 @@
533
537
  margin-bottom: 0;
534
538
  }
535
539
 
536
- .tabs-pills .tab-item.active {
540
+ .tabs-pills .tab-item.active,
541
+ .tabs-pills .tab-item[aria-selected="true"] {
537
542
  background-color: var(--dm-surface);
538
543
  box-shadow: var(--dm-shadow-sm);
539
544
  border-bottom: none;
@@ -576,7 +581,8 @@
576
581
  transition: transform var(--dm-transition-normal);
577
582
  }
578
583
 
579
- .accordion-item.active .accordion-icon {
584
+ .accordion-item.active .accordion-icon,
585
+ .accordion-header[aria-expanded="true"] .accordion-icon {
580
586
  transform: rotate(180deg);
581
587
  }
582
588
 
@@ -855,7 +861,10 @@ textarea:not([class])::placeholder {
855
861
 
856
862
  .form-input:disabled,
857
863
  .form-select:disabled,
858
- .form-textarea:disabled {
864
+ .form-textarea:disabled,
865
+ .form-input[aria-disabled="true"],
866
+ .form-select[aria-disabled="true"],
867
+ .form-textarea[aria-disabled="true"] {
859
868
  background-color: var(--dm-hover-bg);
860
869
  cursor: not-allowed;
861
870
  opacity: 0.7;
@@ -863,7 +872,10 @@ textarea:not([class])::placeholder {
863
872
 
864
873
  [data-mode="dark"].form-input:disabled,
865
874
  [data-mode="dark"].form-select:disabled,
866
- [data-mode="dark"].form-textarea:disabled {
875
+ [data-mode="dark"].form-textarea:disabled,
876
+ [data-mode="dark"].form-input[aria-disabled="true"],
877
+ [data-mode="dark"].form-select[aria-disabled="true"],
878
+ [data-mode="dark"].form-textarea[aria-disabled="true"] {
867
879
  background-color: var(--dm-surface);
868
880
  }
869
881
 
@@ -881,13 +893,25 @@ textarea:not([class])::placeholder {
881
893
 
882
894
  .form-input.error,
883
895
  .form-select.error,
884
- .form-textarea.error {
896
+ .form-textarea.error,
897
+ .form-input[aria-invalid="true"],
898
+ .form-select[aria-invalid="true"],
899
+ .form-textarea[aria-invalid="true"],
900
+ .form-input.is-invalid,
901
+ .form-select.is-invalid,
902
+ .form-textarea.is-invalid {
885
903
  border-color: var(--dm-danger);
886
904
  }
887
905
 
888
906
  .form-input.error:focus,
889
907
  .form-select.error:focus,
890
- .form-textarea.error:focus {
908
+ .form-textarea.error:focus,
909
+ .form-input[aria-invalid="true"]:focus,
910
+ .form-select[aria-invalid="true"]:focus,
911
+ .form-textarea[aria-invalid="true"]:focus,
912
+ .form-input.is-invalid:focus,
913
+ .form-select.is-invalid:focus,
914
+ .form-textarea.is-invalid:focus {
891
915
  box-shadow: 0 0 0 3px var(--dm-focus-ring-danger);
892
916
  }
893
917
 
@@ -1663,19 +1687,22 @@ textarea:not([class])::placeholder {
1663
1687
  }
1664
1688
 
1665
1689
  /* Active/selected state - accent background takes precedence over colour variants */
1666
- .list-group-item.active {
1690
+ .list-group-item.active,
1691
+ .list-group-item[aria-selected="true"] {
1667
1692
  background-color: var(--dm-primary);
1668
1693
  color: var(--dm-primary-text, var(--dm-white));
1669
1694
  border-bottom-color: var(--dm-primary-hover);
1670
1695
  z-index: 1;
1671
1696
  }
1672
1697
 
1673
- .list-group-item.active .list-group-item-text {
1698
+ .list-group-item.active .list-group-item-text,
1699
+ .list-group-item[aria-selected="true"] .list-group-item-text {
1674
1700
  color: rgba(255, 255, 255, 0.75);
1675
1701
  }
1676
1702
 
1677
1703
  /* Disabled state - dimmed and non-interactive */
1678
- .list-group-item.disabled {
1704
+ .list-group-item.disabled,
1705
+ .list-group-item[aria-disabled="true"] {
1679
1706
  opacity: 0.7;
1680
1707
  cursor: not-allowed;
1681
1708
  pointer-events: none;
@@ -2126,14 +2153,16 @@ code {
2126
2153
  text-decoration: none;
2127
2154
  }
2128
2155
 
2129
- .pagination-link.active {
2156
+ .pagination-link.active,
2157
+ .pagination-link[aria-current="page"] {
2130
2158
  background-color: var(--dm-primary);
2131
2159
  border-color: var(--dm-primary);
2132
2160
  color: var(--dm-primary-text, var(--dm-white));
2133
2161
  }
2134
2162
 
2135
2163
  .pagination-link:disabled,
2136
- .pagination-link.disabled {
2164
+ .pagination-link.disabled,
2165
+ .pagination-link[aria-disabled="true"] {
2137
2166
  opacity: 0.5;
2138
2167
  cursor: not-allowed;
2139
2168
  pointer-events: none;
@@ -5998,7 +6027,8 @@ code {
5998
6027
  color: var(--dm-primary, #6495ED);
5999
6028
  }
6000
6029
 
6001
- .dm-breadcrumbs-item.active {
6030
+ .dm-breadcrumbs-item.active,
6031
+ .dm-breadcrumbs-item[aria-current="page"] {
6002
6032
  color: var(--dm-text);
6003
6033
  font-weight: 500;
6004
6034
  }
@@ -6016,7 +6046,8 @@ code {
6016
6046
  color: var(--dm-text-muted);
6017
6047
  }
6018
6048
 
6019
- [data-mode="dark"] .dm-breadcrumbs-item.active {
6049
+ [data-mode="dark"] .dm-breadcrumbs-item.active,
6050
+ [data-mode="dark"] .dm-breadcrumbs-item[aria-current="page"] {
6020
6051
  color: var(--dm-text);
6021
6052
  }
6022
6053
 
@@ -8794,3 +8825,409 @@ code {
8794
8825
  transition: none;
8795
8826
  }
8796
8827
  }
8828
+
8829
+ /* ============================================
8830
+ SKELETON LOADERS
8831
+ Shimmering placeholders shaped like the content on its way. The tint is the
8832
+ theme's text colour mixed into its surface, so it reads as a quiet grey on
8833
+ light themes and a quiet lift on dark ones. Written by E.skeleton() or by
8834
+ hand. Override hooks: --dm-skeleton-bg, --dm-skeleton-shine,
8835
+ --dm-skeleton-duration, --dm-skeleton-columns (table).
8836
+ ============================================ */
8837
+ .skeleton {
8838
+ position: relative;
8839
+ display: block;
8840
+ overflow: hidden;
8841
+ background-color: var(--dm-skeleton-bg, color-mix(in srgb, var(--dm-text) 10%, var(--dm-surface)));
8842
+ border-radius: var(--dm-radius-md);
8843
+ user-select: none;
8844
+ pointer-events: none;
8845
+ }
8846
+
8847
+ /* The sweep: a soft band that crosses each shape. Towards the surface on light
8848
+ themes, towards the text on dark ones - lighter in both cases. */
8849
+ .skeleton::after {
8850
+ content: '';
8851
+ position: absolute;
8852
+ inset: 0;
8853
+ transform: translateX(-100%);
8854
+ background-image: linear-gradient(90deg,
8855
+ transparent 0%,
8856
+ var(--dm-skeleton-shine, color-mix(in srgb, var(--dm-surface) 70%, transparent)) 50%,
8857
+ transparent 100%);
8858
+ animation: dm-skeleton-sweep var(--dm-skeleton-duration, 1.6s) ease-in-out infinite;
8859
+ }
8860
+
8861
+ [data-mode="dark"] .skeleton::after {
8862
+ background-image: linear-gradient(90deg,
8863
+ transparent 0%,
8864
+ var(--dm-skeleton-shine, color-mix(in srgb, var(--dm-text) 8%, transparent)) 50%,
8865
+ transparent 100%);
8866
+ }
8867
+
8868
+ @keyframes dm-skeleton-sweep {
8869
+ 100% {
8870
+ transform: translateX(100%);
8871
+ }
8872
+ }
8873
+
8874
+ /* animate: false, or by hand on a shape or a group of shapes */
8875
+ .skeleton-static::after,
8876
+ .skeleton-static .skeleton::after {
8877
+ display: none;
8878
+ }
8879
+
8880
+ /* Lines of text: 0.875em bars on a 1.5em rhythm, like body copy */
8881
+ .skeleton-text {
8882
+ width: 100%;
8883
+ height: 0.875em;
8884
+ border-radius: var(--dm-radius-sm);
8885
+ }
8886
+
8887
+ .skeleton-text + .skeleton-text {
8888
+ margin-top: 0.625em;
8889
+ }
8890
+
8891
+ .skeleton-text-sm {
8892
+ height: 0.75em;
8893
+ }
8894
+
8895
+ /* The last line of a paragraph runs short */
8896
+ .skeleton-lines > .skeleton-text:last-child:not(:first-child) {
8897
+ width: 60%;
8898
+ }
8899
+
8900
+ .skeleton-lines + .skeleton-lines {
8901
+ margin-top: var(--dm-space-6);
8902
+ }
8903
+
8904
+ .skeleton-heading {
8905
+ width: 50%;
8906
+ height: 1.25rem;
8907
+ margin-bottom: var(--dm-space-4);
8908
+ border-radius: var(--dm-radius-sm);
8909
+ }
8910
+
8911
+ .skeleton-w-25 { width: 25%; }
8912
+ .skeleton-w-50 { width: 50%; }
8913
+ .skeleton-w-75 { width: 75%; }
8914
+ .skeleton-w-100 { width: 100%; }
8915
+
8916
+ .skeleton-lines > .skeleton-w-25:last-child:not(:first-child) { width: 25%; }
8917
+ .skeleton-lines > .skeleton-w-50:last-child:not(:first-child) { width: 50%; }
8918
+ .skeleton-lines > .skeleton-w-75:last-child:not(:first-child) { width: 75%; }
8919
+ .skeleton-lines > .skeleton-w-100:last-child:not(:first-child) { width: 100%; }
8920
+
8921
+ /* Circles - avatars, icons. 2.5rem by default */
8922
+ .skeleton-circle,
8923
+ .skeleton-avatar {
8924
+ flex-shrink: 0;
8925
+ width: 2.5rem;
8926
+ height: 2.5rem;
8927
+ border-radius: var(--dm-radius-full);
8928
+ }
8929
+
8930
+ .skeleton-circle.skeleton-sm,
8931
+ .skeleton-avatar.skeleton-sm { width: 2rem; height: 2rem; }
8932
+ .skeleton-circle.skeleton-lg,
8933
+ .skeleton-avatar.skeleton-lg { width: 3.5rem; height: 3.5rem; }
8934
+ .skeleton-circle.skeleton-xl,
8935
+ .skeleton-avatar.skeleton-xl { width: 5rem; height: 5rem; }
8936
+
8937
+ /* Blocks and images - 16:9 unless told otherwise */
8938
+ .skeleton-rect,
8939
+ .skeleton-image {
8940
+ width: 100%;
8941
+ aspect-ratio: 16 / 9;
8942
+ }
8943
+
8944
+ .skeleton-ratio-1x1 { aspect-ratio: 1 / 1; }
8945
+ .skeleton-ratio-4x3 { aspect-ratio: 4 / 3; }
8946
+ .skeleton-ratio-16x9 { aspect-ratio: 16 / 9; }
8947
+ .skeleton-ratio-21x9 { aspect-ratio: 21 / 9; }
8948
+
8949
+ /* The size of a .btn: small text on a 1.5 line, space-2 padding, 1px border */
8950
+ .skeleton-button {
8951
+ display: inline-block;
8952
+ width: 6rem;
8953
+ height: calc(var(--dm-font-size-sm) * 1.5 + var(--dm-space-2) * 2 + 2px);
8954
+ vertical-align: middle;
8955
+ border-radius: var(--dm-radius-md);
8956
+ }
8957
+
8958
+ /* Card: the .card frame, an image with square corners, a .card-body's padding */
8959
+ .skeleton-card {
8960
+ overflow: hidden;
8961
+ color: var(--dm-text);
8962
+ background-color: var(--dm-card-bg, var(--dm-surface));
8963
+ border: 1px solid var(--dm-card-border, var(--dm-border));
8964
+ border-radius: var(--dm-radius-lg);
8965
+ }
8966
+
8967
+ .skeleton-card > .skeleton-image {
8968
+ border-radius: 0;
8969
+ }
8970
+
8971
+ .skeleton-card-body {
8972
+ padding: var(--dm-space-6);
8973
+ }
8974
+
8975
+ /* List: the .list-group frame and item padding, circle then two lines */
8976
+ .skeleton-list {
8977
+ overflow: hidden;
8978
+ color: var(--dm-text);
8979
+ background-color: var(--dm-surface);
8980
+ border: 1px solid var(--dm-border);
8981
+ border-radius: var(--dm-radius-md);
8982
+ }
8983
+
8984
+ .skeleton-list-item {
8985
+ display: flex;
8986
+ align-items: center;
8987
+ gap: var(--dm-space-3);
8988
+ padding: var(--dm-space-3) var(--dm-space-4);
8989
+ font-size: var(--dm-font-size-sm);
8990
+ border-bottom: 1px solid var(--dm-border-light);
8991
+ }
8992
+
8993
+ .skeleton-list-item:last-child {
8994
+ border-bottom: none;
8995
+ }
8996
+
8997
+ .skeleton-list-item-content {
8998
+ flex: 1 1 auto;
8999
+ min-width: 0;
9000
+ }
9001
+
9002
+ /* Table: rows of cells with .table's padding and rule */
9003
+ .skeleton-table {
9004
+ overflow: hidden;
9005
+ color: var(--dm-text);
9006
+ font-size: var(--dm-font-size-sm);
9007
+ border: 1px solid var(--dm-table-border, var(--dm-border));
9008
+ border-radius: var(--dm-radius-md);
9009
+ }
9010
+
9011
+ .skeleton-table-row {
9012
+ display: grid;
9013
+ grid-template-columns: repeat(var(--dm-skeleton-columns, 4), minmax(0, 1fr));
9014
+ align-items: center;
9015
+ gap: var(--dm-space-4);
9016
+ padding: var(--dm-space-3) var(--dm-space-4);
9017
+ border-bottom: 1px solid var(--dm-table-border, var(--dm-border));
9018
+ }
9019
+
9020
+ .skeleton-table-row:last-child {
9021
+ border-bottom: none;
9022
+ }
9023
+
9024
+ /* Cells sit side by side: no line spacing between them */
9025
+ .skeleton-table-row > .skeleton-text + .skeleton-text {
9026
+ margin-top: 0;
9027
+ }
9028
+
9029
+ .skeleton-table-head {
9030
+ color: var(--dm-table-header-text, var(--dm-text));
9031
+ background-color: var(--dm-table-header-bg, var(--dm-background-alt));
9032
+ }
9033
+
9034
+ /* Inside a real table cell (the DataTable's loading rows) */
9035
+ td > .skeleton-text {
9036
+ min-width: 3rem;
9037
+ }
9038
+
9039
+ /* The "Loading..." announcement: read out, not shown */
9040
+ .skeleton-status {
9041
+ position: absolute;
9042
+ width: 1px;
9043
+ height: 1px;
9044
+ margin: -1px;
9045
+ padding: 0;
9046
+ overflow: hidden;
9047
+ clip: rect(0 0 0 0);
9048
+ white-space: nowrap;
9049
+ border: 0;
9050
+ }
9051
+
9052
+ /* Reduced motion: no sweep, just the still tint */
9053
+ @media (prefers-reduced-motion: reduce) {
9054
+ .skeleton::after {
9055
+ display: none;
9056
+ animation: none;
9057
+ }
9058
+ }
9059
+
9060
+ /* ============================================
9061
+ POPOVER
9062
+ E.popover(trigger, options) - src/popover.js
9063
+ ============================================ */
9064
+
9065
+ /*
9066
+ * Portalled to <body> and positioned with `fixed`, so no ancestor's overflow
9067
+ * or stacking context can clip it. Above modals and slideovers (a popover is
9068
+ * usually opened from inside one), below the context menu (10050), which can
9069
+ * be opened from inside a popover.
9070
+ *
9071
+ * Width options arrive as custom properties, so a theme or page stylesheet
9072
+ * can still set them without fighting inline styles.
9073
+ */
9074
+ .dm-popover {
9075
+ position: fixed;
9076
+ top: 0;
9077
+ left: 0;
9078
+ z-index: 10045;
9079
+ box-sizing: border-box;
9080
+ display: flex;
9081
+ flex-direction: column;
9082
+ width: var(--dm-popover-width, auto);
9083
+ max-width: min(var(--dm-popover-max-width, 20rem), calc(100vw - 16px));
9084
+ max-height: calc(100vh - 16px);
9085
+ background: var(--dm-surface);
9086
+ color: var(--dm-text);
9087
+ border: 1px solid var(--dm-border);
9088
+ border-radius: var(--dm-radius-md);
9089
+ box-shadow: var(--dm-shadow-lg);
9090
+ font-size: 0.875rem;
9091
+ line-height: 1.5;
9092
+ text-align: left;
9093
+ white-space: normal;
9094
+ overflow-wrap: break-word;
9095
+ opacity: 0;
9096
+ transform: scale(0.96);
9097
+ transform-origin: top center;
9098
+ transition:
9099
+ opacity var(--dm-popover-duration, 150ms) ease,
9100
+ transform var(--dm-popover-duration, 150ms) cubic-bezier(0.16, 1, 0.3, 1);
9101
+ outline: none;
9102
+ }
9103
+
9104
+ .dm-popover[data-side="top"] { transform-origin: bottom center; }
9105
+ .dm-popover[data-side="bottom"] { transform-origin: top center; }
9106
+ .dm-popover[data-side="left"] { transform-origin: center right; }
9107
+ .dm-popover[data-side="right"] { transform-origin: center left; }
9108
+
9109
+ .dm-popover.is-open {
9110
+ opacity: 1;
9111
+ transform: none;
9112
+ }
9113
+
9114
+ .dm-popover[data-animation="off"] {
9115
+ transition: none;
9116
+ }
9117
+
9118
+ /* The trigger has scrolled out of view; the panel waits for it. */
9119
+ .dm-popover.is-detached {
9120
+ visibility: hidden;
9121
+ pointer-events: none;
9122
+ }
9123
+
9124
+ .dm-popover [hidden] {
9125
+ display: none;
9126
+ }
9127
+
9128
+ .dm-popover-header {
9129
+ padding: 0.625rem 0.875rem 0;
9130
+ }
9131
+
9132
+ .dm-popover-title {
9133
+ margin: 0;
9134
+ font-size: 0.9375rem;
9135
+ font-weight: 600;
9136
+ line-height: 1.35;
9137
+ color: var(--dm-text);
9138
+ }
9139
+
9140
+ /* The body scrolls when the content is taller than the viewport, so the
9141
+ panel itself keeps overflow visible and the arrow is not clipped. */
9142
+ .dm-popover-body {
9143
+ min-height: 0;
9144
+ padding: 0.625rem 0.875rem;
9145
+ overflow: auto;
9146
+ }
9147
+
9148
+ .dm-popover-body > :first-child { margin-top: 0; }
9149
+ .dm-popover-body > :last-child { margin-bottom: 0; }
9150
+
9151
+ .dm-popover.is-dismissible .dm-popover-header,
9152
+ .dm-popover.is-dismissible:not(.has-title) .dm-popover-body {
9153
+ padding-right: 2.25rem;
9154
+ }
9155
+
9156
+ .dm-popover-close {
9157
+ position: absolute;
9158
+ top: 0.375rem;
9159
+ right: 0.375rem;
9160
+ display: inline-flex;
9161
+ align-items: center;
9162
+ justify-content: center;
9163
+ width: 1.5rem;
9164
+ height: 1.5rem;
9165
+ padding: 0;
9166
+ border: 0;
9167
+ border-radius: var(--dm-radius-sm);
9168
+ background: transparent;
9169
+ color: var(--dm-text);
9170
+ cursor: pointer;
9171
+ }
9172
+
9173
+ .dm-popover-close:hover {
9174
+ background: var(--dm-hover-bg);
9175
+ color: var(--dm-text);
9176
+ }
9177
+
9178
+ .dm-popover-close:focus-visible {
9179
+ outline: 2px solid var(--dm-primary);
9180
+ outline-offset: 1px;
9181
+ }
9182
+
9183
+ /*
9184
+ * A square turned 45 degrees, bordered on the two edges that face out, so it
9185
+ * reads as a continuation of the panel's own border. JS sets its position
9186
+ * along the edge (left for top/bottom, top for left/right).
9187
+ */
9188
+ .dm-popover-arrow {
9189
+ position: absolute;
9190
+ width: 10px;
9191
+ height: 10px;
9192
+ margin: -5px 0 0 -5px;
9193
+ background: var(--dm-surface);
9194
+ border: 1px solid var(--dm-border);
9195
+ transform: rotate(45deg);
9196
+ pointer-events: none;
9197
+ }
9198
+
9199
+ .dm-popover[data-side="bottom"] .dm-popover-arrow {
9200
+ top: -1px;
9201
+ border-right: 0;
9202
+ border-bottom: 0;
9203
+ }
9204
+
9205
+ .dm-popover[data-side="top"] .dm-popover-arrow {
9206
+ top: calc(100% + 1px);
9207
+ border-left: 0;
9208
+ border-top: 0;
9209
+ }
9210
+
9211
+ .dm-popover[data-side="right"] .dm-popover-arrow {
9212
+ left: -1px;
9213
+ margin: -5px 0 0 -5px;
9214
+ border-top: 0;
9215
+ border-right: 0;
9216
+ }
9217
+
9218
+ .dm-popover[data-side="left"] .dm-popover-arrow {
9219
+ left: calc(100% + 1px);
9220
+ border-bottom: 0;
9221
+ border-left: 0;
9222
+ }
9223
+
9224
+ .dm-popover-trigger[role="button"] {
9225
+ cursor: pointer;
9226
+ }
9227
+
9228
+ @media (prefers-reduced-motion: reduce) {
9229
+ .dm-popover {
9230
+ transition: none;
9231
+ transform: none;
9232
+ }
9233
+ }
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * Domma Grid CSS v0.47.0
2
+ * Domma Grid CSS v0.49.0
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-09-27T21:27:08.363Z
6
- * Commit: eff3166
5
+ * Built: 2026-09-27T22:28:45.944Z
6
+ * Commit: 5bc521e
7
7
  */
8
8
 
9
9
  /**
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * Domma Syntax Highlighting CSS v0.47.0
2
+ * Domma Syntax Highlighting CSS v0.49.0
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-09-27T21:27:08.372Z
6
- * Commit: eff3166
5
+ * Built: 2026-09-27T22:28:45.953Z
6
+ * Commit: 5bc521e
7
7
  */
8
8
 
9
9
  /**
@@ -18,6 +18,11 @@
18
18
  --dm-warning: var(--dm-core-warning);
19
19
  --dm-danger: var(--dm-core-danger);
20
20
  --dm-info: var(--dm-core-info);
21
+ --dm-info-text: #055160;
22
+ --dm-warning-text: #000000;
23
+ --dm-primary-text: #ffffff;
24
+ --dm-danger-text: #ffffff;
25
+ --dm-success-text: #ffffff;
21
26
 
22
27
  /* Component specific overrides can go here */
23
28
  }