@gomusdev/web-components 3.12.0 → 4.1.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/README.md +46 -0
- package/dist-js/components/cart/components/SubRow.svelte.d.ts +1 -0
- package/dist-js/components/shared/quantityStepper/QuantityControl.svelte.d.ts +1 -0
- package/dist-js/gomus-webcomponents.css +141 -3
- package/dist-js/gomus-webcomponents.iife.js +21070 -20669
- package/dist-js/gomus-webcomponents.js +21070 -20669
- package/dist-js/gomus-webcomponents.min.css +1 -1
- package/dist-js/gomus-webcomponents.min.iife.js +37 -37
- package/dist-js/gomus-webcomponents.min.js +18577 -18313
- package/dist-js/src/components/shared/quantityStepper/QuantityControl.spec.d.ts +1 -0
- package/dist-js/src/components/ticketSelection/subcomponents/tickets/subcomponents/segment/SegmentDetails.svelte.d.ts +20 -0
- package/dist-js/src/factories/CartItemFactories.d.ts +86 -0
- package/dist-js/src/factories/QuotaFactories.d.ts +16 -0
- package/dist-js/src/factories/TicketFactories.d.ts +42 -0
- package/dist-js/src/lib/models/capacity/CapacityManager.d.ts +4 -2
- package/dist-js/src/lib/models/capacity/calculators/mantle.d.ts +34 -0
- package/dist-js/src/lib/models/capacity/calculators/mantle.spec.d.ts +1 -0
- package/dist-js/src/lib/models/capacity/calculators/quotaManager/QuotaManager.d.ts +2 -1
- package/dist-js/src/lib/models/capacity/calculators/quotas.d.ts +23 -0
- package/dist-js/src/lib/models/cart/CartItem.d.ts +29 -1
- package/dist-js/src/lib/models/cart/cart.svelte.d.ts +40 -0
- package/dist-js/src/lib/models/cart/localStorage.svelte.d.ts +8 -0
- package/dist-js/src/lib/models/cart/quantityStepper.d.ts +16 -13
- package/dist-js/src/lib/models/ticket/UITicket.svelte.d.ts +35 -0
- package/dist-js/src/lib/stores/shop.svelte.d.ts +24 -2
- package/dist-js/src/workflowSpecs/mantle-workflow.spec.d.ts +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,5 +1,51 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 4.1.0 (2026-07-09)
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
* **interactive-editor:** switch shop backend + WC version inline
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **interactive-editor:** list local build alongside published versions
|
|
12
|
+
|
|
13
|
+
## 4.0.0 (2026-07-08)
|
|
14
|
+
|
|
15
|
+
### ⚠ BREAKING CHANGES
|
|
16
|
+
|
|
17
|
+
* **quantity:** one QuantityControl for ticket rows, cart lines, and sub-rows
|
|
18
|
+
|
|
19
|
+
### Features
|
|
20
|
+
|
|
21
|
+
* add QuotaFactories for reusable quota creation in tests and refactor related specs
|
|
22
|
+
* **capacity:** Mantelticket capacity calculator (Angular parity)
|
|
23
|
+
* **cart:** carry mantle composition from selection into the cart
|
|
24
|
+
* **cart:** carry mantle composition through the cart projection
|
|
25
|
+
* **cart:** carry mantle sub-ticket composition on CartItem
|
|
26
|
+
* **cart:** make a mantle's composition part of its cart-line identity
|
|
27
|
+
* **cart:** persist a mantle's composition across reloads
|
|
28
|
+
* **cart:** render editable sub-ticket rows under a mantle line
|
|
29
|
+
* **demo:** show booked mantle in go-order; load real order on edge
|
|
30
|
+
* **order:** show Mantelticket sub-ticket composition in go-order breakdown
|
|
31
|
+
* **quantity:** one QuantityControl for ticket rows, cart lines, and sub-rows
|
|
32
|
+
* **ticket-selection:** render editable sub-ticket rows under a mantle
|
|
33
|
+
* **ticket:** detect mantle tickets and normalize sub-ticket defs
|
|
34
|
+
|
|
35
|
+
### Bug Fixes
|
|
36
|
+
|
|
37
|
+
* **build:** correct storybook:docs:build-and-deploy script name
|
|
38
|
+
* **capacity:** sum same-id quota draws so shared-quota tickets can't oversell
|
|
39
|
+
* **cart:** add default styling for Mantelticket sub-ticket rows
|
|
40
|
+
* **cart:** don't merge identical mantle lines in the display projection
|
|
41
|
+
* **cart:** never merge Mantelticket lines
|
|
42
|
+
* **cart:** never-collapse mantle lines; group composition + identity
|
|
43
|
+
* **cart:** pair echoed mantle lines by their composition, not by position
|
|
44
|
+
* **cart:** re-preview the cart when a mantle's composition changes
|
|
45
|
+
* **factories:** import ProductType as type-only so the Storybook build resolves it
|
|
46
|
+
* **mantle:** cap sub-ticket selectors by the remaining quota headroom
|
|
47
|
+
* **ticket-selection:** re-derive capacity when a cart mantle mix edit changes its draw
|
|
48
|
+
|
|
3
49
|
## 3.12.0 (2026-07-07)
|
|
4
50
|
|
|
5
51
|
### Features
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { SvelteComponent as default } from 'svelte';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { SvelteComponent as default } from 'svelte';
|
|
@@ -1216,6 +1216,64 @@ go-cart ul,go-cart ol {
|
|
|
1216
1216
|
text-align: right;
|
|
1217
1217
|
}
|
|
1218
1218
|
|
|
1219
|
+
/* Mantelticket sub-tickets — nested rows shown under a mantle line, in both the
|
|
1220
|
+
cart and the ticket selection. A sub-ticket is part of its bundle, so the rows
|
|
1221
|
+
read as a subordinate, indented group rather than standalone line items. */
|
|
1222
|
+
/* `ul`/`li` qualifiers raise specificity above the `go-cart ul/ol` reset (0,0,2),
|
|
1223
|
+
which would otherwise zero the indent and spacing. */
|
|
1224
|
+
ul.go-sub-tickets {
|
|
1225
|
+
list-style: none;
|
|
1226
|
+
margin: 0 0 0.5rem;
|
|
1227
|
+
padding: 0.25rem 0 0.25rem 1rem;
|
|
1228
|
+
border-left: 2px solid rgba(18, 130, 106, 0.35); /* var(--primary) tint */
|
|
1229
|
+
display: flex;
|
|
1230
|
+
flex-direction: column;
|
|
1231
|
+
gap: 0.15rem;
|
|
1232
|
+
}
|
|
1233
|
+
|
|
1234
|
+
li.go-sub-ticket {
|
|
1235
|
+
list-style: none;
|
|
1236
|
+
display: flex;
|
|
1237
|
+
align-items: center;
|
|
1238
|
+
gap: 0.75rem;
|
|
1239
|
+
padding: 0.3rem 0;
|
|
1240
|
+
font-size: 0.9rem;
|
|
1241
|
+
}
|
|
1242
|
+
|
|
1243
|
+
.go-sub-ticket-title {
|
|
1244
|
+
flex: 0 0 auto;
|
|
1245
|
+
font-weight: 500;
|
|
1246
|
+
}
|
|
1247
|
+
|
|
1248
|
+
.go-sub-ticket-description {
|
|
1249
|
+
flex: 1;
|
|
1250
|
+
min-width: 0;
|
|
1251
|
+
color: rgba(0, 0, 0, 0.55);
|
|
1252
|
+
font-size: 0.85em;
|
|
1253
|
+
}
|
|
1254
|
+
|
|
1255
|
+
/* Pin the control (stepper or legacy select) to the right whether or not a
|
|
1256
|
+
description is present. */
|
|
1257
|
+
.go-sub-ticket .go-quantity-stepper,
|
|
1258
|
+
.go-sub-ticket .go-quantity-select,
|
|
1259
|
+
.go-sub-ticket-quantity {
|
|
1260
|
+
margin-left: auto;
|
|
1261
|
+
text-align: right;
|
|
1262
|
+
font-feature-settings: "tnum";
|
|
1263
|
+
font-variant-numeric: tabular-nums;
|
|
1264
|
+
}
|
|
1265
|
+
|
|
1266
|
+
.go-sub-ticket .go-quantity-select {
|
|
1267
|
+
min-width: 4rem;
|
|
1268
|
+
min-height: 1.8rem;
|
|
1269
|
+
max-width: 8rem;
|
|
1270
|
+
}
|
|
1271
|
+
|
|
1272
|
+
/* A deselected sub (quantity 0) stays visible but dimmed. */
|
|
1273
|
+
.go-sub-ticket.is-empty {
|
|
1274
|
+
opacity: 0.5;
|
|
1275
|
+
}
|
|
1276
|
+
|
|
1219
1277
|
/*=== QUANTITY STEPPER (shared by go-tickets + go-cart) ===*/
|
|
1220
1278
|
/* Scoped under :host,:root so these out-specify the global `:root button` rule
|
|
1221
1279
|
(teal background + margin-top: 2rem + 20px 60px padding) without !important.
|
|
@@ -1515,10 +1573,90 @@ go-link {
|
|
|
1515
1573
|
opacity: 0.5;
|
|
1516
1574
|
}
|
|
1517
1575
|
|
|
1518
|
-
|
|
1519
|
-
|
|
1520
|
-
|
|
1576
|
+
/*=== ORDER ===*/
|
|
1577
|
+
/* Mirrors the go-cart row model: an <ol> with a header row, one <li><article> per
|
|
1578
|
+
ticket/event item, and a footer total. Column widths are shared CSS vars so the
|
|
1579
|
+
header, item, and footer cells line up. */
|
|
1580
|
+
go-order {
|
|
1581
|
+
--order-col-count: 0 0 3rem;
|
|
1582
|
+
--order-col-price: 0 0 auto;
|
|
1583
|
+
|
|
1584
|
+
display: block;
|
|
1521
1585
|
}
|
|
1586
|
+
go-order ol,go-order ul {
|
|
1587
|
+
margin: 0;
|
|
1588
|
+
padding: 0;
|
|
1589
|
+
list-style: none;
|
|
1590
|
+
}
|
|
1591
|
+
/* Header + footer share the row layout with the item rows below. */
|
|
1592
|
+
go-order .data-go-order-breakdown-header > ul,go-order .go-order-breakdown-footer > ul,go-order li > article > ul {
|
|
1593
|
+
display: flex;
|
|
1594
|
+
align-items: flex-start;
|
|
1595
|
+
gap: 1rem;
|
|
1596
|
+
padding: 0.75rem 0;
|
|
1597
|
+
border-bottom: 1px solid rgba(0, 0, 0, 0.06);
|
|
1598
|
+
}
|
|
1599
|
+
go-order .data-go-order-breakdown-header > ul > li,go-order .go-order-breakdown-footer > ul > li,go-order li > article > ul:not(.does-not-exist) > li {
|
|
1600
|
+
list-style: none;
|
|
1601
|
+
min-width: 0;
|
|
1602
|
+
}
|
|
1603
|
+
go-order .data-go-order-breakdown-header > ul {
|
|
1604
|
+
font-weight: 600;
|
|
1605
|
+
align-items: center;
|
|
1606
|
+
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
|
|
1607
|
+
}
|
|
1608
|
+
go-order .go-order-breakdown-footer > ul {
|
|
1609
|
+
font-weight: 600;
|
|
1610
|
+
border-top: 1px solid rgba(0, 0, 0, 0.1);
|
|
1611
|
+
border-bottom: none;
|
|
1612
|
+
}
|
|
1613
|
+
/* --- Columns (semantic classes shared across header/rows/footer) --- */
|
|
1614
|
+
go-order .go-order-breakdown-header-count,go-order .go-order-breakdown-count {
|
|
1615
|
+
flex: var(--order-col-count);
|
|
1616
|
+
}
|
|
1617
|
+
go-order .go-order-breakdown-header-product,go-order .go-order-breakdown-product,go-order .go-cart-footer-title {
|
|
1618
|
+
flex: 1;
|
|
1619
|
+
}
|
|
1620
|
+
/* Price hugs the right: product grows and eats the slack, so the price sits
|
|
1621
|
+
flush against the trailing cells. */
|
|
1622
|
+
go-order .go-order-breakdown-header-price,go-order .go-order-breakdown-item-price,go-order .go-cart-footer-price {
|
|
1623
|
+
flex: var(--order-col-price);
|
|
1624
|
+
margin-left: auto;
|
|
1625
|
+
text-align: right;
|
|
1626
|
+
}
|
|
1627
|
+
/* Trailing icon cells collapse to their content, so an empty passbook/ical
|
|
1628
|
+
column adds no whitespace to the right of the price. */
|
|
1629
|
+
go-order .go-order-breakdown-header-passbook,go-order .go-order-breakdown-passbook,go-order .go-cart-footer-passbook,go-order .go-order-breakdown-ical {
|
|
1630
|
+
flex: 0 0 auto;
|
|
1631
|
+
text-align: right;
|
|
1632
|
+
}
|
|
1633
|
+
/* --- Product cell internals --- */
|
|
1634
|
+
go-order .go-order-item-title {
|
|
1635
|
+
display: block;
|
|
1636
|
+
font-weight: 500;
|
|
1637
|
+
}
|
|
1638
|
+
go-order .go-cart-item-date,go-order .go-cart-item-time {
|
|
1639
|
+
color: rgba(0, 0, 0, 0.55);
|
|
1640
|
+
font-size: 0.9em;
|
|
1641
|
+
margin-right: 0.35rem;
|
|
1642
|
+
}
|
|
1643
|
+
/* Mantelticket sub-tickets and event scale-price sub-lines: an indented,
|
|
1644
|
+
primary-tinted group beneath the title (see TicketSale/Event breakdown). */
|
|
1645
|
+
go-order .go-order-item-quantities {
|
|
1646
|
+
display: inline-block;
|
|
1647
|
+
margin: 0.15rem 0 0 1rem;
|
|
1648
|
+
padding-left: 0.6rem;
|
|
1649
|
+
border-left: 2px solid rgba(18, 130, 106, 0.35);
|
|
1650
|
+
font-size: 0.9em;
|
|
1651
|
+
color: rgba(0, 0, 0, 0.7);
|
|
1652
|
+
}
|
|
1653
|
+
go-order .go-ticket-download,go-order .go-ticket-personalization,go-order .go-order-breakdown-ical a {
|
|
1654
|
+
display: inline-block;
|
|
1655
|
+
line-height: 24px;
|
|
1656
|
+
margin-top: 0.35rem;
|
|
1657
|
+
color: #12826a;
|
|
1658
|
+
color: var(--primary);
|
|
1659
|
+
}
|
|
1522
1660
|
|
|
1523
1661
|
.go-donation-campaign {
|
|
1524
1662
|
display: grid;
|