domma-js 0.3.1-alpha → 0.7.0-alpha

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 (39) hide show
  1. package/README.md +33 -30
  2. package/assets/types/config.d.ts +127 -0
  3. package/assets/types/dates.d.ts +209 -0
  4. package/assets/types/dom.d.ts +448 -0
  5. package/assets/types/elements.d.ts +606 -0
  6. package/assets/types/http.d.ts +97 -0
  7. package/assets/types/icons.d.ts +147 -0
  8. package/assets/types/index.d.ts +197 -0
  9. package/assets/types/models.d.ts +188 -0
  10. package/assets/types/storage.d.ts +93 -0
  11. package/assets/types/tables.d.ts +327 -0
  12. package/assets/types/theme.d.ts +136 -0
  13. package/assets/types/utils.d.ts +675 -0
  14. package/bin/domma-cli.js +144 -0
  15. package/package.json +12 -5
  16. package/public/dist/bundles/domma-complete.css +2316 -170
  17. package/public/dist/bundles/domma-data-focused.css +2686 -321
  18. package/public/dist/bundles/domma-essentials.css +2686 -321
  19. package/public/dist/bundles/domma-full.css +2686 -321
  20. package/public/dist/bundles/domma-grayve.css +13839 -0
  21. package/public/dist/bundles/domma-minimal.css +1591 -9
  22. package/public/dist/domma-syntax.min.js +8 -0
  23. package/public/dist/domma.css +1586 -4
  24. package/public/dist/domma.esm.js +4 -4
  25. package/public/dist/domma.min.js +4 -4
  26. package/public/dist/elements.css +368 -17
  27. package/public/dist/grid.css +3 -3
  28. package/public/dist/syntax.css +3 -3
  29. package/public/dist/themes/domma-themes.css +216 -3
  30. package/public/dist/themes/grayve.css +213 -0
  31. package/templates/kickstart/about/index.html +241 -0
  32. package/templates/kickstart/assets/logo/placeholder.svg +6 -0
  33. package/templates/kickstart/blog/index.html +227 -0
  34. package/templates/kickstart/contact/index.html +218 -0
  35. package/templates/kickstart/css/custom.css +121 -0
  36. package/templates/kickstart/docs/index.html +310 -0
  37. package/templates/kickstart/domma.config.json +47 -0
  38. package/templates/kickstart/index.html +170 -0
  39. package/templates/kickstart/js/app.js +161 -0
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * Domma Elements CSS v0.3.0-alpha.0
2
+ * Domma Elements CSS v0.5.0-alpha
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-01-02T14:32:25.401Z
6
- * Commit: bc8e519
5
+ * Built: 2026-01-08T09:15:50.041Z
6
+ * Commit: ad86642
7
7
  */
8
8
 
9
9
  /**
@@ -258,6 +258,40 @@
258
258
  text-decoration: none;
259
259
  }
260
260
 
261
+ /* Collapsible card styles */
262
+ .card-collapsible .card-header {
263
+ cursor: pointer;
264
+ display: flex;
265
+ align-items: center;
266
+ justify-content: space-between;
267
+ user-select: none;
268
+ }
269
+
270
+ .card-header-content {
271
+ flex: 1;
272
+ }
273
+
274
+ .card-collapse-icon {
275
+ transition: transform var(--dm-transition-normal);
276
+ flex-shrink: 0;
277
+ margin-left: var(--dm-space-2);
278
+ }
279
+
280
+ .card-collapsed .card-collapse-icon {
281
+ transform: rotate(-90deg);
282
+ }
283
+
284
+ .card-collapsible .card-body {
285
+ overflow: hidden;
286
+ transition: height var(--dm-transition-normal);
287
+ }
288
+
289
+ .card-collapsed .card-body {
290
+ height: 0 !important;
291
+ padding-top: 0;
292
+ padding-bottom: 0;
293
+ }
294
+
261
295
 
262
296
  /* ============================================
263
297
  MODAL
@@ -271,7 +305,7 @@
271
305
  border-radius: var(--dm-radius-lg);
272
306
  box-shadow: var(--dm-shadow-xl);
273
307
  z-index: 50;
274
- max-width: 500px;
308
+ max-width: 700px;
275
309
  width: 90%;
276
310
  max-height: 90vh;
277
311
  overflow: auto;
@@ -343,6 +377,23 @@
343
377
  max-width: 1140px;
344
378
  }
345
379
 
380
+ /* Modal Factory Dialog Sizes */
381
+ .dm-dialog-small {
382
+ max-width: 400px !important;
383
+ }
384
+
385
+ .dm-dialog-medium {
386
+ max-width: 700px !important;
387
+ }
388
+
389
+ .dm-dialog-large {
390
+ max-width: 900px !important;
391
+ }
392
+
393
+ .dm-dialog-xl {
394
+ max-width: 1200px !important;
395
+ }
396
+
346
397
 
347
398
  /* ============================================
348
399
  TABS
@@ -790,16 +841,18 @@ textarea:not([class])::placeholder {
790
841
  .form-check {
791
842
  display: flex;
792
843
  align-items: flex-start;
793
- gap: var(--dm-space-2);
844
+ gap: var(--dm-space-3);
794
845
  cursor: pointer;
795
846
  position: relative;
847
+ padding: var(--dm-space-1) 0;
848
+ min-height: 1.5rem;
796
849
  }
797
850
 
798
851
  .form-check-input {
799
852
  appearance: none;
800
853
  -webkit-appearance: none;
801
- width: 1.125rem;
802
- height: 1.125rem;
854
+ width: 1.25rem;
855
+ height: 1.25rem;
803
856
  border: 2px solid var(--dm-border, var(--dm-gray-400));
804
857
  border-radius: var(--dm-radius-sm);
805
858
  background-color: var(--dm-surface, var(--dm-white));
@@ -807,6 +860,8 @@ textarea:not([class])::placeholder {
807
860
  position: relative;
808
861
  flex-shrink: 0;
809
862
  margin-top: 0.125rem;
863
+ margin-right: var(--dm-space-1);
864
+ padding: 0;
810
865
  transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
811
866
  }
812
867
 
@@ -828,10 +883,10 @@ textarea:not([class])::placeholder {
828
883
  .form-check-input:checked::after {
829
884
  content: '';
830
885
  position: absolute;
831
- left: 5px;
832
- top: 2px;
833
- width: 5px;
834
- height: 9px;
886
+ left: 5.5px;
887
+ top: 2.5px;
888
+ width: 6px;
889
+ height: 10px;
835
890
  border: solid var(--dm-white);
836
891
  border-width: 0 2px 2px 0;
837
892
  transform: rotate(45deg);
@@ -850,6 +905,9 @@ textarea:not([class])::placeholder {
850
905
  .form-check-label {
851
906
  cursor: pointer;
852
907
  color: var(--dm-text, var(--dm-gray-900));
908
+ line-height: 1.5;
909
+ padding-top: 0.125rem;
910
+ user-select: none;
853
911
  }
854
912
 
855
913
  /* Custom Radio */
@@ -4949,12 +5007,12 @@ code {
4949
5007
  .dm-timeline-centered {
4950
5008
  /* Switch to vertical layout on mobile */
4951
5009
  }
4952
-
5010
+
4953
5011
  .dm-timeline-centered::before {
4954
5012
  left: 30px;
4955
5013
  transform: none;
4956
5014
  }
4957
-
5015
+
4958
5016
  .dm-timeline-centered .dm-timeline-item,
4959
5017
  .dm-timeline-centered .dm-timeline-item:nth-child(even) {
4960
5018
  width: 100%;
@@ -4963,7 +5021,7 @@ code {
4963
5021
  padding-right: 0;
4964
5022
  justify-content: flex-start;
4965
5023
  }
4966
-
5024
+
4967
5025
  .dm-timeline-centered .dm-timeline-year,
4968
5026
  .dm-timeline-centered .dm-timeline-item:nth-child(even) .dm-timeline-year {
4969
5027
  order: 0;
@@ -4973,17 +5031,17 @@ code {
4973
5031
  left: 0;
4974
5032
  width: 80px;
4975
5033
  }
4976
-
5034
+
4977
5035
  .dm-timeline-horizontal {
4978
5036
  flex-direction: column;
4979
5037
  }
4980
-
5038
+
4981
5039
  .dm-timeline-horizontal .dm-timeline-item {
4982
5040
  flex-direction: row;
4983
5041
  min-width: auto;
4984
5042
  margin-bottom: var(--dm-space-6);
4985
5043
  }
4986
-
5044
+
4987
5045
  .dm-timeline-horizontal .dm-timeline-year {
4988
5046
  margin-bottom: 0;
4989
5047
  margin-right: var(--dm-space-4);
@@ -5015,3 +5073,296 @@ code {
5015
5073
  background: var(--dm-slate-800);
5016
5074
  border-color: var(--dm-slate-600);
5017
5075
  }
5076
+
5077
+ /* ==============================================
5078
+ Cookie Consent Component
5079
+ ============================================== */
5080
+
5081
+ .dm-cookie-consent {
5082
+ position: fixed;
5083
+ z-index: 9999;
5084
+ font-size: 14px;
5085
+ line-height: 1.5;
5086
+ }
5087
+
5088
+ /* Position variants */
5089
+ .dm-cookie-consent-bottom {
5090
+ bottom: 0;
5091
+ left: 0;
5092
+ right: 0;
5093
+ }
5094
+
5095
+ .dm-cookie-consent-top {
5096
+ top: 0;
5097
+ left: 0;
5098
+ right: 0;
5099
+ }
5100
+
5101
+ .dm-cookie-consent-bottom-left {
5102
+ bottom: 20px;
5103
+ left: 20px;
5104
+ max-width: 400px;
5105
+ }
5106
+
5107
+ .dm-cookie-consent-bottom-right {
5108
+ bottom: 20px;
5109
+ right: 20px;
5110
+ max-width: 400px;
5111
+ }
5112
+
5113
+ .dm-cookie-consent-center-modal {
5114
+ top: 50%;
5115
+ left: 50%;
5116
+ transform: translate(-50%, -50%);
5117
+ max-width: 600px;
5118
+ width: 90%;
5119
+ }
5120
+
5121
+ /* Layout variants */
5122
+ .dm-cookie-consent-bar .dm-cookie-consent-content {
5123
+ display: flex;
5124
+ align-items: center;
5125
+ justify-content: space-between;
5126
+ padding: 16px 20px;
5127
+ gap: 20px;
5128
+ }
5129
+
5130
+ .dm-cookie-consent-box .dm-cookie-consent-content {
5131
+ padding: 24px;
5132
+ border-radius: 8px;
5133
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
5134
+ }
5135
+
5136
+ .dm-cookie-consent-modal .dm-cookie-consent-content {
5137
+ padding: 32px;
5138
+ border-radius: 12px;
5139
+ box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
5140
+ }
5141
+
5142
+ /* Theme variants */
5143
+ .dm-cookie-consent-light .dm-cookie-consent-content {
5144
+ background: white;
5145
+ color: #333;
5146
+ border: 1px solid #e5e5e5;
5147
+ }
5148
+
5149
+ .dm-cookie-consent-light a {
5150
+ color: var(--dm-primary);
5151
+ }
5152
+
5153
+ .dm-cookie-consent-dark .dm-cookie-consent-content {
5154
+ background: #1f2937;
5155
+ color: #f3f4f6;
5156
+ border: 1px solid #374151;
5157
+ }
5158
+
5159
+ .dm-cookie-consent-dark a {
5160
+ color: #60a5fa;
5161
+ }
5162
+
5163
+ /* Message styles */
5164
+ .dm-cookie-consent-message {
5165
+ flex: 1;
5166
+ margin-right: 20px;
5167
+ }
5168
+
5169
+ .dm-cookie-consent-message a {
5170
+ text-decoration: underline;
5171
+ margin: 0 4px;
5172
+ }
5173
+
5174
+ .dm-cookie-consent-message a:hover {
5175
+ opacity: 0.8;
5176
+ }
5177
+
5178
+ /* Button styles */
5179
+ .dm-cookie-consent-buttons {
5180
+ display: flex;
5181
+ gap: 12px;
5182
+ flex-shrink: 0;
5183
+ }
5184
+
5185
+ /* Animation */
5186
+ .dm-cookie-consent-animated {
5187
+ transition: all 0.3s ease;
5188
+ }
5189
+
5190
+ .dm-cookie-consent-bottom.dm-cookie-consent-animated:not(.dm-cookie-consent-visible) {
5191
+ transform: translateY(100%);
5192
+ }
5193
+
5194
+ .dm-cookie-consent-top.dm-cookie-consent-animated:not(.dm-cookie-consent-visible) {
5195
+ transform: translateY(-100%);
5196
+ }
5197
+
5198
+ .dm-cookie-consent-bottom-left.dm-cookie-consent-animated:not(.dm-cookie-consent-visible),
5199
+ .dm-cookie-consent-bottom-right.dm-cookie-consent-animated:not(.dm-cookie-consent-visible) {
5200
+ transform: translateY(20px);
5201
+ opacity: 0;
5202
+ }
5203
+
5204
+ .dm-cookie-consent-center-modal.dm-cookie-consent-animated:not(.dm-cookie-consent-visible) {
5205
+ transform: translate(-50%, -50%) scale(0.95);
5206
+ opacity: 0;
5207
+ }
5208
+
5209
+ /* Backdrop */
5210
+ .dm-cookie-consent-backdrop {
5211
+ position: fixed;
5212
+ top: 0;
5213
+ left: 0;
5214
+ right: 0;
5215
+ bottom: 0;
5216
+ background: rgba(0, 0, 0, 0.5);
5217
+ z-index: -1;
5218
+ }
5219
+
5220
+ /* Customize Modal */
5221
+ .dm-cookie-consent-modal {
5222
+ display: none;
5223
+ position: fixed;
5224
+ top: 0;
5225
+ left: 0;
5226
+ right: 0;
5227
+ bottom: 0;
5228
+ z-index: 10000;
5229
+ align-items: center;
5230
+ justify-content: center;
5231
+ }
5232
+
5233
+ .dm-cookie-consent-modal-backdrop {
5234
+ position: absolute;
5235
+ top: 0;
5236
+ left: 0;
5237
+ right: 0;
5238
+ bottom: 0;
5239
+ background: rgba(0, 0, 0, 0.5);
5240
+ }
5241
+
5242
+ .dm-cookie-consent-modal-content {
5243
+ position: relative;
5244
+ background: white;
5245
+ border-radius: 12px;
5246
+ max-width: 600px;
5247
+ width: 90%;
5248
+ max-height: 80vh;
5249
+ overflow: auto;
5250
+ box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
5251
+ }
5252
+
5253
+ .dm-cookie-consent-modal-header {
5254
+ padding: 24px;
5255
+ border-bottom: 1px solid #e5e5e5;
5256
+ display: flex;
5257
+ justify-content: space-between;
5258
+ align-items: center;
5259
+ }
5260
+
5261
+ .dm-cookie-consent-modal-header h3 {
5262
+ margin: 0;
5263
+ font-size: 20px;
5264
+ font-weight: 600;
5265
+ }
5266
+
5267
+ .dm-cookie-consent-modal-close {
5268
+ background: none;
5269
+ border: none;
5270
+ font-size: 24px;
5271
+ cursor: pointer;
5272
+ color: #666;
5273
+ padding: 0;
5274
+ width: 32px;
5275
+ height: 32px;
5276
+ display: flex;
5277
+ align-items: center;
5278
+ justify-content: center;
5279
+ border-radius: 4px;
5280
+ transition: all 0.2s;
5281
+ }
5282
+
5283
+ .dm-cookie-consent-modal-close:hover {
5284
+ background: #f5f5f5;
5285
+ }
5286
+
5287
+ .dm-cookie-consent-modal-body {
5288
+ padding: 24px;
5289
+ }
5290
+
5291
+ .dm-cookie-consent-category {
5292
+ margin-bottom: 20px;
5293
+ padding-bottom: 20px;
5294
+ border-bottom: 1px solid #e5e5e5;
5295
+ }
5296
+
5297
+ .dm-cookie-consent-category:last-child {
5298
+ border-bottom: none;
5299
+ margin-bottom: 0;
5300
+ padding-bottom: 0;
5301
+ }
5302
+
5303
+ .dm-cookie-consent-category-label {
5304
+ display: flex;
5305
+ align-items: flex-start;
5306
+ cursor: pointer;
5307
+ }
5308
+
5309
+ .dm-cookie-consent-category-toggle {
5310
+ margin-right: 12px;
5311
+ margin-top: 2px;
5312
+ }
5313
+
5314
+ .dm-cookie-consent-category-toggle:disabled {
5315
+ cursor: not-allowed;
5316
+ opacity: 0.5;
5317
+ }
5318
+
5319
+ .dm-cookie-consent-category-info {
5320
+ flex: 1;
5321
+ }
5322
+
5323
+ .dm-cookie-consent-category-name {
5324
+ font-weight: 500;
5325
+ margin-bottom: 4px;
5326
+ }
5327
+
5328
+ .dm-cookie-consent-required {
5329
+ color: #666;
5330
+ font-size: 12px;
5331
+ }
5332
+
5333
+ .dm-cookie-consent-category-description {
5334
+ color: #666;
5335
+ font-size: 13px;
5336
+ }
5337
+
5338
+ .dm-cookie-consent-modal-footer {
5339
+ padding: 24px;
5340
+ border-top: 1px solid #e5e5e5;
5341
+ display: flex;
5342
+ justify-content: flex-end;
5343
+ gap: 12px;
5344
+ }
5345
+
5346
+ /* Responsive */
5347
+ @media (max-width: 640px) {
5348
+ .dm-cookie-consent-bar .dm-cookie-consent-content {
5349
+ flex-direction: column;
5350
+ align-items: stretch;
5351
+ }
5352
+
5353
+ .dm-cookie-consent-message {
5354
+ margin-right: 0;
5355
+ margin-bottom: 16px;
5356
+ }
5357
+
5358
+ .dm-cookie-consent-buttons {
5359
+ flex-direction: column;
5360
+ }
5361
+
5362
+ .dm-cookie-consent-bottom-left,
5363
+ .dm-cookie-consent-bottom-right {
5364
+ left: 10px;
5365
+ right: 10px;
5366
+ max-width: none;
5367
+ }
5368
+ }
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * Domma Grid CSS v0.3.0-alpha.0
2
+ * Domma Grid CSS v0.5.0-alpha
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-01-02T14:32:25.394Z
6
- * Commit: bc8e519
5
+ * Built: 2026-01-08T09:15:50.031Z
6
+ * Commit: ad86642
7
7
  */
8
8
 
9
9
  /**
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * Domma Syntax Highlighting CSS v0.3.0-alpha.0
2
+ * Domma Syntax Highlighting CSS v0.5.0-alpha
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-01-02T14:32:25.413Z
6
- * Commit: bc8e519
5
+ * Built: 2026-01-08T09:15:50.052Z
6
+ * Commit: ad86642
7
7
  */
8
8
 
9
9
  /**