maverick-wave 5.28.0 → 5.30.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.
Files changed (52) hide show
  1. package/.claude/skills/mw-maverick-wave/SKILL.md +4 -2
  2. package/.claude/skills/mw-maverick-wave/references/components.md +217 -4
  3. package/.claude/skills/mw-maverick-wave/references/javascript.md +6 -1
  4. package/.claude/skills/mw-maverick-wave/references/theming.md +55 -51
  5. package/CHANGELOG.md +16 -0
  6. package/CLAUDE.md +4 -4
  7. package/README.md +2 -2
  8. package/index.html +65 -0
  9. package/maverick-wave.min.css +2 -2
  10. package/maverick-wave.min.js +1 -1
  11. package/package.json +2 -2
  12. package/scripts/verify.js +2 -1
  13. package/src/assets/images/photo-balloon.svg +35 -0
  14. package/src/assets/images/photo-forest-path.svg +31 -0
  15. package/src/assets/images/photo-lighthouse.svg +42 -0
  16. package/src/assets/images/photo-palm.svg +27 -0
  17. package/src/assets/images/photo-peak.svg +27 -0
  18. package/src/assets/images/photo-tower.svg +34 -0
  19. package/src/assets/images/photo-waterfall.svg +32 -0
  20. package/src/assets/images/story-aurora.svg +36 -0
  21. package/src/assets/images/story-beach.svg +34 -0
  22. package/src/assets/images/story-stars.svg +35 -0
  23. package/src/assets/media/story-sunrise.jpg +0 -0
  24. package/src/assets/media/story-sunrise.mp4 +0 -0
  25. package/src/js/main.js +403 -0
  26. package/src/partials/avatars-container.html +50 -0
  27. package/src/partials/calendar-container.html +36 -38
  28. package/src/partials/feed-container.html +506 -0
  29. package/src/partials/item-lists-container.html +80 -130
  30. package/src/partials/kanban-container.html +17 -294
  31. package/src/partials/mosaic-container.html +173 -0
  32. package/src/partials/panels-container.html +113 -162
  33. package/src/partials/portrait-gallery-container.html +175 -0
  34. package/src/partials/stories-container.html +182 -0
  35. package/src/partials/tables-container.html +21 -40
  36. package/src/scss/abstracts/_mixins.scss +2 -0
  37. package/src/scss/abstracts/_variables.scss +3 -0
  38. package/src/scss/components/_avatars.scss +85 -1
  39. package/src/scss/components/_cards.scss +7 -3
  40. package/src/scss/components/_dropdown.scss +24 -1
  41. package/src/scss/components/_feed.scss +203 -0
  42. package/src/scss/components/_index.scss +6 -0
  43. package/src/scss/components/_lang-switch.scss +4 -8
  44. package/src/scss/components/_lightbox.scss +178 -0
  45. package/src/scss/components/_modals.scss +19 -5
  46. package/src/scss/components/_mosaic.scss +83 -0
  47. package/src/scss/components/_overlay-btn.scss +47 -0
  48. package/src/scss/components/_portrait-gallery.scss +180 -0
  49. package/src/scss/components/_stories.scss +443 -0
  50. package/src/scss/components/_tiles.scss +4 -1
  51. package/src/scss/utilities/_fit.scss +29 -0
  52. package/src/scss/utilities/_index.scss +1 -0
package/index.html CHANGED
@@ -133,6 +133,20 @@
133
133
  margin-inline: auto;
134
134
  }
135
135
 
136
+ /* Here, not inline - inline it would outrank the compact value too */
137
+ #kanban-demo {
138
+ --mw-kanban-column-min-height: 390px;
139
+ }
140
+
141
+ #kanban-demo.mw-kanban-compact {
142
+ --mw-kanban-column-min-height: 210px;
143
+ }
144
+
145
+ /* A compact calendar has no dots, so its legend has nothing to explain */
146
+ .calendar-demo .mw-calendar-compact .mw-calendar-legend {
147
+ display: none;
148
+ }
149
+
136
150
  /* Medium screens */
137
151
  @media (max-width: 992px) {
138
152
  /* Two calendars side by side squeeze their cells below md, so they
@@ -943,6 +957,12 @@
943
957
  <a href="#pagination" class="mw-section-btn">Pagination</a>
944
958
  <a href="#timelines" class="mw-section-btn">Timelines</a>
945
959
  <a href="#gallery" class="mw-section-btn">Image Gallery</a>
960
+ <a href="#portrait-gallery" class="mw-section-btn"
961
+ >Portrait Gallery</a
962
+ >
963
+ <a href="#mosaic" class="mw-section-btn">Mosaic</a>
964
+ <a href="#feed" class="mw-section-btn">Photo Feed</a>
965
+ <a href="#stories" class="mw-section-btn">Story Archive</a>
946
966
  <a href="#techstack-bucket" class="mw-section-btn"
947
967
  >Technology Stack Bucket</a
948
968
  >
@@ -1003,6 +1023,24 @@
1003
1023
  @@include('./src/partials/gallery-container.html')
1004
1024
  </div>
1005
1025
 
1026
+ <!-- Portrait gallery container-->
1027
+ <div id="portrait-gallery">
1028
+ @@include('./src/partials/portrait-gallery-container.html')
1029
+ </div>
1030
+
1031
+ <!-- Mosaic container-->
1032
+ <div id="mosaic">
1033
+ @@include('./src/partials/mosaic-container.html')
1034
+ </div>
1035
+
1036
+ <!-- Feed container-->
1037
+ <div id="feed">@@include('./src/partials/feed-container.html')</div>
1038
+
1039
+ <!-- Stories container-->
1040
+ <div id="stories">
1041
+ @@include('./src/partials/stories-container.html')
1042
+ </div>
1043
+
1006
1044
  <!-- Tech stack container-->
1007
1045
  <div id="techstack-bucket">
1008
1046
  @@include('./src/partials/techstack-bucket-container.html')
@@ -1151,6 +1189,33 @@
1151
1189
  apply(cycleSwitch.querySelector('.mw-active'));
1152
1190
  });
1153
1191
 
1192
+ // just for the showcase: the switches above the photo layouts put one of
1193
+ // their modifiers on the demo they name and take the others off
1194
+ document.addEventListener('DOMContentLoaded', () => {
1195
+ document.querySelectorAll('[data-modifier-demo]').forEach((group) => {
1196
+ const target = document.getElementById(group.dataset.modifierDemo);
1197
+ const items = group.querySelectorAll('.mw-segmented-item');
1198
+ items.forEach((item) => {
1199
+ item.setAttribute(
1200
+ 'aria-pressed',
1201
+ String(item.classList.contains('mw-active'))
1202
+ );
1203
+ item.addEventListener('click', () => {
1204
+ items.forEach((other) => {
1205
+ other.classList.toggle('mw-active', other === item);
1206
+ other.setAttribute('aria-pressed', String(other === item));
1207
+ if (other.dataset.modifier) {
1208
+ target.classList.remove(other.dataset.modifier);
1209
+ }
1210
+ });
1211
+ if (item.dataset.modifier) {
1212
+ target.classList.add(item.dataset.modifier);
1213
+ }
1214
+ });
1215
+ });
1216
+ });
1217
+ });
1218
+
1154
1219
  // just for the showcase: the palette switcher. Every tone in the framework
1155
1220
  // is derived from the root colors with color-mix(), so writing those on the
1156
1221
  // root element repaints the page - bar, ink, borders and tints included.