@getmicdrop/svelte-components 5.20.2 → 5.21.1
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/dist/calendar/AboutShow/AboutShow.spec.js +10 -10
- package/dist/calendar/AboutShow/AboutShow.svelte +11 -11
- package/dist/calendar/Calendar/MiniMonthCalendar.spec.js +9 -8
- package/dist/calendar/Calendar/MiniMonthCalendar.svelte +22 -25
- package/dist/calendar/Calendar/MiniMonthCalendar.svelte.d.ts.map +1 -1
- package/dist/calendar/FAQs/FAQs.spec.js +6 -6
- package/dist/calendar/FAQs/FAQs.svelte +4 -4
- package/dist/calendar/MonthSwitcher/MonthSwitcher.svelte +8 -12
- package/dist/calendar/OrderSummary/OrderSummary.svelte +36 -36
- package/dist/calendar/PublicCard/PublicCard.spec.js +3 -3
- package/dist/calendar/PublicCard/PublicCard.svelte +7 -7
- package/dist/calendar/ShowCard/ShowCard.spec.js +8 -8
- package/dist/calendar/ShowCard/ShowCard.svelte +8 -8
- package/dist/calendar/ShowTimeCard/ShowTimeCard.spec.js +4 -4
- package/dist/calendar/ShowTimeCard/ShowTimeCard.svelte +4 -4
- package/dist/components/Heading.spec.js +1 -1
- package/dist/components/Heading.svelte +1 -1
- package/dist/components/Layout/AppShell.svelte +4 -4
- package/dist/components/Layout/ContentSection.svelte +2 -2
- package/dist/components/Layout/Heading.svelte +3 -3
- package/dist/components/Layout/PageContainer.svelte +2 -2
- package/dist/components/Layout/Section.spec.js +4 -4
- package/dist/components/Layout/Text.svelte +7 -7
- package/dist/components/Layout/__tests__/AppShell.test.js +5 -5
- package/dist/components/Layout/__tests__/ContentSection.test.js +1 -1
- package/dist/components/Layout/__tests__/Heading.test.js +3 -3
- package/dist/components/Layout/__tests__/PageContainer.test.js +4 -4
- package/dist/components/Layout/__tests__/Text.test.js +9 -9
- package/dist/components/Text.spec.js +4 -4
- package/dist/components/Text.svelte +7 -7
- package/dist/patterns/chat/ChatActivityNotice.spec.js +1 -1
- package/dist/patterns/chat/ChatActivityNotice.svelte +3 -3
- package/dist/patterns/chat/ChatBubble.spec.js +1 -1
- package/dist/patterns/chat/ChatBubble.svelte +7 -7
- package/dist/patterns/chat/ChatContainer.spec.js +1 -1
- package/dist/patterns/chat/ChatContainer.svelte +3 -3
- package/dist/patterns/chat/ChatDateDivider.svelte +1 -1
- package/dist/patterns/chat/ChatInvitationBubble.spec.js +2 -2
- package/dist/patterns/chat/ChatInvitationBubble.svelte +1 -1
- package/dist/patterns/chat/ChatInvitationNotice.spec.js +2 -2
- package/dist/patterns/chat/ChatInvitationNotice.svelte +1 -1
- package/dist/patterns/chat/ChatMessageGroup.svelte +2 -2
- package/dist/patterns/chat/ChatSlotUpdate.svelte +2 -2
- package/dist/patterns/chat/ChatStatusBadge.spec.js +10 -10
- package/dist/patterns/chat/ChatStatusBadge.svelte +8 -8
- package/dist/patterns/chat/ChatStatusTransition.spec.js +9 -9
- package/dist/patterns/chat/ChatStatusTransition.svelte +5 -5
- package/dist/patterns/chat/ChatTextBubble.spec.js +4 -4
- package/dist/patterns/chat/ChatTextBubble.svelte +2 -2
- package/dist/patterns/data/DataList.spec.js +5 -5
- package/dist/patterns/data/DataList.svelte +1 -1
- package/dist/patterns/data/DataTable.spec.js +18 -18
- package/dist/patterns/data/DataTable.svelte +3 -3
- package/dist/patterns/forms/FormActions.spec.js +6 -6
- package/dist/patterns/forms/FormActions.stories.svelte +1 -1
- package/dist/patterns/forms/FormActions.svelte +1 -1
- package/dist/patterns/forms/FormSection.spec.js +4 -4
- package/dist/patterns/forms/FormSection.svelte +2 -2
- package/dist/patterns/forms/FormValidationSummary.spec.js +2 -2
- package/dist/patterns/forms/FormValidationSummary.stories.svelte +4 -4
- package/dist/patterns/forms/FormValidationSummary.svelte +4 -4
- package/dist/patterns/navigation/BottomNav.stories.svelte +23 -23
- package/dist/patterns/navigation/BottomNav.svelte +3 -3
- package/dist/patterns/navigation/Header.spec.js +9 -9
- package/dist/patterns/navigation/Header.svelte +13 -15
- package/dist/patterns/navigation/Header.svelte.d.ts.map +1 -1
- package/dist/patterns/page/PageLayout.spec.js +5 -5
- package/dist/patterns/page/PageLayout.svelte +1 -1
- package/dist/patterns/page/PageLoader.stories.svelte +5 -5
- package/dist/patterns/page/SectionHeader.spec.js +8 -8
- package/dist/patterns/page/SectionHeader.svelte +2 -2
- package/dist/presets/buttons.js +1 -1
- package/dist/presets/buttons.spec.js +4 -4
- package/dist/primitives/Accordion/Accordion.spec.js +5 -5
- package/dist/primitives/Accordion/Accordion.stories.svelte +9 -9
- package/dist/primitives/Accordion/Accordion.svelte +2 -2
- package/dist/primitives/Accordion/AccordionItem.spec.js +19 -28
- package/dist/primitives/Accordion/AccordionItem.svelte +4 -4
- package/dist/primitives/Avatar/Avatar.spec.js +11 -11
- package/dist/primitives/Avatar/Avatar.stories.svelte +6 -5
- package/dist/primitives/Avatar/Avatar.stories.svelte.d.ts.map +1 -1
- package/dist/primitives/Avatar/Avatar.svelte +3 -3
- package/dist/primitives/Badges/Badge.spec.js +10 -10
- package/dist/primitives/BottomSheet/BottomSheet.spec.js +5 -5
- package/dist/primitives/BottomSheet/BottomSheet.svelte +7 -7
- package/dist/primitives/Breadcrumb/Breadcrumb.spec.js +4 -2
- package/dist/primitives/Breadcrumb/Breadcrumb.svelte +4 -4
- package/dist/primitives/Button/Button.spec.js +15 -15
- package/dist/primitives/Button/Button.svelte +16 -16
- package/dist/primitives/Button/ButtonVariantShowcase.spec.js +1 -1
- package/dist/primitives/Button/ButtonVariantShowcase.svelte +18 -18
- package/dist/primitives/Card.spec.js +1 -1
- package/dist/primitives/Card.stories.svelte +1 -1
- package/dist/primitives/Card.svelte +1 -1
- package/dist/primitives/CardAction/CardAction.svelte +3 -3
- package/dist/primitives/Checkbox/Checkbox.spec.js +16 -16
- package/dist/primitives/Checkbox/Checkbox.stories.svelte +3 -3
- package/dist/primitives/Checkbox/Checkbox.svelte +9 -9
- package/dist/primitives/DarkModeToggle.spec.js +11 -11
- package/dist/primitives/DarkModeToggle.stories.svelte +8 -8
- package/dist/primitives/DarkModeToggle.svelte +4 -4
- package/dist/primitives/Drawer/Drawer.spec.js +4 -4
- package/dist/primitives/Drawer/Drawer.stories.svelte +6 -6
- package/dist/primitives/Drawer/Drawer.svelte +11 -11
- package/dist/primitives/Dropdown/Dropdown.spec.js +9 -9
- package/dist/primitives/Dropdown/Dropdown.stories.svelte +4 -4
- package/dist/primitives/Dropdown/Dropdown.svelte +2 -2
- package/dist/primitives/Dropdown/DropdownDivider.svelte +1 -1
- package/dist/primitives/Dropdown/DropdownItem.spec.js +8 -15
- package/dist/primitives/Dropdown/DropdownItem.svelte +3 -3
- package/dist/primitives/Helper/Helper.spec.js +6 -6
- package/dist/primitives/Helper/Helper.svelte +3 -3
- package/dist/primitives/Icons/Icon.stories.svelte +15 -15
- package/dist/primitives/Icons/IconGallery.stories.svelte +26 -26
- package/dist/primitives/Icons/Icons.spec.js +3 -3
- package/dist/primitives/Input/Input.spec.js +9 -9
- package/dist/primitives/Input/Input.svelte +11 -11
- package/dist/primitives/Input/Select.spec.js +7 -7
- package/dist/primitives/Input/Select.stories.svelte +1 -1
- package/dist/primitives/Input/Select.svelte +6 -6
- package/dist/primitives/Input/Textarea.spec.js +8 -8
- package/dist/primitives/Input/Textarea.stories.svelte +1 -1
- package/dist/primitives/Input/Textarea.svelte +2 -2
- package/dist/primitives/Label/Label.spec.js +20 -21
- package/dist/primitives/Label/Label.svelte +4 -4
- package/dist/primitives/LandingButton/LandingButton.svelte +3 -3
- package/dist/primitives/MenuItem/MenuItem.spec.js +5 -5
- package/dist/primitives/MenuItem/MenuItem.svelte +4 -4
- package/dist/primitives/Modal/Modal.stories.svelte +8 -8
- package/dist/primitives/Modal/Modal.svelte +4 -4
- package/dist/primitives/NavItem/NavItem.spec.js +2 -2
- package/dist/primitives/NavItem/NavItem.svelte +3 -3
- package/dist/primitives/NumberInput/NumberInput.spec.js +17 -17
- package/dist/primitives/NumberInput/NumberInput.svelte +8 -8
- package/dist/primitives/Pagination/DotIndicator.svelte +6 -6
- package/dist/primitives/Pagination/Pagination.spec.js +6 -6
- package/dist/primitives/Pagination/Pagination.stories.svelte +4 -4
- package/dist/primitives/Pagination/Pagination.svelte +3 -3
- package/dist/primitives/Radio/Radio.spec.js +19 -19
- package/dist/primitives/Radio/Radio.stories.svelte +5 -5
- package/dist/primitives/Radio/Radio.svelte +8 -8
- package/dist/primitives/SearchResultItem/SearchResultItem.svelte +5 -5
- package/dist/primitives/SidebarToggle/SidebarToggle.svelte +2 -2
- package/dist/primitives/Skeleton/CardPlaceholder.spec.js +1 -1
- package/dist/primitives/Skeleton/CardPlaceholder.svelte +11 -11
- package/dist/primitives/Skeleton/ImagePlaceholder.spec.js +2 -2
- package/dist/primitives/Skeleton/ImagePlaceholder.svelte +7 -7
- package/dist/primitives/Skeleton/ListPlaceholder.spec.js +2 -2
- package/dist/primitives/Skeleton/ListPlaceholder.svelte +5 -5
- package/dist/primitives/Skeleton/Skeleton.spec.js +7 -7
- package/dist/primitives/Skeleton/Skeleton.stories.svelte +4 -4
- package/dist/primitives/Skeleton/Skeleton.svelte +1 -1
- package/dist/primitives/Spinner/Spinner.spec.js +4 -5
- package/dist/primitives/Spinner/Spinner.stories.svelte +2 -2
- package/dist/primitives/Spinner/Spinner.svelte +1 -1
- package/dist/primitives/Tabs/Tabs.spec.js +14 -14
- package/dist/primitives/Tabs/Tabs.stories.svelte +6 -6
- package/dist/primitives/Tabs/Tabs.svelte +8 -8
- package/dist/primitives/Toggle.spec.js +3 -5
- package/dist/primitives/Toggle.stories.svelte +7 -7
- package/dist/primitives/Toggle.svelte +7 -7
- package/dist/primitives/Tooltip/Tooltip.svelte +5 -5
- package/dist/primitives/ValidationError.spec.js +1 -1
- package/dist/primitives/ValidationError.stories.svelte +8 -8
- package/dist/primitives/ValidationError.svelte +1 -1
- package/dist/recipes/CropImage/CropImage.stories.svelte +8 -8
- package/dist/recipes/CropImage/CropImage.svelte +7 -7
- package/dist/recipes/ImageUploader/ImageUploader.spec.js +1 -1
- package/dist/recipes/ImageUploader/ImageUploader.svelte +34 -56
- package/dist/recipes/SuperLogin/SuperLogin.svelte +25 -25
- package/dist/recipes/Toaster/Toaster.stories.svelte +10 -10
- package/dist/recipes/feedback/EmptyState/EmptyState.svelte +1 -1
- package/dist/recipes/feedback/ErrorDisplay.spec.js +1 -1
- package/dist/recipes/feedback/ErrorDisplay.stories.svelte +2 -2
- package/dist/recipes/feedback/ErrorDisplay.svelte +2 -2
- package/dist/recipes/feedback/StatusIndicator/StatusIndicator.svelte +7 -7
- package/dist/recipes/fields/CheckboxField.spec.js +2 -2
- package/dist/recipes/fields/CheckboxField.svelte +2 -2
- package/dist/recipes/fields/FormField.spec.js +4 -4
- package/dist/recipes/fields/FormField.svelte +1 -1
- package/dist/recipes/fields/RadioGroup.spec.js +1 -1
- package/dist/recipes/fields/RadioGroup.svelte +2 -2
- package/dist/recipes/fields/SelectField.spec.js +2 -2
- package/dist/recipes/fields/TextareaField.spec.js +2 -2
- package/dist/recipes/fields/ToggleField.spec.js +2 -2
- package/dist/recipes/fields/ToggleField.svelte +1 -1
- package/dist/recipes/inputs/MultiSelect.stories.svelte +2 -2
- package/dist/recipes/inputs/MultiSelect.svelte +10 -10
- package/dist/recipes/inputs/OTPInput.stories.svelte +9 -9
- package/dist/recipes/inputs/OTPInput.svelte +1 -1
- package/dist/recipes/inputs/PasswordInput.spec.js +2 -2
- package/dist/recipes/inputs/PasswordStrengthIndicator/PasswordStrengthIndicator.spec.js +14 -14
- package/dist/recipes/inputs/PasswordStrengthIndicator/PasswordStrengthIndicator.svelte +3 -3
- package/dist/recipes/inputs/PasswordStrengthIndicator/TestWrapper.svelte +2 -2
- package/dist/recipes/inputs/PhoneInput.svelte +5 -5
- package/dist/recipes/inputs/PlaceAutocomplete/PlaceAutocomplete.spec.js +10 -10
- package/dist/recipes/inputs/PlaceAutocomplete/PlaceAutocomplete.stories.svelte +7 -7
- package/dist/recipes/inputs/PlaceAutocomplete/PlaceAutocomplete.svelte +11 -14
- package/dist/recipes/inputs/PlaceAutocomplete/PlaceAutocomplete.svelte.d.ts.map +1 -1
- package/dist/recipes/inputs/Search.spec.js +3 -3
- package/dist/recipes/inputs/Search.svelte +1 -1
- package/dist/recipes/inputs/phoneInput/CountrySelector.svelte +5 -5
- package/dist/recipes/modals/AlertModal.spec.js +36 -36
- package/dist/recipes/modals/AlertModal.svelte +8 -8
- package/dist/recipes/modals/ConfirmationModal.spec.js +20 -20
- package/dist/recipes/modals/ConfirmationModal.svelte +1 -1
- package/dist/recipes/modals/FeedbackModal.svelte +7 -7
- package/dist/recipes/modals/InputModal.spec.js +17 -17
- package/dist/recipes/modals/InputModal.svelte +3 -3
- package/dist/recipes/modals/ModalStateManager.spec.js +1 -1
- package/dist/recipes/modals/ModalStateManager.svelte +2 -2
- package/dist/recipes/modals/StatusModal.spec.js +7 -7
- package/dist/recipes/modals/StatusModal.svelte +10 -10
- package/dist/schemas/__tests__/order.test.js +1 -1
- package/dist/schemas/auth.d.ts +107 -17
- package/dist/schemas/auth.d.ts.map +1 -1
- package/dist/schemas/common.d.ts +41 -13
- package/dist/schemas/common.d.ts.map +1 -1
- package/dist/schemas/event.d.ts +147 -41
- package/dist/schemas/event.d.ts.map +1 -1
- package/dist/schemas/order.d.ts +208 -51
- package/dist/schemas/order.d.ts.map +1 -1
- package/dist/schemas/performer.d.ts +199 -44
- package/dist/schemas/performer.d.ts.map +1 -1
- package/dist/schemas/promo.d.ts +221 -55
- package/dist/schemas/promo.d.ts.map +1 -1
- package/dist/schemas/ticket.d.ts +187 -61
- package/dist/schemas/ticket.d.ts.map +1 -1
- package/dist/schemas/user.d.ts +114 -54
- package/dist/schemas/user.d.ts.map +1 -1
- package/dist/schemas/venue.d.ts +238 -20
- package/dist/schemas/venue.d.ts.map +1 -1
- package/dist/stories/ButtonAuditDashboard.spec.js +12 -12
- package/dist/stories/ButtonAuditDashboard.svelte +55 -55
- package/dist/stories/ButtonAuditReview.spec.js +8 -8
- package/dist/stories/ButtonAuditReview.svelte +87 -87
- package/dist/stories/ButtonGridView.spec.js +27 -27
- package/dist/stories/ButtonGridView.svelte +22 -22
- package/dist/stories/ButtonShowcase.spec.js +4 -4
- package/dist/stories/ButtonShowcase.svelte +119 -119
- package/dist/stories/ComponentConsolidation.stories.svelte +453 -453
- package/dist/stories/DesignSystemAudit.stories.svelte +127 -127
- package/dist/stories/PatternsGallery.spec.js +3 -3
- package/dist/stories/PatternsGallery.svelte +23 -23
- package/dist/stories/PrimitivesGallery.spec.js +9 -9
- package/dist/stories/PrimitivesGallery.svelte +68 -68
- package/dist/stories/RecipesGallery.svelte +26 -26
- package/dist/tokens/__tests__/typography-base.test.js +5 -5
- package/dist/tokens/__tests__/typography.test.js +32 -36
- package/dist/tokens/__tests__/variants.test.js +63 -78
- package/dist/tokens/tokens.css +15 -15
- package/dist/tokens/typography-base.css +16 -16
- package/dist/tokens/typography.d.ts +29 -29
- package/dist/tokens/typography.js +29 -29
- package/dist/tokens/utilities.css +35 -47
- package/dist/tokens/variants.d.ts +32 -32
- package/dist/tokens/variants.js +32 -32
- package/dist/utils/utils/utils.spec.js +2 -2
- package/package.json +1 -1
|
@@ -327,7 +327,7 @@ describe('AboutShow Component', () => {
|
|
|
327
327
|
});
|
|
328
328
|
const img = screen.getByAltText('Charlie Brown');
|
|
329
329
|
expect(img).toHaveAttribute('src', '');
|
|
330
|
-
expect(img.className).toContain('bg-
|
|
330
|
+
expect(img.className).toContain('bg-bg-secondary');
|
|
331
331
|
});
|
|
332
332
|
|
|
333
333
|
it('renders multiple performers', () => {
|
|
@@ -434,11 +434,11 @@ describe('AboutShow Component', () => {
|
|
|
434
434
|
render(AboutShow, { props: { performers: [validPerformer] } });
|
|
435
435
|
|
|
436
436
|
const performerCard = screen.getByText('Bob Builder').closest('.cursor-pointer');
|
|
437
|
-
expect(performerCard.className).toContain('border-
|
|
437
|
+
expect(performerCard.className).toContain('border-border');
|
|
438
438
|
|
|
439
439
|
await fireEvent.click(performerCard);
|
|
440
440
|
// Check for the active state border (not the hover state)
|
|
441
|
-
const activeClassPattern = /border-
|
|
441
|
+
const activeClassPattern = /border-brand-primary/;
|
|
442
442
|
expect(performerCard.className).toMatch(activeClassPattern);
|
|
443
443
|
});
|
|
444
444
|
|
|
@@ -660,7 +660,7 @@ describe('AboutShow Component', () => {
|
|
|
660
660
|
it('has dark mode classes for title', () => {
|
|
661
661
|
const { container } = render(AboutShow);
|
|
662
662
|
const title = screen.getByText('About the Show');
|
|
663
|
-
expect(title.className).toContain('
|
|
663
|
+
expect(title.className).toContain('');
|
|
664
664
|
});
|
|
665
665
|
|
|
666
666
|
it('has dark mode classes for show image background', () => {
|
|
@@ -671,7 +671,7 @@ describe('AboutShow Component', () => {
|
|
|
671
671
|
}
|
|
672
672
|
});
|
|
673
673
|
const img = screen.getByAltText('');
|
|
674
|
-
expect(img.className).toContain('
|
|
674
|
+
expect(img.className).toContain('');
|
|
675
675
|
});
|
|
676
676
|
|
|
677
677
|
it('has dark mode classes for description', () => {
|
|
@@ -679,14 +679,14 @@ describe('AboutShow Component', () => {
|
|
|
679
679
|
props: { description: 'Test description' }
|
|
680
680
|
});
|
|
681
681
|
const paragraph = screen.getByText('Test description');
|
|
682
|
-
expect(paragraph.className).toContain('
|
|
682
|
+
expect(paragraph.className).toContain('');
|
|
683
683
|
});
|
|
684
684
|
|
|
685
685
|
it('has dark mode classes for read more button', () => {
|
|
686
686
|
const longDescription = 'a'.repeat(1600);
|
|
687
687
|
render(AboutShow, { props: { description: longDescription } });
|
|
688
688
|
const button = screen.getByText('Show more');
|
|
689
|
-
expect(button.className).toContain('
|
|
689
|
+
expect(button.className).toContain('');
|
|
690
690
|
});
|
|
691
691
|
|
|
692
692
|
it('has dark mode classes for performer card', () => {
|
|
@@ -706,9 +706,9 @@ describe('AboutShow Component', () => {
|
|
|
706
706
|
};
|
|
707
707
|
render(AboutShow, { props: { performers: [performer] } });
|
|
708
708
|
const card = screen.getByText('Bob Builder').closest('.cursor-pointer');
|
|
709
|
-
expect(card.className).toContain('
|
|
710
|
-
expect(card.className).toContain('
|
|
711
|
-
expect(card.className).toContain('
|
|
709
|
+
expect(card.className).toContain('');
|
|
710
|
+
expect(card.className).toContain('');
|
|
711
|
+
expect(card.className).toContain('');
|
|
712
712
|
});
|
|
713
713
|
});
|
|
714
714
|
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
|
|
68
68
|
{#if ShowImage && description}
|
|
69
69
|
<div>
|
|
70
|
-
<img src={ShowImage} alt="" class="rounded-lg object-contain w-full bg-
|
|
70
|
+
<img src={ShowImage} alt="" class="rounded-lg object-contain w-full bg-bg-secondary" />
|
|
71
71
|
</div>
|
|
72
72
|
{/if}
|
|
73
73
|
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
{#if showReadMore && description.length > characterLimit}
|
|
78
78
|
<button
|
|
79
79
|
onclick={toggleDescription}
|
|
80
|
-
class={`${typography.label} text-left hover:underline text-
|
|
80
|
+
class={`${typography.label} text-left hover:underline text-brand-primary`}
|
|
81
81
|
>
|
|
82
82
|
{labels.showLess}
|
|
83
83
|
</button>
|
|
@@ -88,7 +88,7 @@
|
|
|
88
88
|
</p>
|
|
89
89
|
<button
|
|
90
90
|
onclick={toggleDescription}
|
|
91
|
-
class={`${typography.label} text-left hover:underline text-
|
|
91
|
+
class={`${typography.label} text-left hover:underline text-brand-primary`}
|
|
92
92
|
>
|
|
93
93
|
{labels.showMore}
|
|
94
94
|
</button>
|
|
@@ -115,15 +115,15 @@
|
|
|
115
115
|
<!-- svelte-ignore a11y_click_events_have_key_events -->
|
|
116
116
|
<!-- svelte-ignore a11y_no_static_element_interactions -->
|
|
117
117
|
<div
|
|
118
|
-
class="w-72 sm:w-80 absolute bottom-full mb-2.5 rounded-lg p-4 z-50 shadow-xl transition-all duration-300 bg-
|
|
118
|
+
class="w-72 sm:w-80 absolute bottom-full mb-2.5 rounded-lg p-4 z-50 shadow-xl transition-all duration-300 bg-card border-2 border-brand-primary {index === 0 ? 'left-[190%]' : 'left-1/2 -translate-x-1/2'}"
|
|
119
119
|
onclick={(e) => e.stopPropagation()}
|
|
120
120
|
>
|
|
121
121
|
<div
|
|
122
|
-
class="absolute w-3 h-3 bg-
|
|
122
|
+
class="absolute w-3 h-3 bg-card rotate-45 border-r-2 border-b-2 border-brand-primary -bottom-1.5 {index === 0 ? 'left-[20%]' : 'left-1/2'} -ml-1.5"
|
|
123
123
|
></div>
|
|
124
124
|
|
|
125
125
|
<button
|
|
126
|
-
class="absolute top-2 right-2 p-1 rounded-full transition-colors text-
|
|
126
|
+
class="absolute top-2 right-2 p-1 rounded-full transition-colors text-muted-foreground hover:bg-bg-secondary"
|
|
127
127
|
onclick={closePerformer}
|
|
128
128
|
aria-label={labels.closePopover}
|
|
129
129
|
>
|
|
@@ -135,14 +135,14 @@
|
|
|
135
135
|
</p>
|
|
136
136
|
|
|
137
137
|
{#if profile?.instagram || profile?.twitter}
|
|
138
|
-
<div class="flex gap-2 items-center {typography.smMuted} mt-3 pt-3 border-t border-
|
|
138
|
+
<div class="flex gap-2 items-center {typography.smMuted} mt-3 pt-3 border-t border-border">
|
|
139
139
|
<span>{typeof labels.followLabel === 'function' ? labels.followLabel(firstName) : labels.followLabel}</span>
|
|
140
140
|
{#if profile?.instagram}
|
|
141
141
|
<a
|
|
142
142
|
href={profile.instagram}
|
|
143
143
|
target="_blank"
|
|
144
144
|
rel="noopener noreferrer"
|
|
145
|
-
class="text-
|
|
145
|
+
class="text-brand-primary hover:opacity-70 transition-opacity"
|
|
146
146
|
aria-label={labels.instagramProfile}
|
|
147
147
|
>
|
|
148
148
|
<LogoInstagram size={20} />
|
|
@@ -153,7 +153,7 @@
|
|
|
153
153
|
href={profile.twitter}
|
|
154
154
|
target="_blank"
|
|
155
155
|
rel="noopener noreferrer"
|
|
156
|
-
class="text-
|
|
156
|
+
class="text-brand-primary hover:opacity-70 transition-opacity"
|
|
157
157
|
aria-label={labels.twitterProfile}
|
|
158
158
|
>
|
|
159
159
|
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 24 24">
|
|
@@ -169,13 +169,13 @@
|
|
|
169
169
|
<!-- svelte-ignore a11y_click_events_have_key_events -->
|
|
170
170
|
<!-- svelte-ignore a11y_no_static_element_interactions -->
|
|
171
171
|
<div
|
|
172
|
-
class="rounded-lg flex flex-col gap-2 p-2 items-center w-24 cursor-pointer transition-all bg-
|
|
172
|
+
class="rounded-lg flex flex-col gap-2 p-2 items-center w-24 cursor-pointer transition-all bg-card border hover:shadow {activePerformer === performer.ID ? 'border-brand-primary shadow' : 'border-border hover:border-brand-primary'}"
|
|
173
173
|
onclick={() => togglePerformer(performer.ID)}
|
|
174
174
|
>
|
|
175
175
|
<img
|
|
176
176
|
src={performer.shouldBeHidden ? '' : profile?.profileImage ? getImageUrl(profile.profileImage) : ''}
|
|
177
177
|
alt={displayName || labels.performerAlt}
|
|
178
|
-
class="size-16 rounded object-cover {!profile?.profileImage || performer.shouldBeHidden ? 'bg-
|
|
178
|
+
class="size-16 rounded object-cover {!profile?.profileImage || performer.shouldBeHidden ? 'bg-bg-secondary' : ''}"
|
|
179
179
|
/>
|
|
180
180
|
<p class="{typography.xs} text-center leading-tight line-clamp-2">
|
|
181
181
|
{#if !performer.shouldBeHidden}
|
|
@@ -214,7 +214,7 @@ describe('MiniMonthCalendar Component', () => {
|
|
|
214
214
|
});
|
|
215
215
|
|
|
216
216
|
// Check for event indicator dots
|
|
217
|
-
const dots = container.querySelectorAll('.bg-
|
|
217
|
+
const dots = container.querySelectorAll('.bg-brand-primary, .bg-brand-primary');
|
|
218
218
|
expect(dots.length).toBeGreaterThan(0);
|
|
219
219
|
});
|
|
220
220
|
|
|
@@ -226,7 +226,7 @@ describe('MiniMonthCalendar Component', () => {
|
|
|
226
226
|
}
|
|
227
227
|
});
|
|
228
228
|
|
|
229
|
-
const dots = container.querySelectorAll('.bg-
|
|
229
|
+
const dots = container.querySelectorAll('.bg-brand-primary, .bg-brand-primary');
|
|
230
230
|
// Should show up to 3 dots per day
|
|
231
231
|
expect(dots.length).toBeGreaterThan(0);
|
|
232
232
|
});
|
|
@@ -429,7 +429,7 @@ describe('MiniMonthCalendar Component', () => {
|
|
|
429
429
|
});
|
|
430
430
|
|
|
431
431
|
// Check for green checkmark
|
|
432
|
-
const checkmark = container.querySelector('.text-
|
|
432
|
+
const checkmark = container.querySelector('.text-accent-success');
|
|
433
433
|
expect(checkmark).toBeInTheDocument();
|
|
434
434
|
});
|
|
435
435
|
|
|
@@ -442,7 +442,7 @@ describe('MiniMonthCalendar Component', () => {
|
|
|
442
442
|
});
|
|
443
443
|
|
|
444
444
|
// Should not show spinner for display variant
|
|
445
|
-
expect(container.querySelector('.text-
|
|
445
|
+
expect(container.querySelector('.text-accent-success')).not.toBeInTheDocument();
|
|
446
446
|
});
|
|
447
447
|
});
|
|
448
448
|
|
|
@@ -591,14 +591,14 @@ describe('MiniMonthCalendar Component', () => {
|
|
|
591
591
|
describe('preview days', () => {
|
|
592
592
|
it('shows previous month preview days by default', () => {
|
|
593
593
|
const { container } = render(MiniMonthCalendar);
|
|
594
|
-
const previewDays = container.querySelectorAll('.text-
|
|
594
|
+
const previewDays = container.querySelectorAll('.text-muted-foreground, .dark\\:text-text-secondary');
|
|
595
595
|
// March 2024 starts on a Friday, so should show some preview days
|
|
596
596
|
expect(previewDays.length).toBeGreaterThan(0);
|
|
597
597
|
});
|
|
598
598
|
|
|
599
599
|
it('shows next month preview days by default', () => {
|
|
600
600
|
const { container } = render(MiniMonthCalendar);
|
|
601
|
-
const previewDays = container.querySelectorAll('.text-
|
|
601
|
+
const previewDays = container.querySelectorAll('.text-muted-foreground, .dark\\:text-text-secondary');
|
|
602
602
|
expect(previewDays.length).toBeGreaterThan(0);
|
|
603
603
|
});
|
|
604
604
|
|
|
@@ -937,7 +937,7 @@ describe('MiniMonthCalendar Component', () => {
|
|
|
937
937
|
cell.getAttribute('aria-selected') === 'true'
|
|
938
938
|
);
|
|
939
939
|
|
|
940
|
-
expect(selectedCell?.className).toContain('bg-
|
|
940
|
+
expect(selectedCell?.className).toContain('bg-brand-primary');
|
|
941
941
|
});
|
|
942
942
|
|
|
943
943
|
it('applies past date style for availability variant', () => {
|
|
@@ -968,7 +968,8 @@ describe('MiniMonthCalendar Component', () => {
|
|
|
968
968
|
const eventCell = cells.find(cell => cell.textContent.includes('15'));
|
|
969
969
|
|
|
970
970
|
if (eventCell) {
|
|
971
|
-
|
|
971
|
+
// Display variant uses bg-status-info-bg on mobile for event cells
|
|
972
|
+
expect(eventCell.className).toContain('bg-status-info-bg');
|
|
972
973
|
}
|
|
973
974
|
});
|
|
974
975
|
|
|
@@ -655,7 +655,7 @@
|
|
|
655
655
|
{#if saveStatus === 'saving'}
|
|
656
656
|
<Spinner size="sm" color="secondary" />
|
|
657
657
|
{:else if saveStatus === 'saved'}
|
|
658
|
-
<span class="flex items-center justify-center text-
|
|
658
|
+
<span class="flex items-center justify-center text-accent-success">
|
|
659
659
|
<CheckCircleSolid class="w-5 h-5" />
|
|
660
660
|
</span>
|
|
661
661
|
{/if}
|
|
@@ -665,10 +665,9 @@
|
|
|
665
665
|
|
|
666
666
|
<div class="flex items-center gap-2">
|
|
667
667
|
<button
|
|
668
|
-
class="p-2 flex items-center justify-center border-0 rounded-lg bg-transparent text-
|
|
668
|
+
class="p-2 flex items-center justify-center border-0 rounded-lg bg-transparent text-muted-foreground cursor-pointer select-none transition-all duration-100 ease-out hover:bg-muted hover:text-text-primary focus:outline-hidden focus-visible:ring-2 focus-visible:ring-focus-ring focus-visible:ring-offset-2 disabled:opacity-50 disabled:cursor-not-allowed"
|
|
669
669
|
class:scale-90={prevPressed}
|
|
670
|
-
class:bg-
|
|
671
|
-
class:dark:bg-gray-700={prevPressed}
|
|
670
|
+
class:bg-muted={prevPressed}
|
|
672
671
|
onclick={goToPrevMonth}
|
|
673
672
|
ontouchstart={() => prevPressed = true}
|
|
674
673
|
ontouchend={() => prevPressed = false}
|
|
@@ -684,9 +683,9 @@
|
|
|
684
683
|
|
|
685
684
|
{#if showTodayButton}
|
|
686
685
|
<button
|
|
687
|
-
class="text-sm font-medium px-3 py-1 border border-
|
|
686
|
+
class="text-sm font-medium px-3 py-1 border border-stroke-primary rounded-lg bg-transparent text-text-primary cursor-pointer select-none transition-transform duration-100 ease-out hover:bg-brand-primary hover:text-white hover:border-brand-primary focus:outline-hidden focus-visible:ring-2 focus-visible:ring-focus-ring focus-visible:ring-offset-2 disabled:opacity-40 disabled:cursor-not-allowed"
|
|
688
687
|
class:scale-95={todayPressed}
|
|
689
|
-
class:bg-
|
|
688
|
+
class:bg-brand-primary={todayPressed}
|
|
690
689
|
class:text-white={todayPressed}
|
|
691
690
|
onclick={goToToday}
|
|
692
691
|
ontouchstart={() => todayPressed = true}
|
|
@@ -703,10 +702,9 @@
|
|
|
703
702
|
{/if}
|
|
704
703
|
|
|
705
704
|
<button
|
|
706
|
-
class="p-2 flex items-center justify-center border-0 rounded-lg bg-transparent text-
|
|
705
|
+
class="p-2 flex items-center justify-center border-0 rounded-lg bg-transparent text-muted-foreground cursor-pointer select-none transition-all duration-100 ease-out hover:bg-muted hover:text-text-primary focus:outline-hidden focus-visible:ring-2 focus-visible:ring-focus-ring focus-visible:ring-offset-2"
|
|
707
706
|
class:scale-90={nextPressed}
|
|
708
|
-
class:bg-
|
|
709
|
-
class:dark:bg-gray-700={nextPressed}
|
|
707
|
+
class:bg-muted={nextPressed}
|
|
710
708
|
onclick={goToNextMonth}
|
|
711
709
|
ontouchstart={() => nextPressed = true}
|
|
712
710
|
ontouchend={() => nextPressed = false}
|
|
@@ -725,13 +723,13 @@
|
|
|
725
723
|
<div class="relative overflow-hidden">
|
|
726
724
|
<div
|
|
727
725
|
bind:this={calendarGridElement}
|
|
728
|
-
class="grid grid-cols-7 gap-0 bg-
|
|
726
|
+
class="grid grid-cols-7 gap-0 bg-card select-none min-h-[356px] sm:min-h-[388px] md:min-h-[448px] lg:min-h-[508px]"
|
|
729
727
|
role="grid"
|
|
730
728
|
aria-label="{MONTH_NAMES[currentMonth]} {currentYear}"
|
|
731
729
|
>
|
|
732
730
|
{#each DAY_NAMES as dayName, i}
|
|
733
731
|
<div
|
|
734
|
-
class="flex items-end justify-center pb-1 {typography.xsMuted} overflow-hidden leading-none sm:pb-2 sm:pt-1 sm:justify-end sm:pr-2 sm:text-lg sm:text-
|
|
732
|
+
class="flex items-end justify-center pb-1 {typography.xsMuted} overflow-hidden leading-none sm:pb-2 sm:pt-1 sm:justify-end sm:pr-2 sm:text-lg sm:text-text-primary sm: sm:border-b sm:border-border sm:"
|
|
735
733
|
role="columnheader"
|
|
736
734
|
aria-label={labels.fullDayNames[i]}
|
|
737
735
|
>
|
|
@@ -741,8 +739,8 @@
|
|
|
741
739
|
{/each}
|
|
742
740
|
|
|
743
741
|
{#each prevMonthPreviewDays as previewDay}
|
|
744
|
-
<div class="flex flex-col items-center justify-start px-1 py-0.5 min-h-[56px] sm:min-h-[60px] md:min-h-[70px] lg:min-h-[80px] pointer-events-none bg-transparent border-b border-
|
|
745
|
-
<span class="{typography.sm} text-
|
|
742
|
+
<div class="flex flex-col items-center justify-start px-1 py-0.5 min-h-[56px] sm:min-h-[60px] md:min-h-[70px] lg:min-h-[80px] pointer-events-none bg-transparent border-b border-border sm:border-b-0 sm:p-2 sm:border-t sm:border-l sm:border-border sm: last:sm:border-r" role="gridcell" aria-disabled="true">
|
|
743
|
+
<span class="{typography.sm} text-muted-foreground w-full text-center sm:text-lg sm:font-normal sm:text-right sm:mb-2">{previewDay.day}</span>
|
|
746
744
|
</div>
|
|
747
745
|
{/each}
|
|
748
746
|
|
|
@@ -750,13 +748,12 @@
|
|
|
750
748
|
<!-- svelte-ignore a11y_no_static_element_interactions -->
|
|
751
749
|
<div
|
|
752
750
|
class="flex flex-col items-center justify-start px-1 py-0.5 min-h-[56px] sm:min-h-[60px] md:min-h-[70px] lg:min-h-[80px] select-none
|
|
753
|
-
border-b border-
|
|
754
|
-
|
|
755
|
-
{day.isPast && variant === 'availability' ? 'bg-
|
|
756
|
-
{day.
|
|
757
|
-
{day.isSelected && !day.isPast && variant === 'availability' ? 'bg-blue-700 dark:bg-blue-600' : ''}
|
|
751
|
+
border-b border-border sm:border-b-0 sm:p-2 sm:border-t sm:border-l sm:border-border
|
|
752
|
+
{day.isPast && variant === 'availability' ? 'bg-muted cursor-default' : ''}
|
|
753
|
+
{day.isPast && day.isSelected && variant === 'availability' ? 'bg-status-info-bg cursor-default' : ''}
|
|
754
|
+
{day.isSelected && !day.isPast && variant === 'availability' ? 'bg-brand-primary' : ''}
|
|
758
755
|
{!readOnly && (variant === 'availability' ? !day.isPast : day.hasEvents) ? 'cursor-pointer' : ''}
|
|
759
|
-
{variant !== 'availability' && day.hasEvents ? 'bg-
|
|
756
|
+
{variant !== 'availability' && day.hasEvents ? 'bg-status-info-bg sm:bg-transparent sm:' : ''}"
|
|
760
757
|
class:last:border-r={true}
|
|
761
758
|
role="gridcell"
|
|
762
759
|
aria-label={getDayAriaLabel(day)}
|
|
@@ -768,12 +765,12 @@
|
|
|
768
765
|
onkeydown={(e) => handleDayKeydown(e, day)}
|
|
769
766
|
>
|
|
770
767
|
<span class="{typography.sm} w-full text-center transition-transform duration-100 ease-out sm:text-lg sm:font-normal sm:text-right sm:mb-2
|
|
771
|
-
{day.isPast ? 'text-
|
|
768
|
+
{day.isPast ? 'text-muted-foreground' : ''}
|
|
772
769
|
{day.isSelected && !day.isPast && variant === 'availability' ? 'text-white font-semibold' : ''}">{day.day}</span>
|
|
773
770
|
{#if variant !== 'availability' && day.hasEvents}
|
|
774
771
|
<div class="flex gap-0.5 mt-0.5">
|
|
775
772
|
{#each day.events.slice(0, 3) as _}
|
|
776
|
-
<span class="w-1.5 h-1.5 rounded-full bg-
|
|
773
|
+
<span class="w-1.5 h-1.5 rounded-full bg-brand-primary transition-transform duration-150 ease-out hover:scale-125"></span>
|
|
777
774
|
{/each}
|
|
778
775
|
</div>
|
|
779
776
|
{/if}
|
|
@@ -781,8 +778,8 @@
|
|
|
781
778
|
{/each}
|
|
782
779
|
|
|
783
780
|
{#each nextMonthPreviewDays as previewDay}
|
|
784
|
-
<div class="flex flex-col items-center justify-start px-1 py-0.5 min-h-[56px] sm:min-h-[60px] md:min-h-[70px] lg:min-h-[80px] pointer-events-none bg-transparent border-b border-
|
|
785
|
-
<span class="{typography.sm} text-
|
|
781
|
+
<div class="flex flex-col items-center justify-start px-1 py-0.5 min-h-[56px] sm:min-h-[60px] md:min-h-[70px] lg:min-h-[80px] pointer-events-none bg-transparent border-b border-border sm:p-2 sm:border-t sm:border-l sm:border-border sm: last:sm:border-r" role="gridcell" aria-disabled="true">
|
|
782
|
+
<span class="{typography.sm} text-muted-foreground w-full text-center sm:text-lg sm:font-normal sm:text-right sm:mb-2">{previewDay.day}</span>
|
|
786
783
|
</div>
|
|
787
784
|
{/each}
|
|
788
785
|
</div>
|
|
@@ -791,11 +788,11 @@
|
|
|
791
788
|
{#if showLegend && variant === 'availability'}
|
|
792
789
|
<div class="flex items-center justify-center gap-6 pt-4">
|
|
793
790
|
<div class="flex items-center gap-2">
|
|
794
|
-
<span class="w-5 h-5 rounded bg-
|
|
791
|
+
<span class="w-5 h-5 rounded bg-brand-primary border border-brand-primary"></span>
|
|
795
792
|
<span class="{typography.sm}">{labels.legendAvailable}</span>
|
|
796
793
|
</div>
|
|
797
794
|
<div class="flex items-center gap-2">
|
|
798
|
-
<span class="w-5 h-5 rounded bg-
|
|
795
|
+
<span class="w-5 h-5 rounded bg-bg-secondary border-2 border-stroke-primary"></span>
|
|
799
796
|
<span class="{typography.sm}">{labels.legendUnavailable}</span>
|
|
800
797
|
</div>
|
|
801
798
|
</div>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MiniMonthCalendar.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/calendar/Calendar/MiniMonthCalendar.svelte.js"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"MiniMonthCalendar.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/calendar/Calendar/MiniMonthCalendar.svelte.js"],"names":[],"mappings":";;;;;AAsuBA;cAnsB+B,MAAM;oBAAkB,GAAG,EAAE;aAAW,GAAG,EAAE;iBAAe,MAAM;iBAAe,OAAO;qBAAmB,OAAO;sBAAoB,OAAO;eAAa,OAAO;yBAAuB,OAAO;4BAA0B,OAAO;kBAAgB,GAAG;gBAAc,GAAG;mBAAiB,GAAG;aAAW,MAAM;aAAW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;wBAmsBtS;wBAnsB7C;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,GAAG,CAAC;IAAC,UAAU,EAAE,GAAG,CAAC;IAAC,aAAa,EAAE,GAAG,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE"}
|
|
@@ -185,8 +185,8 @@ describe('FAQs Component', () => {
|
|
|
185
185
|
|
|
186
186
|
await fireEvent.click(button);
|
|
187
187
|
|
|
188
|
-
expect(button.className).toContain('text-
|
|
189
|
-
expect(button.className).toContain('bg-
|
|
188
|
+
expect(button.className).toContain('text-text-primary');
|
|
189
|
+
expect(button.className).toContain('bg-muted');
|
|
190
190
|
});
|
|
191
191
|
|
|
192
192
|
it('chevron rotates when expanded', async () => {
|
|
@@ -203,7 +203,7 @@ describe('FAQs Component', () => {
|
|
|
203
203
|
|
|
204
204
|
it('accordion container has border', () => {
|
|
205
205
|
const { container } = render(FAQs, { props: { faqs, accordion: true } });
|
|
206
|
-
const accordionDiv = container.querySelector('.border.border-
|
|
206
|
+
const accordionDiv = container.querySelector('.border.border-border');
|
|
207
207
|
expect(accordionDiv).toBeInTheDocument();
|
|
208
208
|
});
|
|
209
209
|
|
|
@@ -220,19 +220,19 @@ describe('FAQs Component', () => {
|
|
|
220
220
|
it('accordion has dark mode border', () => {
|
|
221
221
|
const { container } = render(FAQs, { props: { faqs, accordion: true } });
|
|
222
222
|
const accordionDiv = container.querySelector('.border');
|
|
223
|
-
expect(accordionDiv.className).toContain('
|
|
223
|
+
expect(accordionDiv.className).toContain('');
|
|
224
224
|
});
|
|
225
225
|
|
|
226
226
|
it('accordion buttons have dark mode hover', () => {
|
|
227
227
|
render(FAQs, { props: { faqs, accordion: true } });
|
|
228
228
|
const button = screen.getByRole('button');
|
|
229
|
-
expect(button.className).toContain('
|
|
229
|
+
expect(button.className).toContain('');
|
|
230
230
|
});
|
|
231
231
|
|
|
232
232
|
it('accordion buttons have dark mode focus ring', () => {
|
|
233
233
|
render(FAQs, { props: { faqs, accordion: true } });
|
|
234
234
|
const button = screen.getByRole('button');
|
|
235
|
-
expect(button.className).toContain('
|
|
235
|
+
expect(button.className).toContain('');
|
|
236
236
|
});
|
|
237
237
|
});
|
|
238
238
|
});
|
|
@@ -40,16 +40,16 @@
|
|
|
40
40
|
|
|
41
41
|
{#if items.length}
|
|
42
42
|
{#if accordion}
|
|
43
|
-
<div class="border border-
|
|
43
|
+
<div class="border border-border rounded-lg">
|
|
44
44
|
{#each items as { question, answer }, index}
|
|
45
45
|
<div>
|
|
46
46
|
<h3>
|
|
47
47
|
<button
|
|
48
48
|
type="button"
|
|
49
|
-
class="flex items-center justify-between w-full p-5 font-medium text-left text-
|
|
49
|
+
class="flex items-center justify-between w-full p-5 font-medium text-left text-muted-foreground border-b border-border hover:bg-muted focus:ring-4 focus:ring-border gap-3
|
|
50
50
|
{index === 0 ? 'rounded-t-lg' : ''}
|
|
51
51
|
{index === items.length - 1 && openIndex !== index ? 'border-b-0 rounded-b-lg' : ''}
|
|
52
|
-
{openIndex === index ? 'text-
|
|
52
|
+
{openIndex === index ? 'text-text-primary bg-muted' : ''}"
|
|
53
53
|
onclick={() => toggleAccordion(index)}
|
|
54
54
|
aria-expanded={openIndex === index}
|
|
55
55
|
aria-controls="accordion-body-{index}"
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
class="{openIndex === index ? '' : 'hidden'}"
|
|
64
64
|
aria-labelledby="accordion-heading-{index}"
|
|
65
65
|
>
|
|
66
|
-
<div class="p-5 border-b border-
|
|
66
|
+
<div class="p-5 border-b border-border {index === items.length - 1 ? 'border-b-0 rounded-b-lg' : ''}">
|
|
67
67
|
<p class="{typography.smMuted} leading-relaxed">{answer}</p>
|
|
68
68
|
</div>
|
|
69
69
|
</div>
|
|
@@ -83,12 +83,10 @@
|
|
|
83
83
|
</h2>
|
|
84
84
|
<div class="flex items-center gap-2">
|
|
85
85
|
<button
|
|
86
|
-
class="p-3 -m-1.5 flex items-center justify-center border-0 rounded-full bg-transparent text-
|
|
86
|
+
class="p-3 -m-1.5 flex items-center justify-center border-0 rounded-full bg-transparent text-muted-foreground cursor-pointer select-none transition-transform duration-100 ease-out hover:bg-muted hover:text-text-primary focus:outline-hidden focus-visible:ring-2 focus-visible:ring-focus-ring focus-visible:ring-offset-2 disabled:opacity-50 disabled:cursor-not-allowed"
|
|
87
87
|
class:scale-90={prevPressed}
|
|
88
|
-
class:bg-
|
|
89
|
-
class:
|
|
90
|
-
class:text-gray-900={prevPressed}
|
|
91
|
-
class:dark:text-white={prevPressed}
|
|
88
|
+
class:bg-muted={prevPressed}
|
|
89
|
+
class:text-text-primary={prevPressed}
|
|
92
90
|
onclick={handlePrevClick}
|
|
93
91
|
ontouchstart={() => prevPressed = true}
|
|
94
92
|
ontouchend={() => prevPressed = false}
|
|
@@ -102,9 +100,9 @@
|
|
|
102
100
|
<ChevronLeftOutline class="w-5 h-5" />
|
|
103
101
|
</button>
|
|
104
102
|
<button
|
|
105
|
-
class="{`${typography.label} px-3 py-1 border border-
|
|
103
|
+
class="{`${typography.label} px-3 py-1 border border-stroke-primary rounded-lg bg-transparent cursor-pointer select-none transition-transform duration-100 ease-out hover:bg-brand-primary hover:text-white hover:border-brand-primary focus:outline-hidden focus-visible:ring-2 focus-visible:ring-focus-ring focus-visible:ring-offset-2 disabled:opacity-40 disabled:cursor-not-allowed disabled:text-muted-foreground:text-muted-foreground`}"
|
|
106
104
|
class:scale-95={todayPressed}
|
|
107
|
-
class:bg-
|
|
105
|
+
class:bg-brand-primary={todayPressed}
|
|
108
106
|
class:text-white={todayPressed}
|
|
109
107
|
onclick={handleTodayClick}
|
|
110
108
|
ontouchstart={() => todayPressed = true}
|
|
@@ -119,12 +117,10 @@
|
|
|
119
117
|
{labels.today}
|
|
120
118
|
</button>
|
|
121
119
|
<button
|
|
122
|
-
class="p-3 -m-1.5 flex items-center justify-center border-0 rounded-full bg-transparent text-
|
|
120
|
+
class="p-3 -m-1.5 flex items-center justify-center border-0 rounded-full bg-transparent text-muted-foreground cursor-pointer select-none transition-transform duration-100 ease-out hover:bg-muted hover:text-text-primary focus:outline-hidden focus-visible:ring-2 focus-visible:ring-focus-ring focus-visible:ring-offset-2"
|
|
123
121
|
class:scale-90={nextPressed}
|
|
124
|
-
class:bg-
|
|
125
|
-
class:
|
|
126
|
-
class:text-gray-900={nextPressed}
|
|
127
|
-
class:dark:text-white={nextPressed}
|
|
122
|
+
class:bg-muted={nextPressed}
|
|
123
|
+
class:text-text-primary={nextPressed}
|
|
128
124
|
onclick={handleNextClick}
|
|
129
125
|
ontouchstart={() => nextPressed = true}
|
|
130
126
|
ontouchend={() => nextPressed = false}
|