@getmicdrop/svelte-components 5.21.0 → 5.21.2
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 +191 -191
- package/dist/calendar/Calendar/MiniMonthCalendar.spec.js +9 -8
- package/dist/calendar/Calendar/MiniMonthCalendar.svelte +800 -803
- 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 +88 -88
- package/dist/calendar/MonthSwitcher/MonthSwitcher.svelte +136 -140
- package/dist/calendar/OrderSummary/OrderSummary.svelte +461 -461
- package/dist/calendar/PublicCard/PublicCard.spec.js +3 -3
- package/dist/calendar/PublicCard/PublicCard.svelte +164 -164
- package/dist/calendar/ShowCard/ShowCard.spec.js +8 -8
- package/dist/calendar/ShowCard/ShowCard.svelte +180 -180
- package/dist/calendar/ShowTimeCard/ShowTimeCard.spec.js +4 -4
- package/dist/calendar/ShowTimeCard/ShowTimeCard.svelte +80 -80
- package/dist/calendar/index.js +15 -15
- package/dist/components/Heading.spec.js +89 -89
- package/dist/components/Heading.svelte +66 -66
- package/dist/components/Layout/AppShell.svelte +104 -104
- package/dist/components/Layout/ContentSection.svelte +80 -80
- package/dist/components/Layout/Grid.svelte +101 -101
- package/dist/components/Layout/Heading.svelte +81 -81
- package/dist/components/Layout/PageContainer.svelte +69 -69
- package/dist/components/Layout/Responsive.svelte +75 -75
- package/dist/components/Layout/Section.spec.js +4 -4
- package/dist/components/Layout/Section.svelte +80 -80
- package/dist/components/Layout/ShowOnDesktop.svelte +37 -37
- package/dist/components/Layout/ShowOnMobile.svelte +37 -37
- package/dist/components/Layout/Sidebar.svelte +108 -108
- package/dist/components/Layout/Stack.spec.js +1 -1
- package/dist/components/Layout/Stack.svelte +52 -52
- package/dist/components/Layout/Text.svelte +87 -87
- package/dist/components/Layout/TwoColumn.svelte +108 -108
- 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 +89 -89
- package/dist/components/Text.svelte +64 -64
- package/dist/config.js +160 -160
- package/dist/config.spec.js +29 -29
- package/dist/constants/formOptions.js +48 -48
- package/dist/constants/validation.js +91 -91
- package/dist/constants/validation.spec.js +64 -64
- package/dist/datetime/README.md +323 -323
- package/dist/datetime/__tests__/format.test.js +1 -1
- package/dist/datetime/__tests__/parse.test.js +1 -1
- package/dist/datetime/__tests__/timezone.test.js +1 -1
- package/dist/datetime/parse.js +1 -1
- package/dist/forms/createFormStore.svelte.js +1 -0
- package/dist/forms/createFormStore.svelte.spec.js +1 -0
- package/dist/index.js +85 -85
- package/dist/index.spec.js +369 -369
- package/dist/patterns/chat/ChatActivityNotice.spec.js +59 -59
- package/dist/patterns/chat/ChatActivityNotice.svelte +41 -41
- package/dist/patterns/chat/ChatBubble.spec.js +91 -91
- package/dist/patterns/chat/ChatBubble.svelte +103 -103
- package/dist/patterns/chat/ChatContainer.spec.js +30 -30
- package/dist/patterns/chat/ChatContainer.svelte +46 -46
- package/dist/patterns/chat/ChatDateDivider.spec.js +30 -30
- package/dist/patterns/chat/ChatDateDivider.svelte +27 -27
- package/dist/patterns/chat/ChatInvitationBubble.spec.js +46 -46
- package/dist/patterns/chat/ChatInvitationBubble.svelte +46 -46
- package/dist/patterns/chat/ChatInvitationNotice.spec.js +32 -32
- package/dist/patterns/chat/ChatInvitationNotice.svelte +36 -36
- package/dist/patterns/chat/ChatMessageGroup.spec.js +58 -58
- package/dist/patterns/chat/ChatMessageGroup.svelte +57 -57
- package/dist/patterns/chat/ChatSlotUpdate.spec.js +65 -65
- package/dist/patterns/chat/ChatSlotUpdate.svelte +46 -46
- package/dist/patterns/chat/ChatStatusBadge.spec.js +79 -79
- package/dist/patterns/chat/ChatStatusBadge.svelte +91 -91
- package/dist/patterns/chat/ChatStatusTransition.spec.js +81 -81
- package/dist/patterns/chat/ChatStatusTransition.svelte +64 -64
- package/dist/patterns/chat/ChatTextBubble.spec.js +35 -35
- package/dist/patterns/chat/ChatTextBubble.svelte +41 -41
- package/dist/patterns/chat/index.js +22 -22
- package/dist/patterns/data/DataGrid.svelte +45 -45
- package/dist/patterns/data/DataList.spec.js +5 -5
- package/dist/patterns/data/DataList.svelte +24 -24
- package/dist/patterns/data/DataTable.spec.js +18 -18
- package/dist/patterns/data/DataTable.svelte +45 -45
- package/dist/patterns/data/index.js +4 -4
- package/dist/patterns/forms/FormActions.spec.js +95 -95
- package/dist/patterns/forms/FormActions.stories.svelte +97 -97
- package/dist/patterns/forms/FormActions.svelte +46 -46
- package/dist/patterns/forms/FormGrid.svelte +33 -33
- package/dist/patterns/forms/FormSection.spec.js +4 -4
- package/dist/patterns/forms/FormSection.svelte +33 -33
- package/dist/patterns/forms/FormValidationSummary.spec.js +2 -2
- package/dist/patterns/forms/FormValidationSummary.stories.svelte +97 -97
- package/dist/patterns/forms/FormValidationSummary.svelte +82 -82
- package/dist/patterns/forms/index.js +5 -5
- package/dist/patterns/index.js +21 -21
- package/dist/patterns/layout/Sidebar.svelte +39 -39
- package/dist/patterns/layout/SidebarTestWrapper.svelte +34 -34
- package/dist/patterns/layout/Stack.svelte +61 -61
- package/dist/patterns/layout/index.js +29 -29
- package/dist/patterns/navigation/BottomNav.stories.svelte +117 -117
- package/dist/patterns/navigation/BottomNav.svelte +82 -82
- package/dist/patterns/navigation/Header.spec.js +9 -9
- package/dist/patterns/navigation/Header.stories.svelte +77 -77
- package/dist/patterns/navigation/Header.svelte +261 -263
- package/dist/patterns/navigation/Header.svelte.d.ts.map +1 -1
- package/dist/patterns/navigation/index.js +3 -3
- package/dist/patterns/page/PageHeader.svelte +49 -49
- package/dist/patterns/page/PageLayout.spec.js +5 -5
- package/dist/patterns/page/PageLayout.svelte +40 -40
- package/dist/patterns/page/PageLoader.spec.js +57 -57
- package/dist/patterns/page/PageLoader.stories.svelte +137 -137
- package/dist/patterns/page/PageLoader.svelte +62 -62
- package/dist/patterns/page/SectionHeader.spec.js +8 -8
- package/dist/patterns/page/SectionHeader.svelte +51 -51
- package/dist/patterns/page/index.js +5 -5
- package/dist/presets/badges.js +112 -112
- package/dist/presets/buttons.js +76 -76
- package/dist/presets/buttons.spec.js +4 -4
- package/dist/presets/index.js +9 -9
- package/dist/primitives/Accordion/Accordion.spec.js +5 -5
- package/dist/primitives/Accordion/Accordion.stories.svelte +75 -75
- package/dist/primitives/Accordion/Accordion.svelte +62 -62
- package/dist/primitives/Accordion/AccordionItem.spec.js +19 -28
- package/dist/primitives/Accordion/AccordionItem.svelte +103 -103
- package/dist/primitives/Accordion/AccordionItemWrapper.test.svelte +107 -107
- package/dist/primitives/Accordion/AccordionToggleWrapper.test.svelte +28 -28
- package/dist/primitives/Alert/Alert.spec.js +173 -173
- package/dist/primitives/Alert/Alert.stories.svelte +88 -88
- package/dist/primitives/Alert/Alert.svelte +72 -72
- package/dist/primitives/Avatar/Avatar.spec.js +11 -11
- package/dist/primitives/Avatar/Avatar.stories.svelte +95 -94
- package/dist/primitives/Avatar/Avatar.stories.svelte.d.ts.map +1 -1
- package/dist/primitives/Avatar/Avatar.svelte +66 -66
- package/dist/primitives/AvatarButton/AvatarButton.svelte +57 -57
- package/dist/primitives/Badges/Badge.spec.js +144 -144
- package/dist/primitives/Badges/Badge.stories.svelte +86 -86
- package/dist/primitives/Badges/Badge.svelte +99 -99
- package/dist/primitives/BottomSheet/BottomSheet.spec.js +238 -238
- package/dist/primitives/BottomSheet/BottomSheet.stories.svelte +83 -83
- package/dist/primitives/BottomSheet/BottomSheet.svelte +115 -115
- package/dist/primitives/BottomSheet/BottomSheetWithActions.test.svelte +20 -20
- package/dist/primitives/Breadcrumb/Breadcrumb.spec.js +125 -123
- package/dist/primitives/Breadcrumb/Breadcrumb.stories.svelte +23 -23
- package/dist/primitives/Breadcrumb/Breadcrumb.svelte +107 -107
- package/dist/primitives/Button/Button.spec.js +225 -225
- package/dist/primitives/Button/Button.stories.svelte +76 -76
- package/dist/primitives/Button/Button.svelte +278 -278
- package/dist/primitives/Button/ButtonGroup.spec.js +44 -44
- package/dist/primitives/Button/ButtonGroup.svelte +50 -50
- package/dist/primitives/Button/ButtonSaveDemo.spec.js +146 -146
- package/dist/primitives/Button/ButtonSaveDemo.svelte +25 -25
- package/dist/primitives/Button/ButtonVariantShowcase.spec.js +1 -1
- package/dist/primitives/Button/ButtonVariantShowcase.svelte +129 -129
- package/dist/primitives/Card.spec.js +49 -49
- package/dist/primitives/Card.stories.svelte +22 -22
- package/dist/primitives/Card.svelte +28 -28
- package/dist/primitives/CardAction/CardAction.svelte +68 -68
- package/dist/primitives/Checkbox/Checkbox.spec.js +16 -16
- package/dist/primitives/Checkbox/Checkbox.stories.svelte +84 -84
- package/dist/primitives/Checkbox/Checkbox.svelte +88 -88
- package/dist/primitives/DarkModeToggle.spec.js +390 -390
- package/dist/primitives/DarkModeToggle.stories.svelte +57 -57
- package/dist/primitives/DarkModeToggle.svelte +147 -147
- package/dist/primitives/Drawer/Drawer.spec.js +4 -4
- package/dist/primitives/Drawer/Drawer.stories.svelte +100 -100
- package/dist/primitives/Drawer/Drawer.svelte +224 -224
- package/dist/primitives/Drawer/DrawerTestWrapper.svelte +86 -86
- package/dist/primitives/Dropdown/Dropdown.spec.js +9 -9
- package/dist/primitives/Dropdown/Dropdown.stories.svelte +137 -137
- package/dist/primitives/Dropdown/Dropdown.svelte +179 -179
- package/dist/primitives/Dropdown/DropdownDivider.spec.js +30 -30
- package/dist/primitives/Dropdown/DropdownDivider.svelte +9 -9
- package/dist/primitives/Dropdown/DropdownItem.spec.js +8 -15
- package/dist/primitives/Dropdown/DropdownItem.svelte +80 -80
- package/dist/primitives/Dropdown/DropdownItemTestWrapper.svelte +43 -43
- package/dist/primitives/Helper/Helper.spec.js +57 -57
- package/dist/primitives/Helper/Helper.svelte +33 -33
- package/dist/primitives/Icons/ArrowLeft.svelte +21 -21
- package/dist/primitives/Icons/ArrowRight.svelte +21 -21
- package/dist/primitives/Icons/Availability.svelte +27 -27
- package/dist/primitives/Icons/Back.svelte +27 -27
- package/dist/primitives/Icons/CheckCircle.svelte +19 -19
- package/dist/primitives/Icons/CheckCircleOutline.svelte +28 -28
- package/dist/primitives/Icons/ChevronLeft.svelte +17 -17
- package/dist/primitives/Icons/ChevronRight.svelte +17 -17
- package/dist/primitives/Icons/Copy.svelte +28 -28
- package/dist/primitives/Icons/Cross.svelte +18 -18
- package/dist/primitives/Icons/DownArrow.svelte +21 -21
- package/dist/primitives/Icons/ErrorCircle.svelte +19 -19
- package/dist/primitives/Icons/FacebookIcon.svelte +15 -15
- package/dist/primitives/Icons/Home.svelte +28 -28
- package/dist/primitives/Icons/Icon.spec.js +175 -175
- package/dist/primitives/Icons/Icon.stories.svelte +100 -100
- package/dist/primitives/Icons/Icon.svelte +79 -79
- package/dist/primitives/Icons/IconGallery.stories.svelte +235 -235
- package/dist/primitives/Icons/Icons.spec.js +3 -3
- package/dist/primitives/Icons/ImageOutline.svelte +21 -21
- package/dist/primitives/Icons/Info.svelte +20 -20
- package/dist/primitives/Icons/InstagramIcon.svelte +21 -21
- package/dist/primitives/Icons/LogoInstagram.svelte +15 -15
- package/dist/primitives/Icons/Message.svelte +28 -28
- package/dist/primitives/Icons/MoonIcon.svelte +18 -18
- package/dist/primitives/Icons/More.svelte +34 -34
- package/dist/primitives/Icons/MoreHori.spec.js +67 -67
- package/dist/primitives/Icons/MoreHori.svelte +35 -35
- package/dist/primitives/Icons/Notification.svelte +27 -27
- package/dist/primitives/Icons/Payment.svelte +27 -27
- package/dist/primitives/Icons/Profile.svelte +34 -34
- package/dist/primitives/Icons/Reload.svelte +42 -42
- package/dist/primitives/Icons/Shows.svelte +34 -34
- package/dist/primitives/Icons/Signout.svelte +34 -34
- package/dist/primitives/Icons/SunIcon.svelte +21 -21
- package/dist/primitives/Icons/TiktokIcon.svelte +15 -15
- package/dist/primitives/Icons/TrashBinOutline.svelte +21 -21
- package/dist/primitives/Icons/TwitterIcon.svelte +15 -15
- package/dist/primitives/Icons/WarningIcon.spec.js +30 -30
- package/dist/primitives/Icons/WarningIcon.svelte +24 -24
- package/dist/primitives/Input/Input.spec.js +1237 -1237
- package/dist/primitives/Input/Input.stories.svelte +139 -139
- package/dist/primitives/Input/Input.svelte +444 -444
- package/dist/primitives/Input/Select.spec.js +632 -632
- package/dist/primitives/Input/Select.stories.svelte +112 -112
- package/dist/primitives/Input/Select.svelte +252 -252
- package/dist/primitives/Input/Textarea.spec.js +8 -8
- package/dist/primitives/Input/Textarea.stories.svelte +137 -137
- package/dist/primitives/Input/Textarea.svelte +105 -105
- package/dist/primitives/Label/Label.spec.js +20 -21
- package/dist/primitives/Label/Label.svelte +37 -37
- package/dist/primitives/LandingButton/LandingButton.spec.js +61 -61
- package/dist/primitives/LandingButton/LandingButton.svelte +92 -92
- package/dist/primitives/MenuItem/MenuItem.spec.js +130 -130
- package/dist/primitives/MenuItem/MenuItem.svelte +85 -85
- package/dist/primitives/Modal/Modal.spec.js +314 -314
- package/dist/primitives/Modal/Modal.stories.svelte +86 -86
- package/dist/primitives/Modal/Modal.svelte +181 -181
- package/dist/primitives/NavItem/NavItem.spec.js +97 -97
- package/dist/primitives/NavItem/NavItem.svelte +75 -75
- package/dist/primitives/NumberInput/NumberInput.spec.js +17 -17
- package/dist/primitives/NumberInput/NumberInput.svelte +113 -113
- package/dist/primitives/Pagination/DotIndicator.svelte +66 -66
- package/dist/primitives/Pagination/Pagination.spec.js +6 -6
- package/dist/primitives/Pagination/Pagination.stories.svelte +76 -76
- package/dist/primitives/Pagination/Pagination.svelte +275 -275
- package/dist/primitives/Radio/Radio.spec.js +19 -19
- package/dist/primitives/Radio/Radio.stories.svelte +80 -80
- package/dist/primitives/Radio/Radio.svelte +67 -67
- package/dist/primitives/SearchResultItem/SearchResultItem.spec.js +78 -78
- package/dist/primitives/SearchResultItem/SearchResultItem.svelte +109 -109
- package/dist/primitives/SidebarToggle/SidebarToggle.spec.js +61 -61
- package/dist/primitives/SidebarToggle/SidebarToggle.svelte +55 -55
- package/dist/primitives/Skeleton/CardPlaceholder.spec.js +1 -1
- package/dist/primitives/Skeleton/CardPlaceholder.svelte +96 -96
- package/dist/primitives/Skeleton/ImagePlaceholder.spec.js +2 -2
- package/dist/primitives/Skeleton/ImagePlaceholder.svelte +68 -68
- package/dist/primitives/Skeleton/ListPlaceholder.spec.js +2 -2
- package/dist/primitives/Skeleton/ListPlaceholder.svelte +85 -85
- package/dist/primitives/Skeleton/Skeleton.spec.js +7 -7
- package/dist/primitives/Skeleton/Skeleton.stories.svelte +151 -151
- package/dist/primitives/Skeleton/Skeleton.svelte +55 -55
- package/dist/primitives/Spinner/Spinner.spec.js +83 -84
- package/dist/primitives/Spinner/Spinner.stories.svelte +29 -29
- package/dist/primitives/Spinner/Spinner.svelte +52 -52
- package/dist/primitives/Tabs/TabItem.svelte +52 -52
- package/dist/primitives/Tabs/Tabs.spec.js +14 -14
- package/dist/primitives/Tabs/Tabs.stories.svelte +112 -112
- package/dist/primitives/Tabs/Tabs.svelte +137 -137
- package/dist/primitives/Toggle.spec.js +219 -221
- package/dist/primitives/Toggle.stories.svelte +92 -92
- package/dist/primitives/Toggle.svelte +141 -141
- package/dist/primitives/ToggleTestWrapper.svelte +30 -30
- package/dist/primitives/Tooltip/Tooltip.spec.js +126 -126
- package/dist/primitives/Tooltip/Tooltip.svelte +83 -83
- package/dist/primitives/Typography/Typography.svelte +53 -53
- package/dist/primitives/ValidationError.spec.js +103 -103
- package/dist/primitives/ValidationError.stories.svelte +112 -112
- package/dist/primitives/ValidationError.svelte +29 -29
- package/dist/primitives/index.js +114 -114
- package/dist/recipes/CropImage/CropImage.spec.js +208 -208
- package/dist/recipes/CropImage/CropImage.stories.svelte +104 -104
- package/dist/recipes/CropImage/CropImage.svelte +241 -241
- package/dist/recipes/ImageUploader/ImageUploader.spec.js +1 -1
- package/dist/recipes/ImageUploader/ImageUploader.stories.svelte +125 -125
- package/dist/recipes/ImageUploader/ImageUploader.svelte +972 -994
- package/dist/recipes/SuperLogin/SuperLogin.svelte +24 -24
- package/dist/recipes/Toaster/Toaster.stories.svelte +62 -62
- package/dist/recipes/feedback/EmptyState/EmptyState.svelte +75 -75
- package/dist/recipes/feedback/ErrorDisplay.spec.js +69 -69
- package/dist/recipes/feedback/ErrorDisplay.stories.svelte +113 -113
- package/dist/recipes/feedback/ErrorDisplay.svelte +67 -67
- package/dist/recipes/feedback/StatusIndicator/StatusIndicator.spec.js +133 -133
- package/dist/recipes/feedback/StatusIndicator/StatusIndicator.svelte +176 -176
- package/dist/recipes/feedback/index.js +4 -4
- package/dist/recipes/fields/CheckboxField.spec.js +2 -2
- package/dist/recipes/fields/CheckboxField.svelte +85 -85
- package/dist/recipes/fields/FormField.spec.js +4 -4
- package/dist/recipes/fields/FormField.svelte +58 -58
- package/dist/recipes/fields/RadioGroup.spec.js +1 -1
- package/dist/recipes/fields/RadioGroup.svelte +95 -95
- package/dist/recipes/fields/SelectField.spec.js +2 -2
- package/dist/recipes/fields/SelectField.svelte +82 -82
- package/dist/recipes/fields/TextareaField.spec.js +2 -2
- package/dist/recipes/fields/TextareaField.svelte +101 -101
- package/dist/recipes/fields/ToggleField.spec.js +2 -2
- package/dist/recipes/fields/ToggleField.svelte +60 -60
- package/dist/recipes/fields/index.js +7 -7
- package/dist/recipes/index.js +24 -24
- package/dist/recipes/inputs/MultiSelect.spec.js +263 -263
- package/dist/recipes/inputs/MultiSelect.stories.svelte +133 -133
- package/dist/recipes/inputs/MultiSelect.svelte +291 -291
- package/dist/recipes/inputs/OTPInput.spec.js +251 -251
- package/dist/recipes/inputs/OTPInput.stories.svelte +162 -162
- package/dist/recipes/inputs/OTPInput.svelte +128 -128
- package/dist/recipes/inputs/PasswordInput.spec.js +2 -2
- package/dist/recipes/inputs/PasswordInput.svelte +130 -130
- package/dist/recipes/inputs/PasswordStrengthIndicator/PasswordStrengthIndicator.spec.js +14 -14
- package/dist/recipes/inputs/PasswordStrengthIndicator/PasswordStrengthIndicator.svelte +142 -142
- package/dist/recipes/inputs/PasswordStrengthIndicator/TestWrapper.svelte +2 -2
- package/dist/recipes/inputs/PhoneInput.svelte +254 -254
- package/dist/recipes/inputs/PlaceAutocomplete/PlaceAutocomplete.spec.js +10 -10
- package/dist/recipes/inputs/PlaceAutocomplete/PlaceAutocomplete.stories.svelte +170 -170
- package/dist/recipes/inputs/PlaceAutocomplete/PlaceAutocomplete.svelte +346 -349
- 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 +110 -110
- package/dist/recipes/inputs/index.js +8 -8
- package/dist/recipes/inputs/phoneInput/CountrySelector.svelte +240 -240
- package/dist/recipes/modals/AlertModal.spec.js +36 -36
- package/dist/recipes/modals/AlertModal.svelte +139 -139
- package/dist/recipes/modals/ConfirmationModal.spec.js +396 -396
- package/dist/recipes/modals/ConfirmationModal.stories.svelte +119 -119
- package/dist/recipes/modals/ConfirmationModal.svelte +169 -169
- package/dist/recipes/modals/FeedbackModal.svelte +205 -205
- package/dist/recipes/modals/InputModal.spec.js +17 -17
- package/dist/recipes/modals/InputModal.svelte +194 -194
- package/dist/recipes/modals/ModalStateManager.spec.js +100 -100
- package/dist/recipes/modals/ModalStateManager.svelte +77 -77
- package/dist/recipes/modals/ModalTestWrapper.svelte +65 -65
- package/dist/recipes/modals/StatusModal.spec.js +7 -7
- package/dist/recipes/modals/StatusModal.svelte +216 -216
- package/dist/recipes/modals/index.js +8 -8
- 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/common.js +1 -1
- package/dist/schemas/event.d.ts +147 -41
- package/dist/schemas/event.d.ts.map +1 -1
- package/dist/schemas/event.js +1 -1
- package/dist/schemas/order.d.ts +208 -51
- package/dist/schemas/order.d.ts.map +1 -1
- package/dist/schemas/order.js +1 -0
- package/dist/schemas/performer.d.ts +199 -44
- package/dist/schemas/performer.d.ts.map +1 -1
- package/dist/schemas/performer.js +1 -1
- package/dist/schemas/promo.d.ts +221 -55
- package/dist/schemas/promo.d.ts.map +1 -1
- package/dist/schemas/promo.js +2 -2
- package/dist/schemas/ticket.d.ts +187 -61
- package/dist/schemas/ticket.d.ts.map +1 -1
- package/dist/schemas/ticket.js +1 -1
- package/dist/schemas/user.d.ts +114 -54
- package/dist/schemas/user.d.ts.map +1 -1
- package/dist/schemas/user.js +2 -1
- package/dist/schemas/venue.d.ts +238 -20
- package/dist/schemas/venue.d.ts.map +1 -1
- package/dist/services/show.service.d.ts +46 -46
- package/dist/stores/auth.d.ts +8 -8
- package/dist/stores/auth.svelte.spec.js +1 -1
- package/dist/stores/index.js +9 -9
- package/dist/stores/toaster.d.ts +3 -3
- package/dist/stores/toaster.js +13 -13
- package/dist/stores/toaster.spec.js +59 -59
- 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.stories.svelte +14 -14
- package/dist/stories/ButtonAuditReview.svelte +427 -427
- 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.stories.svelte +19 -19
- package/dist/stories/PatternsGallery.svelte +399 -399
- package/dist/stories/PrimitivesGallery.spec.js +9 -9
- package/dist/stories/PrimitivesGallery.stories.svelte +19 -19
- package/dist/stories/PrimitivesGallery.svelte +756 -756
- package/dist/stories/RecipesGallery.stories.svelte +19 -19
- package/dist/stories/RecipesGallery.svelte +454 -454
- package/dist/stories/button-audit-manifest.json +11186 -11186
- package/dist/tailwind/preset.cjs +107 -87
- package/dist/tailwind/preset.d.cts +16 -0
- package/dist/tailwind/preset.d.cts.map +1 -1
- package/dist/telemetry.js +401 -401
- package/dist/telemetry.server.js +212 -212
- package/dist/telemetry.server.spec.js +437 -437
- package/dist/telemetry.spec.js +1273 -1273
- 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 +123 -87
- package/dist/tokens/typography-base.css +163 -163
- package/dist/tokens/typography.d.ts +29 -29
- package/dist/tokens/typography.js +29 -29
- package/dist/tokens/utilities.css +418 -430
- package/dist/tokens/variants.d.ts +32 -32
- package/dist/tokens/variants.js +32 -32
- package/dist/utils/__tests__/auth.test.js +431 -431
- package/dist/utils/apiConfig.d.ts +29 -29
- package/dist/utils/apiConfig.js +142 -142
- package/dist/utils/auth.d.ts +46 -46
- package/dist/utils/auth.js +195 -195
- package/dist/utils/greetings.js +187 -187
- package/dist/utils/greetings.spec.js +337 -337
- package/dist/utils/haptic.spec.js +1 -1
- package/dist/utils/imageValidation.js +121 -121
- package/dist/utils/imageValidation.spec.js +223 -223
- package/dist/utils/portal.d.ts +11 -11
- package/dist/utils/portal.js +25 -25
- package/dist/utils/portal.spec.js +143 -143
- package/dist/utils/transitions.js +16 -16
- package/dist/utils/utils/utils.d.ts +2 -2
- package/dist/utils/utils/utils.js +3 -3
- package/dist/utils/utils/utils.spec.js +698 -698
- package/dist/utils/utils.d.ts +41 -41
- package/dist/utils/utils.js +59 -59
- package/dist/utils/utils.spec.js +643 -643
- package/package.json +306 -306
package/dist/utils/auth.js
CHANGED
|
@@ -1,195 +1,195 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Auth Utilities
|
|
3
|
-
*
|
|
4
|
-
* Centralized JWT token handling for Micdrop applications.
|
|
5
|
-
* Single source of truth for performer token extraction and decoding.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
import { jwtDecode } from 'jwt-decode';
|
|
9
|
-
import { getPerformerToken, getCookie, parseCookies } from './utils.js';
|
|
10
|
-
|
|
11
|
-
// Re-export base cookie utilities
|
|
12
|
-
export { getPerformerToken, getCookie, parseCookies };
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Get performer token from a cookie string (for server-side use).
|
|
16
|
-
* @param {string} [cookieString] - Cookie header string
|
|
17
|
-
* @returns {string|null} Token or null
|
|
18
|
-
*/
|
|
19
|
-
export function getTokenFromCookies(cookieString) {
|
|
20
|
-
if (!cookieString) return null;
|
|
21
|
-
|
|
22
|
-
const cookies = cookieString.split('; ').reduce((acc, cookie) => {
|
|
23
|
-
const [name, ...valueParts] = cookie.split('=');
|
|
24
|
-
if (name) {
|
|
25
|
-
acc[name] = valueParts.join('=');
|
|
26
|
-
}
|
|
27
|
-
return acc;
|
|
28
|
-
}, {});
|
|
29
|
-
|
|
30
|
-
return cookies['performer_token'] || null;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Decode a performer JWT token.
|
|
35
|
-
* @param {string|null} [token] - JWT token string
|
|
36
|
-
* @returns {Object|null} Decoded payload or null
|
|
37
|
-
*/
|
|
38
|
-
export function decodePerformerToken(token) {
|
|
39
|
-
if (!token) return null;
|
|
40
|
-
|
|
41
|
-
try {
|
|
42
|
-
return jwtDecode(token);
|
|
43
|
-
} catch (error) {
|
|
44
|
-
console.error('Failed to decode performer token:', error);
|
|
45
|
-
return null;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Get decoded token payload from cookies.
|
|
51
|
-
* @param {string} [cookieString] - Cookie string (for server-side)
|
|
52
|
-
* @returns {Object|null} Decoded payload or null
|
|
53
|
-
*/
|
|
54
|
-
export function getDecodedToken(cookieString) {
|
|
55
|
-
const token = cookieString
|
|
56
|
-
? getTokenFromCookies(cookieString)
|
|
57
|
-
: getPerformerToken();
|
|
58
|
-
return decodePerformerToken(token);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Extract performer ID from token.
|
|
63
|
-
* @param {string|null} [tokenOrCookies] - JWT token or cookie string
|
|
64
|
-
* @returns {number|null} Performer ID or null
|
|
65
|
-
*/
|
|
66
|
-
export function getPerformerId(tokenOrCookies) {
|
|
67
|
-
const decoded = typeof tokenOrCookies === 'string' && tokenOrCookies.includes('=')
|
|
68
|
-
? getDecodedToken(tokenOrCookies)
|
|
69
|
-
: decodePerformerToken(tokenOrCookies ?? getPerformerToken());
|
|
70
|
-
|
|
71
|
-
if (!decoded) return null;
|
|
72
|
-
|
|
73
|
-
const id = decoded.id ?? decoded.userId ?? decoded.user_id;
|
|
74
|
-
return typeof id === 'number' ? id : null;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
/**
|
|
78
|
-
* Extract performer email from token.
|
|
79
|
-
* @param {string|null} [tokenOrCookies] - JWT token or cookie string
|
|
80
|
-
* @returns {string} Email or empty string
|
|
81
|
-
*/
|
|
82
|
-
export function getPerformerEmail(tokenOrCookies) {
|
|
83
|
-
const decoded = typeof tokenOrCookies === 'string' && tokenOrCookies.includes('=')
|
|
84
|
-
? getDecodedToken(tokenOrCookies)
|
|
85
|
-
: decodePerformerToken(tokenOrCookies ?? getPerformerToken());
|
|
86
|
-
|
|
87
|
-
if (!decoded) return '';
|
|
88
|
-
|
|
89
|
-
const email = decoded.Email ?? decoded.email ?? '';
|
|
90
|
-
|
|
91
|
-
// Guard against literal "undefined" or "null" strings
|
|
92
|
-
if (email === 'undefined' || email === 'null') return '';
|
|
93
|
-
|
|
94
|
-
return email;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
/**
|
|
98
|
-
* Extract performer full name from token.
|
|
99
|
-
* @param {string|null} [tokenOrCookies] - JWT token or cookie string
|
|
100
|
-
* @returns {string} Full name or empty string
|
|
101
|
-
*/
|
|
102
|
-
export function getPerformerName(tokenOrCookies) {
|
|
103
|
-
const decoded = typeof tokenOrCookies === 'string' && tokenOrCookies.includes('=')
|
|
104
|
-
? getDecodedToken(tokenOrCookies)
|
|
105
|
-
: decodePerformerToken(tokenOrCookies ?? getPerformerToken());
|
|
106
|
-
|
|
107
|
-
if (!decoded) return '';
|
|
108
|
-
|
|
109
|
-
const name = decoded.FullName ?? decoded.fullName ?? decoded.full_name ?? '';
|
|
110
|
-
|
|
111
|
-
// Guard against literal "undefined" or "null" strings
|
|
112
|
-
if (name === 'undefined' || name === 'null') return '';
|
|
113
|
-
|
|
114
|
-
return name;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
/**
|
|
118
|
-
* Check if the current token is expired.
|
|
119
|
-
* @param {string|null} [tokenOrCookies] - JWT token or cookie string
|
|
120
|
-
* @returns {boolean} True if expired or no token
|
|
121
|
-
*/
|
|
122
|
-
export function isTokenExpired(tokenOrCookies) {
|
|
123
|
-
// If explicitly passed null/undefined, treat as expired (no token)
|
|
124
|
-
if (tokenOrCookies === null || tokenOrCookies === undefined) {
|
|
125
|
-
// Only fall back to browser cookie if called with no arguments
|
|
126
|
-
const token = arguments.length === 0 ? getPerformerToken() : null;
|
|
127
|
-
const decoded = decodePerformerToken(token);
|
|
128
|
-
if (!decoded?.exp) return true;
|
|
129
|
-
return decoded.exp * 1000 < Date.now();
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
const decoded = typeof tokenOrCookies === 'string' && tokenOrCookies.includes('=')
|
|
133
|
-
? getDecodedToken(tokenOrCookies)
|
|
134
|
-
: decodePerformerToken(tokenOrCookies);
|
|
135
|
-
|
|
136
|
-
if (!decoded?.exp) return true;
|
|
137
|
-
|
|
138
|
-
// exp is in seconds, Date.now() is in milliseconds
|
|
139
|
-
return decoded.exp * 1000 < Date.now();
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
/**
|
|
143
|
-
* Get user details from the userDetails cookie.
|
|
144
|
-
* @param {string} [cookieString] - Cookie string (for server-side)
|
|
145
|
-
* @returns {Object|null} User details or null
|
|
146
|
-
*/
|
|
147
|
-
export function getUserDetailsFromCookie(cookieString) {
|
|
148
|
-
let userDetailsCookie;
|
|
149
|
-
|
|
150
|
-
if (cookieString) {
|
|
151
|
-
const cookies = cookieString.split('; ').reduce((acc, cookie) => {
|
|
152
|
-
const [name, ...valueParts] = cookie.split('=');
|
|
153
|
-
if (name) acc[name] = valueParts.join('=');
|
|
154
|
-
return acc;
|
|
155
|
-
}, {});
|
|
156
|
-
userDetailsCookie = cookies['userDetails'];
|
|
157
|
-
} else {
|
|
158
|
-
userDetailsCookie = getCookie('userDetails');
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
if (!userDetailsCookie) return null;
|
|
162
|
-
|
|
163
|
-
try {
|
|
164
|
-
return JSON.parse(decodeURIComponent(userDetailsCookie));
|
|
165
|
-
} catch (error) {
|
|
166
|
-
console.error('Failed to parse userDetails cookie:', error);
|
|
167
|
-
return null;
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
/**
|
|
172
|
-
* Get performer name with fallback to userDetails cookie.
|
|
173
|
-
* @param {string} [cookieString] - Cookie string (for server-side)
|
|
174
|
-
* @returns {string} Name or empty string
|
|
175
|
-
*/
|
|
176
|
-
export function getPerformerNameWithFallback(cookieString) {
|
|
177
|
-
const name = getPerformerName(cookieString);
|
|
178
|
-
if (name) return name;
|
|
179
|
-
|
|
180
|
-
const userDetails = getUserDetailsFromCookie(cookieString);
|
|
181
|
-
return userDetails?.firstName ?? '';
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
/**
|
|
185
|
-
* Get performer email with fallback to userDetails cookie.
|
|
186
|
-
* @param {string} [cookieString] - Cookie string (for server-side)
|
|
187
|
-
* @returns {string} Email or empty string
|
|
188
|
-
*/
|
|
189
|
-
export function getPerformerEmailWithFallback(cookieString) {
|
|
190
|
-
const email = getPerformerEmail(cookieString);
|
|
191
|
-
if (email) return email;
|
|
192
|
-
|
|
193
|
-
const userDetails = getUserDetailsFromCookie(cookieString);
|
|
194
|
-
return userDetails?.email ?? '';
|
|
195
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Auth Utilities
|
|
3
|
+
*
|
|
4
|
+
* Centralized JWT token handling for Micdrop applications.
|
|
5
|
+
* Single source of truth for performer token extraction and decoding.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { jwtDecode } from 'jwt-decode';
|
|
9
|
+
import { getPerformerToken, getCookie, parseCookies } from './utils.js';
|
|
10
|
+
|
|
11
|
+
// Re-export base cookie utilities
|
|
12
|
+
export { getPerformerToken, getCookie, parseCookies };
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Get performer token from a cookie string (for server-side use).
|
|
16
|
+
* @param {string} [cookieString] - Cookie header string
|
|
17
|
+
* @returns {string|null} Token or null
|
|
18
|
+
*/
|
|
19
|
+
export function getTokenFromCookies(cookieString) {
|
|
20
|
+
if (!cookieString) return null;
|
|
21
|
+
|
|
22
|
+
const cookies = cookieString.split('; ').reduce((acc, cookie) => {
|
|
23
|
+
const [name, ...valueParts] = cookie.split('=');
|
|
24
|
+
if (name) {
|
|
25
|
+
acc[name] = valueParts.join('=');
|
|
26
|
+
}
|
|
27
|
+
return acc;
|
|
28
|
+
}, {});
|
|
29
|
+
|
|
30
|
+
return cookies['performer_token'] || null;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Decode a performer JWT token.
|
|
35
|
+
* @param {string|null} [token] - JWT token string
|
|
36
|
+
* @returns {Object|null} Decoded payload or null
|
|
37
|
+
*/
|
|
38
|
+
export function decodePerformerToken(token) {
|
|
39
|
+
if (!token) return null;
|
|
40
|
+
|
|
41
|
+
try {
|
|
42
|
+
return jwtDecode(token);
|
|
43
|
+
} catch (error) {
|
|
44
|
+
console.error('Failed to decode performer token:', error);
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Get decoded token payload from cookies.
|
|
51
|
+
* @param {string} [cookieString] - Cookie string (for server-side)
|
|
52
|
+
* @returns {Object|null} Decoded payload or null
|
|
53
|
+
*/
|
|
54
|
+
export function getDecodedToken(cookieString) {
|
|
55
|
+
const token = cookieString
|
|
56
|
+
? getTokenFromCookies(cookieString)
|
|
57
|
+
: getPerformerToken();
|
|
58
|
+
return decodePerformerToken(token);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Extract performer ID from token.
|
|
63
|
+
* @param {string|null} [tokenOrCookies] - JWT token or cookie string
|
|
64
|
+
* @returns {number|null} Performer ID or null
|
|
65
|
+
*/
|
|
66
|
+
export function getPerformerId(tokenOrCookies) {
|
|
67
|
+
const decoded = typeof tokenOrCookies === 'string' && tokenOrCookies.includes('=')
|
|
68
|
+
? getDecodedToken(tokenOrCookies)
|
|
69
|
+
: decodePerformerToken(tokenOrCookies ?? getPerformerToken());
|
|
70
|
+
|
|
71
|
+
if (!decoded) return null;
|
|
72
|
+
|
|
73
|
+
const id = decoded.id ?? decoded.userId ?? decoded.user_id;
|
|
74
|
+
return typeof id === 'number' ? id : null;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Extract performer email from token.
|
|
79
|
+
* @param {string|null} [tokenOrCookies] - JWT token or cookie string
|
|
80
|
+
* @returns {string} Email or empty string
|
|
81
|
+
*/
|
|
82
|
+
export function getPerformerEmail(tokenOrCookies) {
|
|
83
|
+
const decoded = typeof tokenOrCookies === 'string' && tokenOrCookies.includes('=')
|
|
84
|
+
? getDecodedToken(tokenOrCookies)
|
|
85
|
+
: decodePerformerToken(tokenOrCookies ?? getPerformerToken());
|
|
86
|
+
|
|
87
|
+
if (!decoded) return '';
|
|
88
|
+
|
|
89
|
+
const email = decoded.Email ?? decoded.email ?? '';
|
|
90
|
+
|
|
91
|
+
// Guard against literal "undefined" or "null" strings
|
|
92
|
+
if (email === 'undefined' || email === 'null') return '';
|
|
93
|
+
|
|
94
|
+
return email;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Extract performer full name from token.
|
|
99
|
+
* @param {string|null} [tokenOrCookies] - JWT token or cookie string
|
|
100
|
+
* @returns {string} Full name or empty string
|
|
101
|
+
*/
|
|
102
|
+
export function getPerformerName(tokenOrCookies) {
|
|
103
|
+
const decoded = typeof tokenOrCookies === 'string' && tokenOrCookies.includes('=')
|
|
104
|
+
? getDecodedToken(tokenOrCookies)
|
|
105
|
+
: decodePerformerToken(tokenOrCookies ?? getPerformerToken());
|
|
106
|
+
|
|
107
|
+
if (!decoded) return '';
|
|
108
|
+
|
|
109
|
+
const name = decoded.FullName ?? decoded.fullName ?? decoded.full_name ?? '';
|
|
110
|
+
|
|
111
|
+
// Guard against literal "undefined" or "null" strings
|
|
112
|
+
if (name === 'undefined' || name === 'null') return '';
|
|
113
|
+
|
|
114
|
+
return name;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* Check if the current token is expired.
|
|
119
|
+
* @param {string|null} [tokenOrCookies] - JWT token or cookie string
|
|
120
|
+
* @returns {boolean} True if expired or no token
|
|
121
|
+
*/
|
|
122
|
+
export function isTokenExpired(tokenOrCookies) {
|
|
123
|
+
// If explicitly passed null/undefined, treat as expired (no token)
|
|
124
|
+
if (tokenOrCookies === null || tokenOrCookies === undefined) {
|
|
125
|
+
// Only fall back to browser cookie if called with no arguments
|
|
126
|
+
const token = arguments.length === 0 ? getPerformerToken() : null;
|
|
127
|
+
const decoded = decodePerformerToken(token);
|
|
128
|
+
if (!decoded?.exp) return true;
|
|
129
|
+
return decoded.exp * 1000 < Date.now();
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
const decoded = typeof tokenOrCookies === 'string' && tokenOrCookies.includes('=')
|
|
133
|
+
? getDecodedToken(tokenOrCookies)
|
|
134
|
+
: decodePerformerToken(tokenOrCookies);
|
|
135
|
+
|
|
136
|
+
if (!decoded?.exp) return true;
|
|
137
|
+
|
|
138
|
+
// exp is in seconds, Date.now() is in milliseconds
|
|
139
|
+
return decoded.exp * 1000 < Date.now();
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* Get user details from the userDetails cookie.
|
|
144
|
+
* @param {string} [cookieString] - Cookie string (for server-side)
|
|
145
|
+
* @returns {Object|null} User details or null
|
|
146
|
+
*/
|
|
147
|
+
export function getUserDetailsFromCookie(cookieString) {
|
|
148
|
+
let userDetailsCookie;
|
|
149
|
+
|
|
150
|
+
if (cookieString) {
|
|
151
|
+
const cookies = cookieString.split('; ').reduce((acc, cookie) => {
|
|
152
|
+
const [name, ...valueParts] = cookie.split('=');
|
|
153
|
+
if (name) acc[name] = valueParts.join('=');
|
|
154
|
+
return acc;
|
|
155
|
+
}, {});
|
|
156
|
+
userDetailsCookie = cookies['userDetails'];
|
|
157
|
+
} else {
|
|
158
|
+
userDetailsCookie = getCookie('userDetails');
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
if (!userDetailsCookie) return null;
|
|
162
|
+
|
|
163
|
+
try {
|
|
164
|
+
return JSON.parse(decodeURIComponent(userDetailsCookie));
|
|
165
|
+
} catch (error) {
|
|
166
|
+
console.error('Failed to parse userDetails cookie:', error);
|
|
167
|
+
return null;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* Get performer name with fallback to userDetails cookie.
|
|
173
|
+
* @param {string} [cookieString] - Cookie string (for server-side)
|
|
174
|
+
* @returns {string} Name or empty string
|
|
175
|
+
*/
|
|
176
|
+
export function getPerformerNameWithFallback(cookieString) {
|
|
177
|
+
const name = getPerformerName(cookieString);
|
|
178
|
+
if (name) return name;
|
|
179
|
+
|
|
180
|
+
const userDetails = getUserDetailsFromCookie(cookieString);
|
|
181
|
+
return userDetails?.firstName ?? '';
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* Get performer email with fallback to userDetails cookie.
|
|
186
|
+
* @param {string} [cookieString] - Cookie string (for server-side)
|
|
187
|
+
* @returns {string} Email or empty string
|
|
188
|
+
*/
|
|
189
|
+
export function getPerformerEmailWithFallback(cookieString) {
|
|
190
|
+
const email = getPerformerEmail(cookieString);
|
|
191
|
+
if (email) return email;
|
|
192
|
+
|
|
193
|
+
const userDetails = getUserDetailsFromCookie(cookieString);
|
|
194
|
+
return userDetails?.email ?? '';
|
|
195
|
+
}
|