@gomusdev/web-components 0.0.19 → 0.0.21

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 (51) hide show
  1. package/dist-js/components/cart/lib/CartItem.d.ts +135 -0
  2. package/dist-js/components/cart/lib/cart.svelte.d.ts +563 -24
  3. package/dist-js/components/cart/lib/localStorage.svelte.d.ts +146 -0
  4. package/dist-js/components/cart/mocks/gomusTicketMocks.d.ts +112 -0
  5. package/dist-js/components/ticketSelection/SpecUtils.d.ts +3 -0
  6. package/dist-js/components/ticketSelection/{lib.svelte.d.ts → TicketSelectionDetails.svelte.d.ts} +10 -7
  7. package/dist-js/components/ticketSelection/subcomponents/addToCartButton/AddToCartButton.svelte.d.ts +6 -0
  8. package/dist-js/components/ticketSelection/subcomponents/addToCartButton/AddToCartButton.svelte.spec.d.ts +1 -0
  9. package/dist-js/components/ticketSelection/subcomponents/addToCartButton/entry.d.ts +0 -0
  10. package/dist-js/components/ticketSelection/subcomponents/calendar/lib/calendar.svelte.d.ts +1 -4
  11. package/dist-js/components/ticketSelection/subcomponents/tickets/Tickets.spec.d.ts +1 -0
  12. package/dist-js/components/ticketSelection/subcomponents/tickets/subcomponents/TicketGroup.svelte.d.ts +626 -0
  13. package/dist-js/components/ticketSelection/subcomponents/tickets/subcomponents/TicketsSum.svelte.d.ts +1 -0
  14. package/dist-js/components/ticketSelection/subcomponents/tickets/subcomponents/addToCartButton/entry.d.ts +0 -0
  15. package/dist-js/components/ticketSelection/subcomponents/tickets/subcomponents/utils.spec.d.ts +1 -0
  16. package/dist-js/components/ticketSelection/subcomponents/tickets/subcomponents/utils.svelte.d.ts +9 -0
  17. package/dist-js/components/ticketSelection/subcomponents/timeslots/lib/__mocks__/generateAvailableTimeSlots.d.ts +8 -0
  18. package/dist-js/components/ticketSelection/subcomponents/timeslots/lib/generateAvailableTimeSlots.specs.d.ts +1 -121
  19. package/dist-js/components/ticketSelection/subcomponents/timeslots/lib/lib.svelte.d.ts +1 -1
  20. package/dist-js/config/config.d.ts +11 -0
  21. package/dist-js/config/config.spec.d.ts +1 -0
  22. package/dist-js/gomus-webcomponents.css +159 -0
  23. package/dist-js/gomus-webcomponents.iife.js +2085 -2590
  24. package/dist-js/gomus-webcomponents.js +2082 -2587
  25. package/dist-js/lib/gomusTicket.spec.d.ts +1 -0
  26. package/dist-js/lib/gomusTicket.svelte.d.ts +122 -0
  27. package/dist-js/lib/helpers/PropertyTracker.d.ts +9 -0
  28. package/dist-js/lib/helpers/PropertyTracker.spec.d.ts +1 -0
  29. package/dist-js/lib/helpers/utils.d.ts +1 -0
  30. package/dist-js/lib/stores/shop.svelte.d.ts +55 -1
  31. package/dist-js/lib/stores/shop.svelte.test.d.ts +1 -3
  32. package/dist-js/lib/vitest/msw/handlers.d.ts +1 -1
  33. package/dist-js/mocks/ShopMocks.d.ts +179 -0
  34. package/dist-js/mocks/mocks.d.ts +1922 -0
  35. package/package.json +5 -1
  36. package/dist-js/components/cart/lib/lib.d.ts +0 -3
  37. package/dist-js/components/cart/mocks/gomusTickets.d.ts +0 -56
  38. package/dist-js/components/ticketSelection/subcomponents/checkoutButton/lib/lib.svelte.d.ts +0 -6
  39. package/dist-js/components/ticketSelection/subcomponents/tickets/lib/lib.svelte.d.ts +0 -9
  40. package/dist-js/lib/gomusTickets.svelte.d.ts +0 -47
  41. /package/dist-js/components/cart/{lib/cart.spec.d.ts → components/Cart.spec.d.ts} +0 -0
  42. /package/dist-js/components/{ticketSelection/lib.spec.d.ts → cart/lib/cart.svelte.spec.d.ts} +0 -0
  43. /package/dist-js/components/{ticketSelection/subcomponents/tickets/components/Tickets.spec.d.ts → cart/lib/localStorage.spec.d.ts} +0 -0
  44. /package/dist-js/components/{cart/components/items/Ticket.svelte.d.ts → if/If.svelte.d.ts} +0 -0
  45. /package/dist-js/components/{ticketSelection/subcomponents/checkoutButton → if}/entry.d.ts +0 -0
  46. /package/dist-js/{lib/gomusTickets.spec.d.ts → components/ticketSelection/TicketSelectionDetails.spec.d.ts} +0 -0
  47. /package/dist-js/{lib/helpers/reactivity.svelte.test.d.ts → components/ticketSelection/subcomponents/addToCartButton/AddToCartButton.spec.d.ts} +0 -0
  48. /package/dist-js/components/ticketSelection/subcomponents/tickets/{components/Tickets.svelte.d.ts → Tickets.svelte.d.ts} +0 -0
  49. /package/dist-js/components/ticketSelection/subcomponents/tickets/{components/fixtures → fixtures}/ticketFixtures.d.ts +0 -0
  50. /package/dist-js/components/ticketSelection/{SelectionTotal.svelte.d.ts → subcomponents/tickets/subcomponents/GroupBody.svelte.d.ts} +0 -0
  51. /package/dist-js/components/ticketSelection/subcomponents/{checkoutButton/components/CheckoutButton.svelte.d.ts → tickets/subcomponents/GroupSum.svelte.d.ts} +0 -0
@@ -1,121 +1 @@
1
- export declare const mockedTicketsAndQuotas: {
2
- tickets: {
3
- '1': {
4
- id: number;
5
- title: string;
6
- ticket_type: "time_slot" | "annual" | "normal";
7
- bookable: boolean;
8
- museum_ids: number[];
9
- exhibition_ids: number[];
10
- price_cents: number;
11
- discount: number;
12
- vat_pct: number;
13
- tax_included: boolean;
14
- entry_duration: number | null;
15
- min_persons: number;
16
- max_persons: number;
17
- quota_ids: number[];
18
- first_entry: number;
19
- last_entry: number;
20
- personalizeable: boolean;
21
- attendees: boolean | string;
22
- identification: boolean | string;
23
- free_timing: boolean;
24
- is_collective: boolean;
25
- is_upgrade: boolean;
26
- is_mantle: boolean;
27
- description: string | null;
28
- sub_ticket_ids: number[];
29
- sub_tickets: {
30
- [key: string]: {
31
- title?: string;
32
- min_persons?: number;
33
- max_persons?: number;
34
- description?: string | null;
35
- };
36
- } | null;
37
- is_sub_ticket: boolean;
38
- created_at: string;
39
- updated_at: string;
40
- shop_order: number;
41
- shipped_with_merchandise_id: number | null;
42
- restricted_shop_account: boolean;
43
- cash_point_order: number;
44
- capacities: {
45
- [key: string]: number;
46
- };
47
- total_capacities: {
48
- [key: string]: number;
49
- };
50
- max_capacity: number;
51
- max_total_capacity: number;
52
- dynamic_prices: {
53
- [key: string]: number;
54
- } | null;
55
- };
56
- '2': {
57
- id: number;
58
- title: string;
59
- ticket_type: "time_slot" | "annual" | "normal";
60
- bookable: boolean;
61
- museum_ids: number[];
62
- exhibition_ids: number[];
63
- price_cents: number;
64
- discount: number;
65
- vat_pct: number;
66
- tax_included: boolean;
67
- entry_duration: number | null;
68
- min_persons: number;
69
- max_persons: number;
70
- quota_ids: number[];
71
- first_entry: number;
72
- last_entry: number;
73
- personalizeable: boolean;
74
- attendees: boolean | string;
75
- identification: boolean | string;
76
- free_timing: boolean;
77
- is_collective: boolean;
78
- is_upgrade: boolean;
79
- is_mantle: boolean;
80
- description: string | null;
81
- sub_ticket_ids: number[];
82
- sub_tickets: {
83
- [key: string]: {
84
- title?: string;
85
- min_persons?: number;
86
- max_persons?: number;
87
- description?: string | null;
88
- };
89
- } | null;
90
- is_sub_ticket: boolean;
91
- created_at: string;
92
- updated_at: string;
93
- shop_order: number;
94
- shipped_with_merchandise_id: number | null;
95
- restricted_shop_account: boolean;
96
- cash_point_order: number;
97
- capacities: {
98
- [key: string]: number;
99
- };
100
- total_capacities: {
101
- [key: string]: number;
102
- };
103
- max_capacity: number;
104
- max_total_capacity: number;
105
- dynamic_prices: {
106
- [key: string]: number;
107
- } | null;
108
- };
109
- };
110
- quotas: {
111
- '1': {
112
- ticket_ids: number[];
113
- capacities: {
114
- [key: string]: number;
115
- };
116
- total_capacities: {
117
- [key: string]: number;
118
- };
119
- };
120
- };
121
- };
1
+ export {};
@@ -1,5 +1,5 @@
1
1
  import { TimeSlot } from '@gomus/types';
2
- import { TicketSelectionDetails } from '../../../lib.svelte.ts';
2
+ import { TicketSelectionDetails } from '../../../TicketSelectionDetails.svelte.ts';
3
3
  export declare class Details {
4
4
  ticketSelectionDetails: TicketSelectionDetails | undefined;
5
5
  get timeslots(): TimeSlot[];
@@ -1 +1,12 @@
1
+ import { ShopUrls } from '../lib/helpers/urls.ts';
2
+ interface ConfigOptions {
3
+ urls: Partial<ShopUrls>;
4
+ navigatoTo: (url: string) => void;
5
+ }
6
+ declare class Config {
7
+ private options;
8
+ get config(): Readonly<ConfigOptions>;
9
+ defineConfig(options: Partial<ConfigOptions>): this;
10
+ }
11
+ export declare const go: Config;
1
12
  export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -1086,3 +1086,162 @@ go-tickets [data-testid='tickets'] > li > article[data-go-ticket] > ul [data-go-
1086
1086
  min-height: 2rem;
1087
1087
  width: auto;
1088
1088
  }
1089
+
1090
+ /*=== CART ===*/
1091
+ go-cart {
1092
+ display: block;
1093
+ }
1094
+
1095
+ [data-testid='cart'] {
1096
+ margin: 0;
1097
+ padding: 0;
1098
+ list-style: none;
1099
+ }
1100
+
1101
+ /* Header row */
1102
+ [data-go-cart-header] {
1103
+ background: inherit;
1104
+ padding: 0.5rem 0;
1105
+ }
1106
+ [data-go-cart-header] > ul {
1107
+ display: flex;
1108
+ gap: 1rem;
1109
+ font-weight: 600;
1110
+ border-bottom: 1px solid rgba(0, 0, 0, 0.1);
1111
+ padding: 0.5rem 0;
1112
+ }
1113
+ [data-go-cart-header] > ul > li {
1114
+ list-style: none;
1115
+ min-width: 0;
1116
+ }
1117
+ [data-go-cart-header] > ul [data-go-cart-item-title] {
1118
+ flex: 2;
1119
+ }
1120
+ [data-go-cart-header] > ul [data-go-cart-item-price] {
1121
+ flex: 1;
1122
+ text-align: right;
1123
+ }
1124
+ [data-go-cart-header] > ul [data-go-cart-item-count] {
1125
+ flex: 1;
1126
+ text-align: right;
1127
+ }
1128
+ [data-go-cart-header] > ul [data-go-cart-item-remove] {
1129
+ flex: 1;
1130
+ text-align: right;
1131
+ }
1132
+ [data-go-cart-header] > ul [data-go-cart-item-sum] {
1133
+ flex: 1;
1134
+ text-align: right;
1135
+ }
1136
+
1137
+ /* Data rows */
1138
+ [data-go-cart-item] article > ul {
1139
+ display: flex;
1140
+ gap: 1rem;
1141
+ padding: 0.75rem 0;
1142
+ border-bottom: 1px solid rgba(0, 0, 0, 0.06);
1143
+ align-items: center;
1144
+ }
1145
+ [data-go-cart-item] article > ul > li {
1146
+ list-style: none;
1147
+ min-width: 0;
1148
+ white-space: nowrap;
1149
+ overflow: hidden;
1150
+ text-overflow: ellipsis;
1151
+ }
1152
+ [data-go-cart-item] article > ul [data-go-cart-item-title] {
1153
+ flex: 2;
1154
+ }
1155
+ [data-go-cart-item] article > ul [data-go-cart-item-price] {
1156
+ flex: 1;
1157
+ text-align: right;
1158
+ }
1159
+ [data-go-cart-item] article > ul [data-go-cart-item-count] {
1160
+ flex: 1;
1161
+ text-align: right;
1162
+ }
1163
+ [data-go-cart-item] article > ul [data-go-cart-item-remove] {
1164
+ flex: 1;
1165
+ text-align: right;
1166
+ }
1167
+ [data-go-cart-item] article > ul [data-go-cart-item-remove] button {
1168
+ padding: 0.25rem 0.5rem;
1169
+ margin: 0;
1170
+ background-color: white;
1171
+ color: black;
1172
+ border: none;
1173
+ border-radius: 4px;
1174
+ cursor: pointer;
1175
+ }
1176
+ [data-go-cart-item] article > ul [data-go-cart-item-sum] {
1177
+ flex: 1;
1178
+ text-align: right;
1179
+ }
1180
+
1181
+ /* Footer row */
1182
+ [data-go-cart-footer] {
1183
+ background: inherit;
1184
+ }
1185
+ [data-go-cart-footer] > ul {
1186
+ display: flex;
1187
+ gap: 1rem;
1188
+ padding: 0.5rem 0;
1189
+ border-top: 1px solid rgba(0, 0, 0, 0.1);
1190
+ font-weight: 600;
1191
+ }
1192
+ [data-go-cart-footer] > ul > li {
1193
+ list-style: none;
1194
+ min-width: 0;
1195
+ }
1196
+ [data-go-cart-footer] > ul [data-go-cart-item-title] {
1197
+ flex: 2;
1198
+ }
1199
+ [data-go-cart-footer] > ul [data-go-cart-item-price] {
1200
+ flex: 1;
1201
+ text-align: right;
1202
+ }
1203
+ [data-go-cart-footer] > ul [data-go-cart-item-count] {
1204
+ flex: 1;
1205
+ text-align: right;
1206
+ }
1207
+ [data-go-cart-footer] > ul [data-go-cart-item-remove] {
1208
+ flex: 1;
1209
+ text-align: right;
1210
+ }
1211
+ [data-go-cart-footer] > ul [data-go-cart-item-sum] {
1212
+ flex: 1;
1213
+ text-align: right;
1214
+ }
1215
+
1216
+ [data-add-to-cart-button]:disabled {
1217
+ background-color: #d3d3d3; /* Gray color for disabled state */
1218
+ color: #a1a1a1; /* Lighter text color */
1219
+ cursor: not-allowed; /* Show that the button is disabled */
1220
+ }
1221
+
1222
+ h2 {
1223
+ margin-top: 3rlh;
1224
+ }
1225
+ .sum-container {
1226
+ display: flex;
1227
+ flex-direction: row;
1228
+ justify-content: space-between;
1229
+ }
1230
+
1231
+ .component-container {
1232
+ max-width: 650px;
1233
+ margin: 0 auto;
1234
+ box-shadow:
1235
+ 0 4px 12px rgba(12, 12, 12, 0.15),
1236
+ 0 0 0 1px rgba(0, 0, 0, 0.05);
1237
+ border-radius: 3px;
1238
+ padding: 32px 32px 48px;
1239
+
1240
+ margin: 2rem auto;
1241
+ }
1242
+ go-cart,
1243
+ go-ticket-selection,
1244
+ go-if {
1245
+ width: 100%;
1246
+ display: block;
1247
+ }