@getmicdrop/svelte-components 2.8.0 → 3.0.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 (104) hide show
  1. package/dist/components/Alert/Alert.svelte +24 -12
  2. package/dist/components/Alert/Alert.svelte.d.ts +15 -45
  3. package/dist/components/Alert/Alert.svelte.d.ts.map +1 -1
  4. package/dist/components/Badges/Badge.svelte +53 -37
  5. package/dist/components/Badges/Badge.svelte.d.ts +60 -48
  6. package/dist/components/Badges/Badge.svelte.d.ts.map +1 -1
  7. package/dist/components/BottomSheet/BottomSheet.svelte +37 -20
  8. package/dist/components/BottomSheet/BottomSheet.svelte.d.ts +45 -47
  9. package/dist/components/BottomSheet/BottomSheet.svelte.d.ts.map +1 -1
  10. package/dist/components/Breadcrumb/Breadcrumb.svelte +22 -16
  11. package/dist/components/Breadcrumb/Breadcrumb.svelte.d.ts +50 -31
  12. package/dist/components/Breadcrumb/Breadcrumb.svelte.d.ts.map +1 -1
  13. package/dist/components/Button/Button.svelte +179 -134
  14. package/dist/components/Button/Button.svelte.d.ts +37 -78
  15. package/dist/components/Button/Button.svelte.d.ts.map +1 -1
  16. package/dist/components/Checkbox/Checkbox.svelte +71 -41
  17. package/dist/components/Checkbox/Checkbox.svelte.d.ts +34 -62
  18. package/dist/components/Checkbox/Checkbox.svelte.d.ts.map +1 -1
  19. package/dist/components/Drawer/Drawer.svelte +63 -46
  20. package/dist/components/Drawer/Drawer.svelte.d.ts +110 -54
  21. package/dist/components/Drawer/Drawer.svelte.d.ts.map +1 -1
  22. package/dist/components/Dropdown/Dropdown.svelte +203 -193
  23. package/dist/components/Dropdown/Dropdown.svelte.d.ts +44 -42
  24. package/dist/components/Dropdown/Dropdown.svelte.d.ts.map +1 -1
  25. package/dist/components/Dropdown/DropdownItem.svelte +124 -111
  26. package/dist/components/Dropdown/DropdownItem.svelte.d.ts +39 -43
  27. package/dist/components/Dropdown/DropdownItem.svelte.d.ts.map +1 -1
  28. package/dist/components/Dropdown/SelectDropdown.svelte +31 -25
  29. package/dist/components/Dropdown/SelectDropdown.svelte.d.ts +48 -29
  30. package/dist/components/Dropdown/SelectDropdown.svelte.d.ts.map +1 -1
  31. package/dist/components/Input/Input.svelte +141 -98
  32. package/dist/components/Input/Input.svelte.d.ts +94 -110
  33. package/dist/components/Input/Input.svelte.d.ts.map +1 -1
  34. package/dist/components/Input/MultiSelect.svelte +58 -39
  35. package/dist/components/Input/MultiSelect.svelte.d.ts +101 -40
  36. package/dist/components/Input/MultiSelect.svelte.d.ts.map +1 -1
  37. package/dist/components/Input/OTPInput.svelte +30 -17
  38. package/dist/components/Input/OTPInput.svelte.d.ts +45 -36
  39. package/dist/components/Input/OTPInput.svelte.d.ts.map +1 -1
  40. package/dist/components/Input/Search.svelte +196 -173
  41. package/dist/components/Input/Search.svelte.d.ts +36 -65
  42. package/dist/components/Input/Search.svelte.d.ts.map +1 -1
  43. package/dist/components/Input/Select.svelte +49 -35
  44. package/dist/components/Input/Select.svelte.d.ts +44 -46
  45. package/dist/components/Input/Select.svelte.d.ts.map +1 -1
  46. package/dist/components/Input/Textarea.svelte +187 -160
  47. package/dist/components/Input/Textarea.svelte.d.ts +56 -66
  48. package/dist/components/Input/Textarea.svelte.d.ts.map +1 -1
  49. package/dist/components/Modal/ConfirmationModal.svelte +103 -78
  50. package/dist/components/Modal/ConfirmationModal.svelte.d.ts +132 -47
  51. package/dist/components/Modal/ConfirmationModal.svelte.d.ts.map +1 -1
  52. package/dist/components/Modal/InputModal.svelte +157 -132
  53. package/dist/components/Modal/InputModal.svelte.d.ts +181 -48
  54. package/dist/components/Modal/InputModal.svelte.d.ts.map +1 -1
  55. package/dist/components/Modal/Modal.svelte +83 -45
  56. package/dist/components/Modal/Modal.svelte.d.ts +56 -41
  57. package/dist/components/Modal/Modal.svelte.d.ts.map +1 -1
  58. package/dist/components/Modal/ModalTestWrapper.svelte.d.ts +2 -2
  59. package/dist/components/Modal/StatusModal.svelte +149 -122
  60. package/dist/components/Modal/StatusModal.svelte.d.ts +126 -47
  61. package/dist/components/Modal/StatusModal.svelte.d.ts.map +1 -1
  62. package/dist/components/OrderSummary/OrderSummary.svelte +68 -59
  63. package/dist/components/OrderSummary/OrderSummary.svelte.d.ts +72 -60
  64. package/dist/components/OrderSummary/OrderSummary.svelte.d.ts.map +1 -1
  65. package/dist/components/Pagination/Pagination.svelte +49 -39
  66. package/dist/components/Pagination/Pagination.svelte.d.ts +89 -36
  67. package/dist/components/Pagination/Pagination.svelte.d.ts.map +1 -1
  68. package/dist/components/PublicCard/PublicCard.svelte +22 -12
  69. package/dist/components/PublicCard/PublicCard.svelte.d.ts +14 -32
  70. package/dist/components/PublicCard/PublicCard.svelte.d.ts.map +1 -1
  71. package/dist/components/Radio/Radio.svelte +35 -21
  72. package/dist/components/Radio/Radio.svelte.d.ts +22 -51
  73. package/dist/components/Radio/Radio.svelte.d.ts.map +1 -1
  74. package/dist/components/ShowCard/ShowCard.svelte +47 -40
  75. package/dist/components/ShowCard/ShowCard.svelte.d.ts +30 -36
  76. package/dist/components/ShowCard/ShowCard.svelte.d.ts.map +1 -1
  77. package/dist/components/ShowTimeCard/ShowTimeCard.svelte +23 -14
  78. package/dist/components/ShowTimeCard/ShowTimeCard.svelte.d.ts +20 -34
  79. package/dist/components/ShowTimeCard/ShowTimeCard.svelte.d.ts.map +1 -1
  80. package/dist/components/SuperLogin/SuperLogin.svelte +1282 -0
  81. package/dist/components/SuperLogin/SuperLogin.svelte.d.ts +44 -0
  82. package/dist/components/SuperLogin/SuperLogin.svelte.d.ts.map +1 -0
  83. package/dist/components/SuperLogin/index.d.ts +2 -0
  84. package/dist/components/SuperLogin/index.d.ts.map +1 -0
  85. package/dist/components/SuperLogin/index.js +1 -0
  86. package/dist/components/Toggle.spec.js +21 -52
  87. package/dist/components/Toggle.svelte +11 -9
  88. package/dist/components/Toggle.svelte.d.ts +17 -30
  89. package/dist/components/Toggle.svelte.d.ts.map +1 -1
  90. package/dist/components/pages/settings/tabs/CustomImageDropzone.svelte +45 -32
  91. package/dist/components/pages/settings/tabs/CustomImageDropzone.svelte.d.ts +22 -36
  92. package/dist/components/pages/settings/tabs/CustomImageDropzone.svelte.d.ts.map +1 -1
  93. package/dist/components/pages/shows/TabNavigation.svelte +16 -8
  94. package/dist/components/pages/shows/TabNavigation.svelte.d.ts +20 -30
  95. package/dist/components/pages/shows/TabNavigation.svelte.d.ts.map +1 -1
  96. package/dist/constants/validation.d.ts +55 -0
  97. package/dist/constants/validation.d.ts.map +1 -0
  98. package/dist/constants/validation.js +91 -0
  99. package/dist/constants/validation.spec.d.ts +2 -0
  100. package/dist/constants/validation.spec.d.ts.map +1 -0
  101. package/dist/constants/validation.spec.js +64 -0
  102. package/dist/index.d.ts +2 -0
  103. package/dist/index.js +4 -0
  104. package/package.json +1 -1
@@ -1,59 +1,138 @@
1
1
  export default StatusModal;
2
- type StatusModal = SvelteComponent<{
3
- title?: string | undefined;
4
- size?: string | undefined;
5
- variant?: null | undefined;
6
- actions?: any[] | undefined;
2
+ type StatusModal = {
3
+ $on?(type: string, callback: (e: any) => void): () => void;
4
+ $set?(props: Partial<Props>): void;
5
+ };
6
+ declare const StatusModal: import("svelte").Component<{
7
+ /**
8
+ * - Whether the modal is visible
9
+ */
7
10
  show?: boolean | undefined;
11
+ /**
12
+ * - Modal size
13
+ */
14
+ size?: "default" | "small" | "large" | undefined;
15
+ /**
16
+ * - Modal title
17
+ */
18
+ title?: string | undefined;
19
+ /**
20
+ * - For profile-style modals
21
+ */
8
22
  subtitle?: string | undefined;
23
+ /**
24
+ * - Modal description
25
+ */
26
+ description?: string | undefined;
27
+ /**
28
+ * - Button text
29
+ */
30
+ buttonText?: string | undefined;
31
+ /**
32
+ * - Icon type
33
+ */
34
+ iconType?: "info" | "success" | "warning" | "error" | undefined;
35
+ /**
36
+ * - Custom icon URL
37
+ */
38
+ customIcon?: string | null | undefined;
39
+ /**
40
+ * - Profile image URL
41
+ */
42
+ image?: string | null | undefined;
43
+ /**
44
+ * - Disabled state
45
+ */
9
46
  disabled?: boolean | undefined;
47
+ /**
48
+ * - Loading state
49
+ */
10
50
  loading?: boolean | undefined;
11
- image?: null | undefined;
12
- iconType?: string | undefined;
13
- buttonText?: string | undefined;
14
- description?: string | undefined;
15
- customIcon?: null | undefined;
16
- closeBtn?: boolean | undefined;
17
- }, {
18
- confirm: CustomEvent<any>;
19
- close: CustomEvent<any>;
20
- } & {
21
- [evt: string]: CustomEvent<any>;
22
- }, {}> & {
23
- $$bindings?: string | undefined;
24
- };
25
- declare const StatusModal: $$__sveltets_2_IsomorphicComponent<{
26
- title?: string | undefined;
27
- size?: string | undefined;
28
- variant?: null | undefined;
51
+ /**
52
+ * - Alternative to iconType
53
+ */
54
+ variant?: string | null | undefined;
55
+ /**
56
+ * - Action buttons
57
+ */
29
58
  actions?: any[] | undefined;
59
+ /**
60
+ * - Show close button
61
+ */
62
+ closeBtn?: boolean | undefined;
63
+ /**
64
+ * - Confirm callback
65
+ */
66
+ onconfirm?: Function | undefined;
67
+ /**
68
+ * - Close callback
69
+ */
70
+ onclose?: Function | undefined;
71
+ }, {}, "show">;
72
+ type Props = {
73
+ /**
74
+ * - Whether the modal is visible
75
+ */
30
76
  show?: boolean | undefined;
77
+ /**
78
+ * - Modal size
79
+ */
80
+ size?: "default" | "small" | "large" | undefined;
81
+ /**
82
+ * - Modal title
83
+ */
84
+ title?: string | undefined;
85
+ /**
86
+ * - For profile-style modals
87
+ */
31
88
  subtitle?: string | undefined;
89
+ /**
90
+ * - Modal description
91
+ */
92
+ description?: string | undefined;
93
+ /**
94
+ * - Button text
95
+ */
96
+ buttonText?: string | undefined;
97
+ /**
98
+ * - Icon type
99
+ */
100
+ iconType?: "info" | "success" | "warning" | "error" | undefined;
101
+ /**
102
+ * - Custom icon URL
103
+ */
104
+ customIcon?: string | null | undefined;
105
+ /**
106
+ * - Profile image URL
107
+ */
108
+ image?: string | null | undefined;
109
+ /**
110
+ * - Disabled state
111
+ */
32
112
  disabled?: boolean | undefined;
113
+ /**
114
+ * - Loading state
115
+ */
33
116
  loading?: boolean | undefined;
34
- image?: null | undefined;
35
- iconType?: string | undefined;
36
- buttonText?: string | undefined;
37
- description?: string | undefined;
38
- customIcon?: null | undefined;
117
+ /**
118
+ * - Alternative to iconType
119
+ */
120
+ variant?: string | null | undefined;
121
+ /**
122
+ * - Action buttons
123
+ */
124
+ actions?: any[] | undefined;
125
+ /**
126
+ * - Show close button
127
+ */
39
128
  closeBtn?: boolean | undefined;
40
- }, {
41
- confirm: CustomEvent<any>;
42
- close: CustomEvent<any>;
43
- } & {
44
- [evt: string]: CustomEvent<any>;
45
- }, {}, {}, string>;
46
- interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
47
- new (options: import("svelte").ComponentConstructorOptions<Props>): import("svelte").SvelteComponent<Props, Events, Slots> & {
48
- $$bindings?: Bindings;
49
- } & Exports;
50
- (internal: unknown, props: Props & {
51
- $$events?: Events;
52
- $$slots?: Slots;
53
- }): Exports & {
54
- $set?: any;
55
- $on?: any;
56
- };
57
- z_$$bindings?: Bindings;
58
- }
129
+ /**
130
+ * - Confirm callback
131
+ */
132
+ onconfirm?: Function | undefined;
133
+ /**
134
+ * - Close callback
135
+ */
136
+ onclose?: Function | undefined;
137
+ };
59
138
  //# sourceMappingURL=StatusModal.svelte.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StatusModal.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/components/Modal/StatusModal.svelte.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AA2NA;;;;;;;;;;;;;;;;;;;;mBAA0Q;6CAT7N,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,OAAO,OAAO,QAAQ;IAC3L,cAAc,OAAO,QAAQ,EAAE,2BAA2B,CAAC,KAAK,CAAC,GAAG,OAAO,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;IACjK,WAAW,OAAO,SAAS,KAAK,GAAG;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,KAAK,CAAA;KAAC,GAAG,OAAO,GAAG;QAAE,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;IAC9G,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"StatusModal.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/components/Modal/StatusModal.svelte.js"],"names":[],"mappings":";;;;;AA4OA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAA0D"}
@@ -1,34 +1,50 @@
1
1
  <script>
2
2
  import { fly, fade } from 'svelte/transition';
3
3
  import { cubicOut } from 'svelte/easing';
4
- import { createEventDispatcher } from 'svelte';
5
4
  import ChevronDown from 'carbon-icons-svelte/lib/ChevronDown.svelte';
6
5
  import Close from 'carbon-icons-svelte/lib/Close.svelte';
7
6
  import Spinner from '../Spinner/Spinner.svelte';
8
7
 
9
- export let loading = false;
10
- export let quantities = {};
11
- export let eventTickets = [];
12
-
13
- export let checkoutTicket = null;
14
- export let isAgreed = true;
15
- export let btnText = 'Checkout';
16
- export let promoApplied = false;
17
- export let promoDiscount = 0;
18
- export let currentPromoRule = null;
19
-
20
- export let executePurchase = null;
21
- export let elements = null;
22
-
23
- export let venueServiceCharge = {
24
- serviceFeeCents: 0,
25
- serviceFeePercentage: 0,
26
- serviceFeeChargeType: 'both', // 'both', 'percent', or 'flat'
27
- maxServiceFeeCents: 0, // 0 means no cap
28
- taxPercentage: 0, // Default 0% - only charge tax if venue has set it
29
- };
30
-
31
- $: feeFor = price => {
8
+ /**
9
+ * @type {{
10
+ * loading?: boolean,
11
+ * quantities?: Record<string, number>,
12
+ * eventTickets?: Array<{ ID: string | number, name: string, price: number }>,
13
+ * checkoutTicket?: (() => void) | null,
14
+ * isAgreed?: boolean,
15
+ * btnText?: string,
16
+ * promoApplied?: boolean,
17
+ * promoDiscount?: number,
18
+ * currentPromoRule?: { provideDiscount?: boolean, discountTicketIds?: string[], amount?: string, discountType?: '%' | '$' } | null,
19
+ * executePurchase?: ((elements: any) => void) | null,
20
+ * elements?: any,
21
+ * venueServiceCharge?: { serviceFeeCents?: number, serviceFeePercentage?: number, serviceFeeChargeType?: string, maxServiceFeeCents?: number, taxPercentage?: number },
22
+ * onpriceupdate?: (detail: { subtotal: number, fees: number, taxes: number, total: number, promoSavings: number }) => void
23
+ * }}
24
+ */
25
+ let {
26
+ loading = false,
27
+ quantities = {},
28
+ eventTickets = [],
29
+ checkoutTicket = null,
30
+ isAgreed = true,
31
+ btnText = 'Checkout',
32
+ promoApplied = false,
33
+ promoDiscount = 0,
34
+ currentPromoRule = null,
35
+ executePurchase = null,
36
+ elements = null,
37
+ venueServiceCharge = {
38
+ serviceFeeCents: 0,
39
+ serviceFeePercentage: 0,
40
+ serviceFeeChargeType: 'both',
41
+ maxServiceFeeCents: 0,
42
+ taxPercentage: 0,
43
+ },
44
+ onpriceupdate
45
+ } = $props();
46
+
47
+ let feeFor = $derived((price) => {
32
48
  const chargeType = venueServiceCharge.serviceFeeChargeType || 'both';
33
49
  let fee = 0;
34
50
 
@@ -47,31 +63,22 @@
47
63
  }
48
64
 
49
65
  return fee;
50
- };
66
+ });
51
67
 
52
- const dispatch = createEventDispatcher();
53
-
54
- let showFooter = false;
55
- let subtotal = 0;
56
- let fees = 0;
57
- let taxes = 0;
58
- let total = 0;
59
- let showOrderSummaryOnMobile = false;
68
+ let showOrderSummaryOnMobile = $state(false);
60
69
 
61
70
  function makeOrderSummaryVisible() {
62
71
  showOrderSummaryOnMobile = !showOrderSummaryOnMobile;
63
72
  }
64
73
 
65
74
  // Calculate discounted price for a ticket
66
- $: getDiscountedPrice = (ticket) => {
75
+ let getDiscountedPrice = $derived((ticket) => {
67
76
  if (!currentPromoRule?.provideDiscount) return null;
68
77
 
69
78
  // Check if this discount applies to this specific ticket
70
- // If discountTicketIds is empty or not provided, discount applies to all tickets
71
- // If discountTicketIds has values, only apply to those specific ticket IDs
72
79
  const discountTicketIds = currentPromoRule.discountTicketIds || [];
73
80
  if (discountTicketIds.length > 0 && !discountTicketIds.includes(ticket.ID)) {
74
- return null; // This ticket is not eligible for the discount
81
+ return null;
75
82
  }
76
83
 
77
84
  const basePrice = parseFloat(ticket.price) || 0;
@@ -82,44 +89,46 @@
82
89
  return Math.max(0, basePrice - discountAmount).toFixed(2);
83
90
  }
84
91
  return null;
85
- };
92
+ });
86
93
 
87
- $: showFooter = totalQuantity > 0;
94
+ let totalQuantity = $derived(Object.values(quantities).reduce((sum, q) => sum + q, 0));
95
+ let showFooter = $derived(totalQuantity > 0);
88
96
 
89
97
  // Calculate subtotal without any discounts (for calculating savings)
90
- $: subtotalWithoutDiscount = Object.keys(quantities).reduce((acc, key) => {
98
+ let subtotalWithoutDiscount = $derived(Object.keys(quantities).reduce((acc, key) => {
91
99
  const ticket = eventTickets.find(t => t.ID == key);
92
100
  if (!ticket) return acc;
93
101
  return acc + quantities[key] * ticket.price;
94
- }, 0);
102
+ }, 0));
95
103
 
96
104
  // Calculate subtotal with discounts applied
97
- $: subtotal = Object.keys(quantities).reduce((acc, key) => {
105
+ let subtotal = $derived(Object.keys(quantities).reduce((acc, key) => {
98
106
  const ticket = eventTickets.find(t => t.ID == key);
99
107
  if (!ticket) return acc;
100
108
  const discountedPrice = getDiscountedPrice(ticket);
101
109
  const priceToUse = discountedPrice !== null ? parseFloat(discountedPrice) : ticket.price;
102
110
  return acc + quantities[key] * priceToUse;
103
- }, 0);
111
+ }, 0));
104
112
 
105
113
  // Calculate actual savings from promo code
106
- $: promoSavings = currentPromoRule?.provideDiscount ? (subtotalWithoutDiscount - subtotal) : 0;
114
+ let promoSavings = $derived(currentPromoRule?.provideDiscount ? (subtotalWithoutDiscount - subtotal) : 0);
107
115
 
108
- $: fees = Object.keys(quantities).reduce((acc, key) => {
116
+ let fees = $derived(Object.keys(quantities).reduce((acc, key) => {
109
117
  const ticket = eventTickets.find(t => t.ID == key);
110
118
  if (!ticket || ticket.price == 0) return acc;
111
119
  const discountedPrice = getDiscountedPrice(ticket);
112
120
  const priceToUse = discountedPrice !== null ? parseFloat(discountedPrice) : ticket.price;
113
121
  return acc + quantities[key] * feeFor(priceToUse);
114
- }, 0);
115
- $: taxRate = (venueServiceCharge.taxPercentage || 0) / 100;
116
- $: taxes = subtotal > 0 ? subtotal * taxRate : 0;
117
- // When currentPromoRule is used, discounts are already applied per-ticket in subtotal calculation
118
- // Only subtract promoDiscount separately when NOT using currentPromoRule (legacy behavior)
119
- // Use Math.max(0, ...) to prevent negative totals in edge cases
120
- $: total = Math.max(0, subtotal + fees + taxes - (promoApplied && !currentPromoRule?.provideDiscount ? promoDiscount : 0));
121
- $: dispatch('priceUpdate', { subtotal, fees, taxes, total, promoSavings });
122
- $: totalQuantity = Object.values(quantities).reduce((sum, q) => sum + q, 0);
122
+ }, 0));
123
+
124
+ let taxRate = $derived((venueServiceCharge.taxPercentage || 0) / 100);
125
+ let taxes = $derived(subtotal > 0 ? subtotal * taxRate : 0);
126
+ let total = $derived(Math.max(0, subtotal + fees + taxes - (promoApplied && !currentPromoRule?.provideDiscount ? promoDiscount : 0)));
127
+
128
+ // Dispatch price update when values change
129
+ $effect(() => {
130
+ onpriceupdate?.({ subtotal, fees, taxes, total, promoSavings });
131
+ });
123
132
  </script>
124
133
 
125
134
  <div
@@ -210,7 +219,7 @@
210
219
  <button
211
220
  class="checkout-btn w-full h-12 font-semibold rounded-lg flex items-center justify-center transition-colors"
212
221
  class:disabled={totalQuantity === 0}
213
- on:click={() => {
222
+ onclick={() => {
214
223
  if (totalQuantity === 0) return;
215
224
  if (executePurchase) {
216
225
  executePurchase(elements);
@@ -233,7 +242,7 @@
233
242
  <!-- Backdrop overlay - dims background -->
234
243
  <button
235
244
  class="mobile-backdrop mobile-only"
236
- on:click={() => (showOrderSummaryOnMobile = false)}
245
+ onclick={() => (showOrderSummaryOnMobile = false)}
237
246
  aria-label="Close order summary"
238
247
  transition:fade={{ duration: 200 }}
239
248
  ></button>
@@ -248,7 +257,7 @@
248
257
  Order summary
249
258
  </h2>
250
259
  <button
251
- on:click={() => (showOrderSummaryOnMobile = false)}
260
+ onclick={() => (showOrderSummaryOnMobile = false)}
252
261
  class="close-btn transition-colors p-2 rounded-lg"
253
262
  aria-label="Close order summary"
254
263
  >
@@ -323,7 +332,7 @@
323
332
  class="mobile-footer mobile-only fixed bottom-0 left-0 right-0 z-[500]"
324
333
  >
325
334
  <div class="mobile-footer-content">
326
- <button class="mobile-footer-left" on:click={makeOrderSummaryVisible}>
335
+ <button class="mobile-footer-left" onclick={makeOrderSummaryVisible}>
327
336
  <span class="mobile-footer-tickets">
328
337
  {totalQuantity} {totalQuantity > 1 ? 'tickets' : 'ticket'}
329
338
  <ChevronDown size={16} class="chevron-icon transition-transform duration-200 {showOrderSummaryOnMobile ? 'rotate-180' : ''}" />
@@ -333,7 +342,7 @@
333
342
 
334
343
  <button
335
344
  class="checkout-btn mobile-footer-btn"
336
- on:click={() => {
345
+ onclick={() => {
337
346
  if (executePurchase) {
338
347
  executePurchase(elements);
339
348
  } else if (checkoutTicket) {
@@ -1,65 +1,77 @@
1
1
  export default OrderSummary;
2
- type OrderSummary = SvelteComponent<{
3
- loading?: boolean | undefined;
4
- quantities?: {} | undefined;
5
- eventTickets?: any[] | undefined;
6
- checkoutTicket?: null | undefined;
7
- isAgreed?: boolean | undefined;
8
- btnText?: string | undefined;
9
- promoApplied?: boolean | undefined;
10
- promoDiscount?: number | undefined;
11
- currentPromoRule?: null | undefined;
12
- executePurchase?: null | undefined;
13
- elements?: null | undefined;
14
- venueServiceCharge?: {
15
- serviceFeeCents: number;
16
- serviceFeePercentage: number;
17
- serviceFeeChargeType: string;
18
- maxServiceFeeCents: number;
19
- taxPercentage: number;
20
- } | undefined;
21
- }, {
22
- priceUpdate: CustomEvent<any>;
23
- } & {
24
- [evt: string]: CustomEvent<any>;
25
- }, {}> & {
26
- $$bindings?: string | undefined;
2
+ type OrderSummary = {
3
+ $on?(type: string, callback: (e: any) => void): () => void;
4
+ $set?(props: Partial<{
5
+ loading?: boolean | undefined;
6
+ quantities?: Record<string, number> | undefined;
7
+ eventTickets?: {
8
+ ID: string | number;
9
+ name: string;
10
+ price: number;
11
+ }[] | undefined;
12
+ checkoutTicket?: (() => void) | null | undefined;
13
+ isAgreed?: boolean | undefined;
14
+ btnText?: string | undefined;
15
+ promoApplied?: boolean | undefined;
16
+ promoDiscount?: number | undefined;
17
+ currentPromoRule?: {
18
+ provideDiscount?: boolean | undefined;
19
+ discountTicketIds?: string[] | undefined;
20
+ amount?: string | undefined;
21
+ discountType?: "%" | "$" | undefined;
22
+ } | null | undefined;
23
+ executePurchase?: ((elements: any) => void) | null | undefined;
24
+ elements?: any;
25
+ venueServiceCharge?: {
26
+ serviceFeeCents?: number | undefined;
27
+ serviceFeePercentage?: number | undefined;
28
+ serviceFeeChargeType?: string | undefined;
29
+ maxServiceFeeCents?: number | undefined;
30
+ taxPercentage?: number | undefined;
31
+ } | undefined;
32
+ onpriceupdate?: ((detail: {
33
+ subtotal: number;
34
+ fees: number;
35
+ taxes: number;
36
+ total: number;
37
+ promoSavings: number;
38
+ }) => void) | undefined;
39
+ }>): void;
27
40
  };
28
- declare const OrderSummary: $$__sveltets_2_IsomorphicComponent<{
29
- loading?: boolean | undefined;
30
- quantities?: {} | undefined;
31
- eventTickets?: any[] | undefined;
32
- checkoutTicket?: null | undefined;
33
- isAgreed?: boolean | undefined;
34
- btnText?: string | undefined;
35
- promoApplied?: boolean | undefined;
36
- promoDiscount?: number | undefined;
37
- currentPromoRule?: null | undefined;
38
- executePurchase?: null | undefined;
39
- elements?: null | undefined;
41
+ declare const OrderSummary: import("svelte").Component<{
42
+ loading?: boolean;
43
+ quantities?: Record<string, number>;
44
+ eventTickets?: Array<{
45
+ ID: string | number;
46
+ name: string;
47
+ price: number;
48
+ }>;
49
+ checkoutTicket?: (() => void) | null;
50
+ isAgreed?: boolean;
51
+ btnText?: string;
52
+ promoApplied?: boolean;
53
+ promoDiscount?: number;
54
+ currentPromoRule?: {
55
+ provideDiscount?: boolean;
56
+ discountTicketIds?: string[];
57
+ amount?: string;
58
+ discountType?: "%" | "$";
59
+ } | null;
60
+ executePurchase?: ((elements: any) => void) | null;
61
+ elements?: any;
40
62
  venueServiceCharge?: {
41
- serviceFeeCents: number;
42
- serviceFeePercentage: number;
43
- serviceFeeChargeType: string;
44
- maxServiceFeeCents: number;
45
- taxPercentage: number;
46
- } | undefined;
47
- }, {
48
- priceUpdate: CustomEvent<any>;
49
- } & {
50
- [evt: string]: CustomEvent<any>;
51
- }, {}, {}, string>;
52
- interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
53
- new (options: import("svelte").ComponentConstructorOptions<Props>): import("svelte").SvelteComponent<Props, Events, Slots> & {
54
- $$bindings?: Bindings;
55
- } & Exports;
56
- (internal: unknown, props: Props & {
57
- $$events?: Events;
58
- $$slots?: Slots;
59
- }): Exports & {
60
- $set?: any;
61
- $on?: any;
63
+ serviceFeeCents?: number;
64
+ serviceFeePercentage?: number;
65
+ serviceFeeChargeType?: string;
66
+ maxServiceFeeCents?: number;
67
+ taxPercentage?: number;
62
68
  };
63
- z_$$bindings?: Bindings;
64
- }
69
+ onpriceupdate?: (detail: {
70
+ subtotal: number;
71
+ fees: number;
72
+ taxes: number;
73
+ total: number;
74
+ promoSavings: number;
75
+ }) => void;
76
+ }, {}, "">;
65
77
  //# sourceMappingURL=OrderSummary.svelte.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OrderSummary.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/components/OrderSummary/OrderSummary.svelte.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAyVA;;;;;;;;;;;;;;;;;;;;;;;mBAA2S;6CAT9P,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,OAAO,OAAO,QAAQ;IAC3L,cAAc,OAAO,QAAQ,EAAE,2BAA2B,CAAC,KAAK,CAAC,GAAG,OAAO,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;IACjK,WAAW,OAAO,SAAS,KAAK,GAAG;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,KAAK,CAAA;KAAC,GAAG,OAAO,GAAG;QAAE,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;IAC9G,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"OrderSummary.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/components/OrderSummary/OrderSummary.svelte.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwWA;cAfiB,OAAO;iBACJ,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;mBACpB,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;qBACzD,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI;eACzB,OAAO;cACR,MAAM;mBACD,OAAO;oBACN,MAAM;uBACH;QAAE,eAAe,CAAC,EAAE,OAAO,CAAC;QAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,GAAG,GAAG,GAAG,CAAA;KAAE,GAAG,IAAI;sBAC9G,CAAC,CAAC,QAAQ,EAAE,GAAG,KAAK,IAAI,CAAC,GAAG,IAAI;eACvC,GAAG;yBACO;QAAE,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE;oBACpJ,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI;WAGpE"}