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.
- package/package.json +2 -1
- package/public/dist/bundles/domma-complete.css +519 -82
- package/public/dist/bundles/domma-data-focused.css +519 -82
- package/public/dist/bundles/domma-essentials.css +519 -82
- package/public/dist/bundles/domma-full.css +519 -82
- package/public/dist/bundles/domma-minimal.css +8 -8
- package/public/dist/domma-flags.esm.js +3 -3
- package/public/dist/domma-flags.min.js +3 -3
- package/public/dist/domma-syntax.min.js +3 -3
- package/public/dist/domma.css +3 -3
- package/public/dist/domma.esm.js +5 -5
- package/public/dist/domma.min.js +5 -5
- package/public/dist/elements.css +455 -18
- package/public/dist/grid.css +3 -3
- package/public/dist/syntax.css +3 -3
- package/public/dist/themes/core.css +5 -0
- package/public/dist/themes/domma-themes.css +56 -56
package/public/dist/elements.css
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Domma Elements CSS v0.
|
|
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-
|
|
6
|
-
* Commit:
|
|
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
|
+
}
|
package/public/dist/grid.css
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Domma Grid CSS v0.
|
|
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-
|
|
6
|
-
* Commit:
|
|
5
|
+
* Built: 2026-09-27T22:28:45.944Z
|
|
6
|
+
* Commit: 5bc521e
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
/**
|
package/public/dist/syntax.css
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Domma Syntax Highlighting CSS v0.
|
|
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-
|
|
6
|
-
* Commit:
|
|
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
|
}
|