@getmicdrop/svelte-components 2.6.0 → 2.6.3

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 (152) hide show
  1. package/dist/__LIB_STORES__.js +2 -30
  2. package/dist/components/Badges/Badge.svelte +17 -268
  3. package/dist/components/Badges/Badge.svelte.d.ts +2 -18
  4. package/dist/components/Badges/Badge.svelte.d.ts.map +1 -1
  5. package/dist/components/Breadcrumb/Breadcrumb.svelte +36 -65
  6. package/dist/components/Breadcrumb/Breadcrumb.svelte.d.ts +2 -16
  7. package/dist/components/Breadcrumb/Breadcrumb.svelte.d.ts.map +1 -1
  8. package/dist/components/Button/Button.svelte +3 -136
  9. package/dist/components/Button/Button.svelte.d.ts +0 -2
  10. package/dist/components/Button/Button.svelte.d.ts.map +1 -1
  11. package/dist/components/Calendar/Calendar.spec.d.ts +2 -0
  12. package/dist/components/Calendar/Calendar.spec.d.ts.map +1 -0
  13. package/dist/components/Calendar/Calendar.spec.js +131 -0
  14. package/dist/components/Calendar/Calendar.svelte +1115 -0
  15. package/dist/components/Calendar/{MiniMonthCalendar.svelte.d.ts → Calendar.svelte.d.ts} +21 -20
  16. package/dist/components/Calendar/Calendar.svelte.d.ts.map +1 -0
  17. package/dist/components/Calendar/QuarterView.spec.d.ts +2 -0
  18. package/dist/components/Calendar/QuarterView.spec.d.ts.map +1 -0
  19. package/dist/components/Calendar/QuarterView.spec.js +394 -0
  20. package/dist/components/Calendar/QuarterView.stories.svelte +134 -0
  21. package/dist/components/{ShowTimeCard/ShowTimeCard.svelte.d.ts → Calendar/QuarterView.stories.svelte.d.ts} +21 -17
  22. package/dist/components/Calendar/QuarterView.stories.svelte.d.ts.map +1 -0
  23. package/dist/components/Calendar/QuarterView.svelte +736 -0
  24. package/dist/components/{FAQs/FAQs.svelte.d.ts → Calendar/QuarterView.svelte.d.ts} +10 -10
  25. package/dist/components/{Skeleton/Skeleton.svelte.d.ts.map → Calendar/QuarterView.svelte.d.ts.map} +1 -1
  26. package/dist/components/Card.svelte +2 -2
  27. package/dist/components/Card.svelte.d.ts +2 -2
  28. package/dist/components/Card.svelte.d.ts.map +1 -1
  29. package/dist/components/DarkModeToggle.svelte +0 -2
  30. package/dist/components/DarkModeToggle.svelte.d.ts.map +1 -1
  31. package/dist/components/ErrorDisplay.svelte.d.ts +2 -2
  32. package/dist/components/Input/Input.svelte +12 -105
  33. package/dist/components/Input/Input.svelte.d.ts +12 -28
  34. package/dist/components/Input/Input.svelte.d.ts.map +1 -1
  35. package/dist/components/Input/MultiSelect.svelte +5 -4
  36. package/dist/components/Input/MultiSelect.svelte.d.ts +8 -8
  37. package/dist/components/Input/MultiSelect.svelte.d.ts.map +1 -1
  38. package/dist/components/Input/OTPInput.svelte +1 -1
  39. package/dist/components/Input/Select.svelte +5 -4
  40. package/dist/components/Input/Select.svelte.d.ts +8 -8
  41. package/dist/components/Input/Select.svelte.d.ts.map +1 -1
  42. package/dist/components/Layout/Header.svelte +4 -14
  43. package/dist/components/Modal/ConfirmationModal.svelte +17 -69
  44. package/dist/components/Modal/ConfirmationModal.svelte.d.ts +0 -22
  45. package/dist/components/Modal/ConfirmationModal.svelte.d.ts.map +1 -1
  46. package/dist/components/Modal/Modal.svelte +8 -34
  47. package/dist/components/Modal/Modal.svelte.d.ts +0 -2
  48. package/dist/components/Modal/Modal.svelte.d.ts.map +1 -1
  49. package/dist/components/PasswordStrengthIndicator/PasswordStrengthIndicator.svelte.d.ts +2 -2
  50. package/dist/components/Spinner/Spinner.svelte +17 -73
  51. package/dist/components/Spinner/Spinner.svelte.d.ts +3 -5
  52. package/dist/components/Spinner/Spinner.svelte.d.ts.map +1 -1
  53. package/dist/components/pages/performers/AvailabilityCalendarModal.svelte +632 -0
  54. package/dist/components/{PublicCard/PublicCard.svelte.d.ts → pages/performers/AvailabilityCalendarModal.svelte.d.ts} +14 -12
  55. package/dist/components/pages/performers/AvailabilityCalendarModal.svelte.d.ts.map +1 -0
  56. package/dist/components/pages/performers/ShowDetails.svelte.d.ts +4 -4
  57. package/dist/components/pages/performers/ShowItemCard.svelte.d.ts +8 -8
  58. package/dist/components/pages/performers/SwitchOption.svelte.d.ts +2 -2
  59. package/dist/components/pages/performers/VenueInfo.svelte.d.ts +2 -2
  60. package/dist/components/pages/performers/VenueItemCard.svelte +2 -2
  61. package/dist/components/pages/performers/VenueItemCard.svelte.d.ts +4 -4
  62. package/dist/components/pages/profile/profile-form.svelte +1 -1
  63. package/dist/components/pages/settings/tabs/CustomImageDropzone.svelte.d.ts +2 -2
  64. package/dist/components/pages/shows/TabNavigation.svelte +8 -7
  65. package/dist/constants/formOptions.d.ts +2 -5
  66. package/dist/constants/formOptions.d.ts.map +1 -1
  67. package/dist/constants/formOptions.js +1 -2
  68. package/dist/index.d.ts +4 -28
  69. package/dist/index.js +29 -33
  70. package/dist/services/EventService.js +75 -75
  71. package/dist/services/EventService.spec.js +217 -217
  72. package/dist/services/ShowService.spec.js +342 -342
  73. package/package.json +160 -160
  74. package/dist/components/AboutShow/AboutShow.svelte +0 -278
  75. package/dist/components/AboutShow/AboutShow.svelte.d.ts +0 -43
  76. package/dist/components/AboutShow/AboutShow.svelte.d.ts.map +0 -1
  77. package/dist/components/Accordion/Accordion.svelte +0 -44
  78. package/dist/components/Accordion/Accordion.svelte.d.ts +0 -42
  79. package/dist/components/Accordion/Accordion.svelte.d.ts.map +0 -1
  80. package/dist/components/Accordion/AccordionItem.svelte +0 -141
  81. package/dist/components/Accordion/AccordionItem.svelte.d.ts +0 -50
  82. package/dist/components/Accordion/AccordionItem.svelte.d.ts.map +0 -1
  83. package/dist/components/Calendar/MiniMonthCalendar.svelte +0 -1446
  84. package/dist/components/Calendar/MiniMonthCalendar.svelte.d.ts.map +0 -1
  85. package/dist/components/Checkbox/Checkbox.svelte +0 -90
  86. package/dist/components/Checkbox/Checkbox.svelte.d.ts +0 -64
  87. package/dist/components/Checkbox/Checkbox.svelte.d.ts.map +0 -1
  88. package/dist/components/Drawer/Drawer.svelte +0 -207
  89. package/dist/components/Drawer/Drawer.svelte.d.ts +0 -74
  90. package/dist/components/Drawer/Drawer.svelte.d.ts.map +0 -1
  91. package/dist/components/Dropdown/Dropdown.svelte +0 -193
  92. package/dist/components/Dropdown/Dropdown.svelte.d.ts +0 -50
  93. package/dist/components/Dropdown/Dropdown.svelte.d.ts.map +0 -1
  94. package/dist/components/Dropdown/DropdownItem.svelte +0 -111
  95. package/dist/components/Dropdown/DropdownItem.svelte.d.ts +0 -48
  96. package/dist/components/Dropdown/DropdownItem.svelte.d.ts.map +0 -1
  97. package/dist/components/Dropdown/SelectDropdown.svelte +0 -301
  98. package/dist/components/Dropdown/SelectDropdown.svelte.d.ts +0 -51
  99. package/dist/components/Dropdown/SelectDropdown.svelte.d.ts.map +0 -1
  100. package/dist/components/EmptyState/EmptyState.svelte +0 -80
  101. package/dist/components/EmptyState/EmptyState.svelte.d.ts +0 -37
  102. package/dist/components/EmptyState/EmptyState.svelte.d.ts.map +0 -1
  103. package/dist/components/FAQs/FAQs.svelte +0 -49
  104. package/dist/components/FAQs/FAQs.svelte.d.ts.map +0 -1
  105. package/dist/components/Input/Search.svelte +0 -173
  106. package/dist/components/Input/Search.svelte.d.ts +0 -68
  107. package/dist/components/Input/Search.svelte.d.ts.map +0 -1
  108. package/dist/components/Input/Textarea.svelte +0 -160
  109. package/dist/components/Input/Textarea.svelte.d.ts +0 -69
  110. package/dist/components/Input/Textarea.svelte.d.ts.map +0 -1
  111. package/dist/components/Label/Label.svelte +0 -60
  112. package/dist/components/Label/Label.svelte.d.ts +0 -48
  113. package/dist/components/Label/Label.svelte.d.ts.map +0 -1
  114. package/dist/components/Layout/PageLayout.svelte +0 -64
  115. package/dist/components/Layout/PageLayout.svelte.d.ts +0 -58
  116. package/dist/components/Layout/PageLayout.svelte.d.ts.map +0 -1
  117. package/dist/components/Modal/InputModal.svelte +0 -180
  118. package/dist/components/Modal/InputModal.svelte.d.ts +0 -77
  119. package/dist/components/Modal/InputModal.svelte.d.ts.map +0 -1
  120. package/dist/components/Modal/StatusModal.svelte +0 -221
  121. package/dist/components/Modal/StatusModal.svelte.d.ts +0 -59
  122. package/dist/components/Modal/StatusModal.svelte.d.ts.map +0 -1
  123. package/dist/components/MonthSwitcher/MonthSwitcher.svelte +0 -206
  124. package/dist/components/MonthSwitcher/MonthSwitcher.svelte.d.ts +0 -37
  125. package/dist/components/MonthSwitcher/MonthSwitcher.svelte.d.ts.map +0 -1
  126. package/dist/components/OrderSummary/OrderSummary.svelte +0 -553
  127. package/dist/components/OrderSummary/OrderSummary.svelte.d.ts +0 -65
  128. package/dist/components/OrderSummary/OrderSummary.svelte.d.ts.map +0 -1
  129. package/dist/components/Pagination/Pagination.svelte +0 -197
  130. package/dist/components/Pagination/Pagination.svelte.d.ts +0 -53
  131. package/dist/components/Pagination/Pagination.svelte.d.ts.map +0 -1
  132. package/dist/components/PublicCard/PublicCard.svelte +0 -267
  133. package/dist/components/PublicCard/PublicCard.svelte.d.ts.map +0 -1
  134. package/dist/components/Radio/Radio.svelte +0 -119
  135. package/dist/components/Radio/Radio.svelte.d.ts +0 -54
  136. package/dist/components/Radio/Radio.svelte.d.ts.map +0 -1
  137. package/dist/components/ShowCard/ShowCard.svelte +0 -240
  138. package/dist/components/ShowCard/ShowCard.svelte.d.ts +0 -39
  139. package/dist/components/ShowCard/ShowCard.svelte.d.ts.map +0 -1
  140. package/dist/components/ShowTimeCard/ShowTimeCard.svelte +0 -92
  141. package/dist/components/ShowTimeCard/ShowTimeCard.svelte.d.ts.map +0 -1
  142. package/dist/components/Skeleton/Skeleton.svelte +0 -68
  143. package/dist/components/Skeleton/Skeleton.svelte.d.ts +0 -37
  144. package/dist/components/Tabs/TabItem.svelte +0 -39
  145. package/dist/components/Tabs/TabItem.svelte.d.ts +0 -52
  146. package/dist/components/Tabs/TabItem.svelte.d.ts.map +0 -1
  147. package/dist/components/Tabs/Tabs.svelte +0 -181
  148. package/dist/components/Tabs/Tabs.svelte.d.ts +0 -46
  149. package/dist/components/Tabs/Tabs.svelte.d.ts.map +0 -1
  150. package/dist/components/Typography/Typography.svelte +0 -50
  151. package/dist/components/Typography/Typography.svelte.d.ts +0 -48
  152. package/dist/components/Typography/Typography.svelte.d.ts.map +0 -1
@@ -1,240 +0,0 @@
1
- <script>
2
- import { createEventDispatcher } from 'svelte';
3
- import Share from 'carbon-icons-svelte/lib/Share.svelte';
4
- import Checkmark from 'carbon-icons-svelte/lib/Checkmark.svelte';
5
- import ShowTimeCard from '../ShowTimeCard/ShowTimeCard.svelte';
6
-
7
- export let event = {};
8
- export let showtimes = [];
9
- export let showTitle = true;
10
-
11
- // Formatting functions - can be overridden via props
12
- export let formatDateTime = (dateStr) => {
13
- if (!dateStr) return '';
14
- const date = new Date(dateStr);
15
- if (isNaN(date.getTime())) return dateStr;
16
- return date.toLocaleDateString('en-US', {
17
- weekday: 'long',
18
- year: 'numeric',
19
- month: 'long',
20
- day: 'numeric',
21
- hour: 'numeric',
22
- minute: '2-digit'
23
- });
24
- };
25
-
26
- export let formatTimeline = (timeStr) => {
27
- if (!timeStr) return '';
28
- // Handle ISO datetime or time string
29
- const date = new Date(timeStr);
30
- if (!isNaN(date.getTime())) {
31
- return date.toLocaleTimeString('en-US', {
32
- hour: 'numeric',
33
- minute: '2-digit',
34
- hour12: true
35
- });
36
- }
37
- return timeStr;
38
- };
39
-
40
- const dispatch = createEventDispatcher();
41
-
42
- let selectedDate = null;
43
- let shareSuccess = false;
44
-
45
- function handleSelect(e) {
46
- selectedDate = e.detail.date;
47
- dispatch('showtimeSelect', e.detail);
48
- }
49
-
50
- async function handleShare() {
51
- const shareData = {
52
- title: event.name,
53
- text: `Check out ${event.name} at ${event.venue?.name || 'this venue'}!`,
54
- url: typeof window !== 'undefined' ? window.location.href : ''
55
- };
56
-
57
- try {
58
- // Use Web Share API if available (mobile devices, some desktop browsers)
59
- if (typeof navigator !== 'undefined' && navigator.share && navigator.canShare && navigator.canShare(shareData)) {
60
- await navigator.share(shareData);
61
- } else if (typeof navigator !== 'undefined' && navigator.clipboard) {
62
- // Fallback: copy URL to clipboard
63
- await navigator.clipboard.writeText(shareData.url);
64
- shareSuccess = true;
65
- setTimeout(() => {
66
- shareSuccess = false;
67
- }, 2000);
68
- }
69
- } catch (err) {
70
- // User cancelled share or error occurred - try clipboard as last resort
71
- if (err.name !== 'AbortError' && typeof navigator !== 'undefined' && navigator.clipboard) {
72
- try {
73
- await navigator.clipboard.writeText(shareData.url);
74
- shareSuccess = true;
75
- setTimeout(() => {
76
- shareSuccess = false;
77
- }, 2000);
78
- } catch {
79
- console.error('Share failed:', err);
80
- }
81
- }
82
- }
83
- }
84
- </script>
85
-
86
- <div class="show-card h-fit rounded-[8px] sm:px-5 py-4 md:border">
87
- <!-- Event Title -->
88
- {#if showTitle}
89
- <div class="flex justify-between items-start gap-2 mb-4">
90
- <h1 class="event-title flex-1 text-left font-semibold text-[22px] leading-tight">
91
- {event.name || ''}
92
- </h1>
93
- <button
94
- class="share-btn flex-shrink-0 p-2 rounded-lg transition-colors relative"
95
- aria-label="Share event"
96
- on:click={handleShare}
97
- >
98
- {#if shareSuccess}
99
- <Checkmark size={20} class="success-icon" />
100
- {:else}
101
- <Share size={20} class="share-icon cursor-pointer" />
102
- {/if}
103
- </button>
104
- </div>
105
- {/if}
106
-
107
- <!-- Date & Time -->
108
- <div class="space-y-1 text-[15px]">
109
- <p class="date-primary font-medium">{formatDateTime(event.startDateTime)}</p>
110
- {#if event.displayStartTime && event.doorsOpenTime}
111
- <p class="date-secondary">Doors open {formatTimeline(event.doorsOpenTime)}</p>
112
- {/if}
113
- {#if event.displayEndTime && event.endDateTime}
114
- <p class="date-secondary">Ends {formatTimeline(event.endDateTime)}</p>
115
- {/if}
116
- </div>
117
-
118
- {#if showtimes && showtimes.length > 1}
119
- <div class="showtimes-section mt-4 pt-4">
120
- <p class="showtimes-label text-sm mb-2">More showtimes</p>
121
- <div class="flex flex-wrap gap-2">
122
- {#each showtimes as showtime}
123
- <div class="w-[91px]">
124
- <ShowTimeCard
125
- day={showtime.day}
126
- date={showtime.date}
127
- time={showtime.time}
128
- isSelected={selectedDate === showtime.date}
129
- on:select={handleSelect}
130
- />
131
- </div>
132
- {/each}
133
- </div>
134
- </div>
135
- {/if}
136
-
137
- <!-- Location -->
138
- {#if event.venue}
139
- <div class="location-section mt-4 pt-4">
140
- <a
141
- href="https://www.google.com/maps/search/?api=1&query={encodeURIComponent(event.venue.googleLocationNameCache || event.venue.address || event.venue.name)}"
142
- target="_blank"
143
- rel="noopener noreferrer"
144
- class="group block"
145
- >
146
- <p class="venue-name text-[15px] font-medium transition-colors">
147
- {event.venue.name}
148
- </p>
149
- <p class="venue-address text-[14px] transition-colors">
150
- {event.venue.address || ''}
151
- </p>
152
- </a>
153
-
154
- {#if event.hasAgeRestriction || event.ageRequirement || event.minimumAge}
155
- <p class="age-text text-[14px] mt-2">
156
- {#if event.ageRequirement != null}
157
- {event.ageRequirement <= 1 ? 'All ages' : `${event.ageRequirement}+`}
158
- {:else if event.minimumAge != null}
159
- {event.minimumAge <= 1 ? 'All ages' : `${event.minimumAge}+`}
160
- {:else if event.ageRestriction != null}
161
- {event.ageRestriction <= 1 ? 'All ages' : `${event.ageRestriction}+`}
162
- {/if}
163
- </p>
164
- {/if}
165
- </div>
166
- {/if}
167
- </div>
168
-
169
- <style>
170
- /* Theme-responsive colors using CSS variables */
171
- .show-card {
172
- background-color: hsl(var(--BG-Primary));
173
- }
174
-
175
- @media (min-width: 768px) {
176
- .show-card {
177
- border-color: hsl(var(--Stroke-Secondary));
178
- }
179
- }
180
-
181
- .event-title {
182
- color: hsl(var(--Text-Primary));
183
- }
184
-
185
- .share-btn:hover {
186
- background-color: hsl(var(--BG-Secondary));
187
- }
188
-
189
- :global(.share-icon) {
190
- color: hsl(var(--Text-Tartiary));
191
- }
192
-
193
- :global(.share-icon:hover) {
194
- color: hsl(var(--Text-Secondary));
195
- }
196
-
197
- :global(.success-icon) {
198
- color: hsl(var(--Status-OnSale));
199
- }
200
-
201
- .date-primary {
202
- color: hsl(var(--Text-Primary));
203
- }
204
-
205
- .date-secondary {
206
- color: hsl(var(--Text-Secondary));
207
- }
208
-
209
- .showtimes-section {
210
- border-top: 1px solid hsl(var(--Stroke-Secondary));
211
- }
212
-
213
- .showtimes-label {
214
- color: hsl(var(--Text-Tartiary));
215
- }
216
-
217
- .location-section {
218
- border-top: 1px solid hsl(var(--Stroke-Secondary));
219
- }
220
-
221
- .venue-name {
222
- color: hsl(var(--Text-Primary));
223
- }
224
-
225
- .group:hover .venue-name {
226
- color: hsl(var(--Brand-Primary));
227
- }
228
-
229
- .venue-address {
230
- color: hsl(var(--Text-Tartiary));
231
- }
232
-
233
- .group:hover .venue-address {
234
- color: hsl(var(--Brand-Primary));
235
- }
236
-
237
- .age-text {
238
- color: hsl(var(--Text-Tartiary));
239
- }
240
- </style>
@@ -1,39 +0,0 @@
1
- export default ShowCard;
2
- type ShowCard = SvelteComponent<{
3
- event?: {} | undefined;
4
- showtimes?: any[] | undefined;
5
- showTitle?: boolean | undefined;
6
- formatDateTime?: ((dateStr: any) => any) | undefined;
7
- formatTimeline?: ((timeStr: any) => any) | undefined;
8
- }, {
9
- showtimeSelect: CustomEvent<any>;
10
- } & {
11
- [evt: string]: CustomEvent<any>;
12
- }, {}> & {
13
- $$bindings?: string | undefined;
14
- };
15
- declare const ShowCard: $$__sveltets_2_IsomorphicComponent<{
16
- event?: {} | undefined;
17
- showtimes?: any[] | undefined;
18
- showTitle?: boolean | undefined;
19
- formatDateTime?: ((dateStr: any) => any) | undefined;
20
- formatTimeline?: ((timeStr: any) => any) | undefined;
21
- }, {
22
- showtimeSelect: CustomEvent<any>;
23
- } & {
24
- [evt: string]: CustomEvent<any>;
25
- }, {}, {}, string>;
26
- 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> {
27
- new (options: import("svelte").ComponentConstructorOptions<Props>): import("svelte").SvelteComponent<Props, Events, Slots> & {
28
- $$bindings?: Bindings;
29
- } & Exports;
30
- (internal: unknown, props: Props & {
31
- $$events?: Events;
32
- $$slots?: Slots;
33
- }): Exports & {
34
- $set?: any;
35
- $on?: any;
36
- };
37
- z_$$bindings?: Bindings;
38
- }
39
- //# sourceMappingURL=ShowCard.svelte.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ShowCard.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/components/ShowCard/ShowCard.svelte.js"],"names":[],"mappings":";;;;;;;;;;;;;;AA8KA;;;;;;;;;;mBAAyL;6CAT5I,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,92 +0,0 @@
1
- <script>
2
- import { createEventDispatcher } from 'svelte';
3
-
4
- export let day = '';
5
- export let date = '';
6
- export let time = '';
7
- export let isSelected = false;
8
-
9
- const dispatch = createEventDispatcher();
10
-
11
- function handleCardClick() {
12
- dispatch('select', { date });
13
- }
14
-
15
- function handleKeydown(e) {
16
- if (e.key === 'Enter' || e.key === ' ') {
17
- e.preventDefault();
18
- handleCardClick();
19
- }
20
- }
21
-
22
- function formatHour(timeStr) {
23
- if (!timeStr) return '';
24
- // Handle various time formats
25
- const date = new Date(`1970-01-01T${timeStr}`);
26
- if (isNaN(date.getTime())) return timeStr;
27
- return date.toLocaleTimeString('en-US', {
28
- hour: 'numeric',
29
- minute: '2-digit',
30
- hour12: true
31
- });
32
- }
33
-
34
- function formatDate(dateStr) {
35
- if (!dateStr) return '';
36
- const d = new Date(dateStr);
37
- if (isNaN(d.getTime())) return dateStr;
38
- return d.toLocaleDateString('en-US', {
39
- month: 'short',
40
- day: 'numeric',
41
- });
42
- }
43
- </script>
44
-
45
- <div
46
- class="showtime-card w-full h-[106px] rounded-lg flex flex-col justify-center items-center gap-1.5 cursor-pointer border-2 px-1 transition-colors"
47
- class:selected={isSelected}
48
- on:click={handleCardClick}
49
- on:keydown={handleKeydown}
50
- tabindex="0"
51
- role="button"
52
- aria-label={`${day} ${formatDate(date)} at ${formatHour(time)}${isSelected ? ', selected' : ''}`}
53
- aria-pressed={isSelected}
54
- >
55
- <span class="day-text font-medium text-sm">{day}</span>
56
- <span class="date-text font-medium text-[16px]" class:selected-text={isSelected}>
57
- {formatDate(date)}
58
- </span>
59
- <span class="time-text font-medium text-sm">{formatHour(time)}</span>
60
- </div>
61
-
62
- <style>
63
- /* Theme-responsive colors using CSS variables */
64
- .showtime-card {
65
- background-color: hsl(var(--BG-Primary));
66
- border-color: hsl(var(--Stroke-Secondary));
67
- }
68
-
69
- .showtime-card:hover {
70
- border-color: hsl(var(--Brand-Primary));
71
- }
72
-
73
- .showtime-card.selected {
74
- border-color: hsl(var(--Brand-Primary));
75
- }
76
-
77
- .day-text {
78
- color: hsl(var(--Text-Tartiary));
79
- }
80
-
81
- .date-text {
82
- color: hsl(var(--Text-Primary));
83
- }
84
-
85
- .date-text.selected-text {
86
- color: hsl(var(--Brand-Primary));
87
- }
88
-
89
- .time-text {
90
- color: hsl(var(--Text-Tartiary));
91
- }
92
- </style>
@@ -1 +0,0 @@
1
- {"version":3,"file":"ShowTimeCard.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/components/ShowTimeCard/ShowTimeCard.svelte.js"],"names":[],"mappings":";;;;;;;;;;;;;AAsEA;;;;;;;;;mBAA4J;6CAT/G,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,68 +0,0 @@
1
- <script>
2
- /** @type {'text' | 'circular' | 'rectangular'} Shape variant */
3
- export let variant = "text";
4
- /** @type {string} Width (CSS value) */
5
- export let width = "100%";
6
- /** @type {string} Height (CSS value) */
7
- export let height = "1rem";
8
- /** @type {boolean} Whether to animate */
9
- export let animation = true;
10
- /** @type {string} Additional CSS classes */
11
- let className = "";
12
- export { className as class };
13
- /** @type {string} Flowbite-style divClass for Tailwind classes */
14
- export let divClass = "";
15
-
16
- // If divClass is provided, use it instead of explicit width/height
17
- $: useFlowbiteStyle = divClass !== "";
18
- $: computedStyle = useFlowbiteStyle ? "" : `width: ${width}; height: ${height};`;
19
- $: computedClass = useFlowbiteStyle
20
- ? `skeleton skeleton--${variant} ${divClass} ${className}`.trim()
21
- : `skeleton skeleton--${variant} ${className}`.trim();
22
- </script>
23
-
24
- <div
25
- class={computedClass}
26
- class:skeleton--animated={animation}
27
- style={computedStyle}
28
- aria-hidden="true"
29
- ></div>
30
-
31
- <style>
32
- .skeleton {
33
- background-color: hsl(var(--BG-Secondary, 220 14% 96%));
34
- display: block;
35
- }
36
-
37
- .skeleton--text {
38
- border-radius: 0.25rem;
39
- }
40
-
41
- .skeleton--circular {
42
- border-radius: 50%;
43
- }
44
-
45
- .skeleton--rectangular {
46
- border-radius: 0.5rem;
47
- }
48
-
49
- .skeleton--animated {
50
- animation: skeleton-pulse 1.5s ease-in-out infinite;
51
- background: linear-gradient(
52
- 90deg,
53
- hsl(var(--BG-Secondary, 220 14% 96%)) 0%,
54
- hsl(var(--BG-Primary, 0 0% 100%)) 50%,
55
- hsl(var(--BG-Secondary, 220 14% 96%)) 100%
56
- );
57
- background-size: 200% 100%;
58
- }
59
-
60
- @keyframes skeleton-pulse {
61
- 0% {
62
- background-position: 200% 0;
63
- }
64
- 100% {
65
- background-position: -200% 0;
66
- }
67
- }
68
- </style>
@@ -1,37 +0,0 @@
1
- export default Skeleton;
2
- type Skeleton = SvelteComponent<{
3
- class?: string | undefined;
4
- variant?: "text" | "circular" | "rectangular" | undefined;
5
- width?: string | undefined;
6
- height?: string | undefined;
7
- animation?: boolean | undefined;
8
- divClass?: string | undefined;
9
- }, {
10
- [evt: string]: CustomEvent<any>;
11
- }, {}> & {
12
- $$bindings?: string | undefined;
13
- };
14
- declare const Skeleton: $$__sveltets_2_IsomorphicComponent<{
15
- class?: string | undefined;
16
- variant?: "text" | "circular" | "rectangular" | undefined;
17
- width?: string | undefined;
18
- height?: string | undefined;
19
- animation?: boolean | undefined;
20
- divClass?: string | undefined;
21
- }, {
22
- [evt: string]: CustomEvent<any>;
23
- }, {}, {}, string>;
24
- 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> {
25
- new (options: import("svelte").ComponentConstructorOptions<Props>): import("svelte").SvelteComponent<Props, Events, Slots> & {
26
- $$bindings?: Bindings;
27
- } & Exports;
28
- (internal: unknown, props: Props & {
29
- $$events?: Events;
30
- $$slots?: Slots;
31
- }): Exports & {
32
- $set?: any;
33
- $on?: any;
34
- };
35
- z_$$bindings?: Bindings;
36
- }
37
- //# sourceMappingURL=Skeleton.svelte.d.ts.map
@@ -1,39 +0,0 @@
1
- <script>
2
- import { getContext, onMount, createEventDispatcher } from "svelte";
3
-
4
- /** @type {string} Tab title displayed in the tab button */
5
- export let title = "";
6
- /** @type {boolean} Whether this tab is initially open/active (flowbite API) */
7
- export let open = false;
8
- /** @type {string|number|undefined} Unique identifier for this tab */
9
- export let value = undefined;
10
- /** @type {boolean} Whether the tab is disabled */
11
- export let disabled = false;
12
- /** @type {string} Additional CSS classes for the tab button */
13
- let className = "";
14
- export { className as class };
15
-
16
- const dispatch = createEventDispatcher();
17
- const { activeTab, registerTab } = getContext("tabs");
18
-
19
- // Generate unique ID
20
- let tabId = value || `tab-${Math.random().toString(36).substring(2, 9)}`;
21
-
22
- onMount(() => {
23
- registerTab(tabId, title, open);
24
- });
25
-
26
- $: isActive = $activeTab === tabId;
27
- </script>
28
-
29
- {#if isActive}
30
- <div class="tab-panel" role="tabpanel" on:click={() => dispatch("click")}>
31
- <slot />
32
- </div>
33
- {/if}
34
-
35
- <style>
36
- .tab-panel {
37
- /* Content panel styling can be customized via contentClass on Tabs */
38
- }
39
- </style>
@@ -1,52 +0,0 @@
1
- export default TabItem;
2
- type TabItem = SvelteComponent<$$__sveltets_2_PropsWithChildren<{
3
- class?: string | undefined;
4
- open?: boolean | undefined;
5
- title?: string | undefined;
6
- disabled?: boolean | undefined;
7
- value?: string | number | undefined;
8
- }, {
9
- default: {};
10
- }>, {
11
- click: CustomEvent<any>;
12
- } & {
13
- [evt: string]: CustomEvent<any>;
14
- }, {
15
- default: {};
16
- }> & {
17
- $$bindings?: string | undefined;
18
- };
19
- declare const TabItem: $$__sveltets_2_IsomorphicComponent<$$__sveltets_2_PropsWithChildren<{
20
- class?: string | undefined;
21
- open?: boolean | undefined;
22
- title?: string | undefined;
23
- disabled?: boolean | undefined;
24
- value?: string | number | undefined;
25
- }, {
26
- default: {};
27
- }>, {
28
- click: CustomEvent<any>;
29
- } & {
30
- [evt: string]: CustomEvent<any>;
31
- }, {
32
- default: {};
33
- }, {}, string>;
34
- type $$__sveltets_2_PropsWithChildren<Props, Slots> = Props & (Slots extends {
35
- default: any;
36
- } ? Props extends Record<string, never> ? any : {
37
- children?: any;
38
- } : {});
39
- 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> {
40
- new (options: import("svelte").ComponentConstructorOptions<Props>): import("svelte").SvelteComponent<Props, Events, Slots> & {
41
- $$bindings?: Bindings;
42
- } & Exports;
43
- (internal: unknown, props: Props & {
44
- $$events?: Events;
45
- $$slots?: Slots;
46
- }): Exports & {
47
- $set?: any;
48
- $on?: any;
49
- };
50
- z_$$bindings?: Bindings;
51
- }
52
- //# sourceMappingURL=TabItem.svelte.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TabItem.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/components/Tabs/TabItem.svelte.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AA8DA;;;;;YAjBW,MAAM,GAAC,MAAM,GAAC,SAAS;;;;;;;;;eAiBoI;sCAThI,KAAK,EAAE,KAAK;;;;;6CALL,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"}