@getmicdrop/svelte-components 5.5.5 → 5.6.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.svelte +172 -172
- package/dist/calendar/Calendar/MiniMonthCalendar.svelte +782 -782
- package/dist/calendar/FAQs/FAQs.svelte +75 -75
- package/dist/calendar/MonthSwitcher/MonthSwitcher.svelte +126 -126
- package/dist/calendar/OrderSummary/OrderSummary.svelte +367 -367
- package/dist/calendar/PublicCard/PublicCard.svelte +134 -134
- package/dist/calendar/ShowCard/ShowCard.svelte +157 -157
- package/dist/calendar/ShowTimeCard/ShowTimeCard.svelte +61 -61
- package/dist/components/Layout/AppShell.svelte +104 -0
- package/dist/components/Layout/AppShell.svelte.d.ts +26 -0
- package/dist/components/Layout/AppShell.svelte.d.ts.map +1 -0
- package/dist/components/Layout/ContentSection.svelte +80 -0
- package/dist/components/Layout/ContentSection.svelte.d.ts +23 -0
- package/dist/components/Layout/ContentSection.svelte.d.ts.map +1 -0
- package/dist/components/Layout/Grid.svelte +4 -4
- package/dist/components/Layout/Heading.svelte +81 -0
- package/dist/components/Layout/Heading.svelte.d.ts +24 -0
- package/dist/components/Layout/Heading.svelte.d.ts.map +1 -0
- package/dist/components/Layout/PageContainer.svelte +69 -0
- package/dist/components/Layout/PageContainer.svelte.d.ts +23 -0
- package/dist/components/Layout/PageContainer.svelte.d.ts.map +1 -0
- package/dist/components/Layout/Responsive.svelte +75 -0
- package/dist/components/Layout/Responsive.svelte.d.ts +19 -0
- package/dist/components/Layout/Responsive.svelte.d.ts.map +1 -0
- package/dist/components/Layout/Section.svelte +80 -80
- package/dist/components/Layout/ShowOnDesktop.svelte +37 -0
- package/dist/components/Layout/ShowOnDesktop.svelte.d.ts +16 -0
- package/dist/components/Layout/ShowOnDesktop.svelte.d.ts.map +1 -0
- package/dist/components/Layout/ShowOnMobile.svelte +37 -0
- package/dist/components/Layout/ShowOnMobile.svelte.d.ts +16 -0
- package/dist/components/Layout/ShowOnMobile.svelte.d.ts.map +1 -0
- package/dist/components/Layout/Sidebar.svelte +108 -108
- package/dist/components/Layout/Stack.spec.js +1 -1
- package/dist/components/Layout/Stack.svelte +6 -6
- package/dist/components/Layout/Text.svelte +87 -0
- package/dist/components/Layout/Text.svelte.d.ts +28 -0
- package/dist/components/Layout/Text.svelte.d.ts.map +1 -0
- package/dist/components/Layout/TwoColumn.svelte +108 -0
- package/dist/components/Layout/TwoColumn.svelte.d.ts +28 -0
- package/dist/components/Layout/TwoColumn.svelte.d.ts.map +1 -0
- package/dist/components/Layout/__tests__/AppShell.test.d.ts +2 -0
- package/dist/components/Layout/__tests__/AppShell.test.d.ts.map +1 -0
- package/dist/components/Layout/__tests__/AppShell.test.js +95 -0
- package/dist/components/Layout/__tests__/ContentSection.test.d.ts +2 -0
- package/dist/components/Layout/__tests__/ContentSection.test.d.ts.map +1 -0
- package/dist/components/Layout/__tests__/ContentSection.test.js +112 -0
- package/dist/components/Layout/__tests__/Heading.test.d.ts +2 -0
- package/dist/components/Layout/__tests__/Heading.test.d.ts.map +1 -0
- package/dist/components/Layout/__tests__/Heading.test.js +123 -0
- package/dist/components/Layout/__tests__/PageContainer.test.d.ts +2 -0
- package/dist/components/Layout/__tests__/PageContainer.test.d.ts.map +1 -0
- package/dist/components/Layout/__tests__/PageContainer.test.js +133 -0
- package/dist/components/Layout/__tests__/Responsive.test.d.ts +2 -0
- package/dist/components/Layout/__tests__/Responsive.test.d.ts.map +1 -0
- package/dist/components/Layout/__tests__/Responsive.test.js +123 -0
- package/dist/components/Layout/__tests__/ShowOnDesktop.test.d.ts +2 -0
- package/dist/components/Layout/__tests__/ShowOnDesktop.test.d.ts.map +1 -0
- package/dist/components/Layout/__tests__/ShowOnDesktop.test.js +84 -0
- package/dist/components/Layout/__tests__/ShowOnMobile.test.d.ts +2 -0
- package/dist/components/Layout/__tests__/ShowOnMobile.test.d.ts.map +1 -0
- package/dist/components/Layout/__tests__/ShowOnMobile.test.js +80 -0
- package/dist/components/Layout/__tests__/Text.test.d.ts +2 -0
- package/dist/components/Layout/__tests__/Text.test.d.ts.map +1 -0
- package/dist/components/Layout/__tests__/Text.test.js +146 -0
- package/dist/components/Layout/__tests__/TwoColumn.test.d.ts +2 -0
- package/dist/components/Layout/__tests__/TwoColumn.test.d.ts.map +1 -0
- package/dist/components/Layout/__tests__/TwoColumn.test.js +129 -0
- package/dist/constants/validation.js +91 -91
- package/dist/constants/validation.spec.js +64 -64
- 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/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/patterns/data/DataGrid.svelte +45 -45
- package/dist/patterns/data/DataList.svelte +24 -24
- package/dist/patterns/data/DataTable.svelte +36 -36
- 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.svelte +32 -32
- package/dist/patterns/forms/FormValidationSummary.stories.svelte +83 -83
- package/dist/patterns/forms/FormValidationSummary.svelte +74 -74
- package/dist/patterns/layout/Sidebar.svelte +39 -39
- package/dist/patterns/layout/index.d.ts +9 -0
- package/dist/patterns/layout/index.js +22 -0
- package/dist/patterns/navigation/BottomNav.stories.svelte +117 -117
- package/dist/patterns/navigation/BottomNav.svelte +74 -64
- package/dist/patterns/navigation/BottomNav.svelte.d.ts.map +1 -1
- package/dist/patterns/navigation/Header.stories.svelte +77 -77
- package/dist/patterns/navigation/Header.svelte +193 -193
- package/dist/patterns/page/PageHeader.svelte +18 -18
- 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 +24 -24
- package/dist/patterns/page/SectionHeader.svelte +29 -29
- package/dist/presets/badges.js +112 -112
- package/dist/presets/buttons.js +76 -76
- package/dist/presets/index.js +9 -9
- package/dist/primitives/Accordion/Accordion.stories.svelte +75 -75
- package/dist/primitives/Accordion/Accordion.svelte +42 -42
- package/dist/primitives/Accordion/AccordionItem.svelte +95 -95
- package/dist/primitives/Accordion/AccordionItemWrapper.test.svelte +107 -107
- package/dist/primitives/Accordion/AccordionItemWrapper.test.svelte.d.ts +2 -2
- package/dist/primitives/Accordion/AccordionItemWrapper.test.svelte.d.ts.map +1 -1
- package/dist/primitives/Alert/Alert.spec.js +173 -173
- package/dist/primitives/Alert/Alert.stories.svelte +88 -88
- package/dist/primitives/Alert/Alert.svelte +27 -27
- package/dist/primitives/Avatar/Avatar.stories.svelte +94 -94
- package/dist/primitives/Avatar/Avatar.svelte +66 -66
- package/dist/primitives/Badges/Badge.spec.js +144 -144
- package/dist/primitives/Badges/Badge.stories.svelte +86 -86
- package/dist/primitives/Badges/Badge.svelte +79 -79
- package/dist/primitives/BottomSheet/BottomSheet.spec.js +136 -136
- package/dist/primitives/BottomSheet/BottomSheet.stories.svelte +83 -83
- package/dist/primitives/BottomSheet/BottomSheet.svelte +100 -100
- package/dist/primitives/Breadcrumb/Breadcrumb.spec.js +122 -122
- package/dist/primitives/Breadcrumb/Breadcrumb.stories.svelte +23 -23
- package/dist/primitives/Breadcrumb/Breadcrumb.svelte +89 -89
- package/dist/primitives/Button/Button.spec.js +223 -223
- package/dist/primitives/Button/Button.stories.svelte +76 -76
- package/dist/primitives/Button/Button.svelte +270 -270
- package/dist/primitives/Button/ButtonSaveDemo.spec.js +146 -146
- package/dist/primitives/Button/ButtonSaveDemo.svelte +25 -25
- 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/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 +136 -136
- package/dist/primitives/Drawer/Drawer.stories.svelte +80 -80
- package/dist/primitives/Drawer/Drawer.svelte +120 -120
- package/dist/primitives/Dropdown/Dropdown.stories.svelte +137 -137
- package/dist/primitives/Dropdown/Dropdown.svelte +14 -14
- package/dist/primitives/Dropdown/DropdownDivider.svelte +9 -0
- package/dist/primitives/Dropdown/DropdownDivider.svelte.d.ts +7 -0
- package/dist/primitives/Dropdown/DropdownDivider.svelte.d.ts.map +1 -0
- package/dist/primitives/Dropdown/DropdownItem.svelte +80 -80
- package/dist/primitives/Helper/Helper.svelte +33 -0
- package/dist/primitives/Helper/Helper.svelte.d.ts +18 -0
- package/dist/primitives/Helper/Helper.svelte.d.ts.map +1 -0
- package/dist/primitives/Icons/ArrowLeft.svelte +8 -8
- package/dist/primitives/Icons/ArrowRight.svelte +8 -8
- package/dist/primitives/Icons/Availability.svelte +14 -14
- package/dist/primitives/Icons/Back.svelte +14 -14
- package/dist/primitives/Icons/CheckCircle.svelte +6 -6
- package/dist/primitives/Icons/CheckCircleOutline.svelte +15 -15
- package/dist/primitives/Icons/ChevronLeft.svelte +4 -4
- package/dist/primitives/Icons/ChevronRight.svelte +4 -4
- package/dist/primitives/Icons/Copy.svelte +15 -15
- package/dist/primitives/Icons/Cross.svelte +5 -5
- package/dist/primitives/Icons/DownArrow.svelte +8 -8
- package/dist/primitives/Icons/ErrorCircle.svelte +6 -6
- package/dist/primitives/Icons/FacebookIcon.svelte +2 -2
- package/dist/primitives/Icons/Home.svelte +15 -15
- package/dist/primitives/Icons/Icon.spec.js +169 -169
- package/dist/primitives/Icons/Icon.stories.svelte +100 -100
- package/dist/primitives/Icons/Icon.svelte +52 -52
- package/dist/primitives/Icons/IconGallery.stories.svelte +235 -235
- package/dist/primitives/Icons/Info.svelte +7 -7
- package/dist/primitives/Icons/InstagramIcon.svelte +4 -4
- package/dist/primitives/Icons/LogoInstagram.svelte +2 -2
- package/dist/primitives/Icons/Message.svelte +15 -15
- package/dist/primitives/Icons/MoonIcon.svelte +5 -5
- package/dist/primitives/Icons/More.svelte +21 -21
- package/dist/primitives/Icons/MoreHori.spec.js +61 -61
- package/dist/primitives/Icons/MoreHori.svelte +22 -22
- package/dist/primitives/Icons/Notification.svelte +14 -14
- package/dist/primitives/Icons/Payment.svelte +14 -14
- package/dist/primitives/Icons/Profile.svelte +21 -21
- package/dist/primitives/Icons/Reload.svelte +29 -29
- package/dist/primitives/Icons/Shows.svelte +21 -21
- package/dist/primitives/Icons/Signout.svelte +21 -21
- package/dist/primitives/Icons/SunIcon.svelte +8 -8
- package/dist/primitives/Icons/TiktokIcon.svelte +2 -2
- package/dist/primitives/Icons/TwitterIcon.svelte +2 -2
- package/dist/primitives/Icons/WarningIcon.spec.js +18 -18
- package/dist/primitives/Icons/WarningIcon.svelte +5 -5
- package/dist/primitives/Input/Input.spec.js +573 -573
- package/dist/primitives/Input/Input.stories.svelte +139 -139
- package/dist/primitives/Input/Input.svelte +1 -2
- package/dist/primitives/Input/Input.svelte.d.ts +2 -4
- package/dist/primitives/Input/Input.svelte.d.ts.map +1 -1
- package/dist/primitives/Input/Select.spec.js +212 -212
- package/dist/primitives/Input/Select.stories.svelte +112 -112
- package/dist/primitives/Input/Select.svelte +128 -128
- package/dist/primitives/Input/Textarea.stories.svelte +137 -137
- package/dist/primitives/Input/Textarea.svelte +35 -35
- package/dist/primitives/Label/Label.svelte +37 -37
- package/dist/primitives/Modal/Modal.spec.js +99 -99
- package/dist/primitives/Modal/Modal.stories.svelte +86 -86
- package/dist/primitives/Modal/Modal.svelte +3 -4
- package/dist/primitives/Modal/Modal.svelte.d.ts +6 -8
- package/dist/primitives/Modal/Modal.svelte.d.ts.map +1 -1
- package/dist/primitives/NumberInput/NumberInput.svelte +0 -1
- package/dist/primitives/NumberInput/NumberInput.svelte.d.ts +0 -2
- package/dist/primitives/NumberInput/NumberInput.svelte.d.ts.map +1 -1
- package/dist/primitives/Pagination/Pagination.stories.svelte +76 -76
- package/dist/primitives/Pagination/Pagination.svelte +261 -261
- package/dist/primitives/Radio/Radio.stories.svelte +80 -80
- package/dist/primitives/Radio/Radio.svelte +67 -67
- package/dist/primitives/Skeleton/CardPlaceholder.svelte +87 -87
- package/dist/primitives/Skeleton/ImagePlaceholder.svelte +59 -59
- package/dist/primitives/Skeleton/ListPlaceholder.svelte +76 -76
- package/dist/primitives/Skeleton/Skeleton.stories.svelte +151 -151
- package/dist/primitives/Skeleton/Skeleton.svelte +26 -26
- package/dist/primitives/Spinner/Spinner.spec.js +71 -71
- package/dist/primitives/Spinner/Spinner.stories.svelte +29 -29
- package/dist/primitives/Spinner/Spinner.svelte +20 -20
- package/dist/primitives/Tabs/TabItem.svelte +49 -49
- package/dist/primitives/Tabs/Tabs.stories.svelte +112 -112
- package/dist/primitives/Tabs/Tabs.svelte +123 -123
- package/dist/primitives/Toggle.spec.js +143 -143
- package/dist/primitives/Toggle.stories.svelte +92 -92
- package/dist/primitives/Toggle.svelte +1 -2
- package/dist/primitives/Toggle.svelte.d.ts +2 -4
- package/dist/primitives/Toggle.svelte.d.ts.map +1 -1
- package/dist/primitives/Tooltip/Tooltip.svelte +83 -0
- package/dist/primitives/Tooltip/Tooltip.svelte.d.ts +15 -0
- package/dist/primitives/Tooltip/Tooltip.svelte.d.ts.map +1 -0
- package/dist/primitives/Typography/Typography.svelte +53 -53
- package/dist/primitives/ValidationError.spec.js +103 -103
- package/dist/primitives/ValidationError.stories.svelte +69 -69
- package/dist/primitives/ValidationError.svelte +29 -29
- package/dist/primitives/index.d.ts +3 -0
- package/dist/primitives/index.js +91 -84
- package/dist/recipes/CropImage/CropImage.spec.js +208 -208
- package/dist/recipes/CropImage/CropImage.stories.svelte +104 -104
- package/dist/recipes/CropImage/CropImage.svelte +238 -238
- package/dist/recipes/ImageUploader/ImageUploader.spec.js +6 -5
- package/dist/recipes/ImageUploader/ImageUploader.stories.svelte +125 -125
- package/dist/recipes/ImageUploader/ImageUploader.svelte +804 -804
- package/dist/recipes/SuperLogin/SuperLogin.spec.js +17 -17
- package/dist/recipes/Toaster/Toaster.stories.svelte +62 -62
- package/dist/recipes/feedback/EmptyState/EmptyState.svelte +1 -1
- package/dist/recipes/feedback/ErrorDisplay.spec.js +69 -69
- package/dist/recipes/feedback/ErrorDisplay.stories.svelte +101 -101
- package/dist/recipes/feedback/ErrorDisplay.svelte +1 -1
- package/dist/recipes/feedback/StatusIndicator/StatusIndicator.spec.js +133 -133
- package/dist/recipes/feedback/StatusIndicator/StatusIndicator.svelte +157 -157
- package/dist/recipes/fields/CheckboxField.svelte +85 -85
- package/dist/recipes/fields/FormField.svelte +58 -58
- package/dist/recipes/fields/RadioGroup.svelte +95 -95
- package/dist/recipes/fields/SelectField.svelte +80 -80
- package/dist/recipes/fields/TextareaField.svelte +97 -97
- package/dist/recipes/fields/ToggleField.svelte +60 -60
- package/dist/recipes/fields/index.js +7 -7
- package/dist/recipes/inputs/MultiSelect.spec.js +258 -258
- package/dist/recipes/inputs/MultiSelect.stories.svelte +133 -133
- package/dist/recipes/inputs/MultiSelect.svelte +29 -8
- package/dist/recipes/inputs/MultiSelect.svelte.d.ts +54 -21
- package/dist/recipes/inputs/MultiSelect.svelte.d.ts.map +1 -1
- package/dist/recipes/inputs/OTPInput.spec.js +251 -251
- package/dist/recipes/inputs/OTPInput.stories.svelte +162 -162
- package/dist/recipes/inputs/OTPInput.svelte +29 -29
- package/dist/recipes/inputs/PasswordInput.svelte +22 -22
- package/dist/recipes/inputs/PasswordStrengthIndicator/PasswordStrengthIndicator.svelte +117 -117
- package/dist/recipes/inputs/PlaceAutocomplete/PlaceAutocomplete.spec.js +9 -4
- package/dist/recipes/inputs/PlaceAutocomplete/PlaceAutocomplete.stories.svelte +123 -123
- package/dist/recipes/inputs/PlaceAutocomplete/PlaceAutocomplete.svelte +30 -25
- package/dist/recipes/inputs/PlaceAutocomplete/PlaceAutocomplete.svelte.d.ts +12 -1
- package/dist/recipes/inputs/PlaceAutocomplete/PlaceAutocomplete.svelte.d.ts.map +1 -1
- package/dist/recipes/inputs/Search.svelte +37 -37
- package/dist/recipes/inputs/SelectDropdown.svelte +57 -57
- package/dist/recipes/modals/AlertModal.svelte +130 -130
- package/dist/recipes/modals/ConfirmationModal.spec.js +206 -206
- package/dist/recipes/modals/ConfirmationModal.stories.svelte +119 -119
- package/dist/recipes/modals/ConfirmationModal.svelte +152 -152
- package/dist/recipes/modals/InputModal.svelte +182 -182
- 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.svelte +206 -206
- package/dist/services/EventService.js +75 -75
- package/dist/services/EventService.spec.js +217 -217
- package/dist/services/ShowService.spec.js +345 -345
- package/dist/stores/auth.js +44 -36
- package/dist/stores/auth.spec.js +139 -139
- package/dist/stores/auth.svelte.d.ts +39 -0
- package/dist/stores/auth.svelte.d.ts.map +1 -0
- package/dist/stores/auth.svelte.js +60 -0
- package/dist/stores/formDataStore.d.ts.map +1 -1
- package/dist/stores/formDataStore.js +8 -0
- package/dist/stores/formDataStore.svelte.d.ts +47 -0
- package/dist/stores/formDataStore.svelte.d.ts.map +1 -0
- package/dist/stores/formDataStore.svelte.js +84 -0
- package/dist/stores/formSave.d.ts.map +1 -1
- package/dist/stores/formSave.js +8 -0
- package/dist/stores/formSave.svelte.d.ts +33 -0
- package/dist/stores/formSave.svelte.d.ts.map +1 -0
- package/dist/stores/formSave.svelte.js +113 -0
- package/dist/stores/navigation.d.ts.map +1 -1
- package/dist/stores/navigation.js +8 -0
- package/dist/stores/navigation.svelte.d.ts +35 -0
- package/dist/stores/navigation.svelte.d.ts.map +1 -0
- package/dist/stores/navigation.svelte.js +69 -0
- package/dist/stores/toaster.js +13 -13
- package/dist/stories/ButtonAuditReview.stories.svelte +14 -14
- package/dist/stories/ButtonAuditReview.svelte +427 -427
- package/dist/stories/PatternsGallery.stories.svelte +19 -19
- package/dist/stories/PatternsGallery.svelte +206 -206
- package/dist/stories/PrimitivesGallery.stories.svelte +19 -19
- package/dist/stories/PrimitivesGallery.svelte +725 -725
- package/dist/stories/RecipesGallery.stories.svelte +19 -19
- package/dist/stories/RecipesGallery.svelte +271 -271
- package/dist/stories/button-audit-manifest.json +11186 -11186
- package/dist/tailwind/preset.cjs +82 -82
- package/dist/telemetry.js +405 -405
- package/dist/telemetry.server.spec.js +11 -8
- package/dist/telemetry.spec.js +1169 -1144
- package/dist/tokens/__tests__/typography-base.test.d.ts +2 -0
- package/dist/tokens/__tests__/typography-base.test.d.ts.map +1 -0
- package/dist/tokens/__tests__/typography-base.test.js +138 -0
- package/dist/tokens/tokens.css +87 -87
- package/dist/tokens/typography-base.css +163 -0
- package/dist/utils/apiConfig.spec.js +219 -219
- package/dist/utils/imageValidation.spec.js +62 -59
- package/dist/utils/logger.d.ts +19 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +47 -0
- package/dist/utils/transitions.js +62 -62
- package/dist/utils/utils.js +354 -354
- package/package.json +21 -16
|
@@ -1,137 +1,137 @@
|
|
|
1
|
-
<script module>
|
|
2
|
-
import { defineMeta } from "@storybook/addon-svelte-csf";
|
|
3
|
-
|
|
4
|
-
import PageLoader from './PageLoader.svelte';
|
|
5
|
-
|
|
6
|
-
const { Story } = defineMeta({
|
|
7
|
-
title: 'Components/PageLoader',
|
|
8
|
-
component: PageLoader,
|
|
9
|
-
tags: ['autodocs'],
|
|
10
|
-
argTypes: {
|
|
11
|
-
isLoading: { control: 'boolean' },
|
|
12
|
-
error: { control: 'text' },
|
|
13
|
-
loadingMessage: { control: 'text' },
|
|
14
|
-
errorTitle: { control: 'text' },
|
|
15
|
-
showRetry: { control: 'boolean' },
|
|
16
|
-
},
|
|
17
|
-
});
|
|
18
|
-
</script>
|
|
19
|
-
|
|
20
|
-
<script>
|
|
21
|
-
let loading = $state(true);
|
|
22
|
-
let hasError = $state(false);
|
|
23
|
-
|
|
24
|
-
function simulateLoading() {
|
|
25
|
-
loading = true;
|
|
26
|
-
hasError = false;
|
|
27
|
-
setTimeout(() => {
|
|
28
|
-
loading = false;
|
|
29
|
-
}, 2000);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
function simulateError() {
|
|
33
|
-
loading = true;
|
|
34
|
-
hasError = false;
|
|
35
|
-
setTimeout(() => {
|
|
36
|
-
loading = false;
|
|
37
|
-
hasError = true;
|
|
38
|
-
}, 1000);
|
|
39
|
-
}
|
|
40
|
-
</script>
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
<Story
|
|
44
|
-
name="Loading State"
|
|
45
|
-
args={{
|
|
46
|
-
isLoading: true,
|
|
47
|
-
error: null,
|
|
48
|
-
}}
|
|
49
|
-
/>
|
|
50
|
-
|
|
51
|
-
<Story
|
|
52
|
-
name="Loading with Message"
|
|
53
|
-
args={{
|
|
54
|
-
isLoading: true,
|
|
55
|
-
error: null,
|
|
56
|
-
loadingMessage: 'Fetching your data...',
|
|
57
|
-
}}
|
|
58
|
-
/>
|
|
59
|
-
|
|
60
|
-
<Story
|
|
61
|
-
name="Error State"
|
|
62
|
-
args={{
|
|
63
|
-
isLoading: false,
|
|
64
|
-
error: 'Failed to load data. Please try again.',
|
|
65
|
-
errorTitle: 'Loading Failed',
|
|
66
|
-
}}
|
|
67
|
-
/>
|
|
68
|
-
|
|
69
|
-
<Story
|
|
70
|
-
name="Error with Retry"
|
|
71
|
-
args={{
|
|
72
|
-
isLoading: false,
|
|
73
|
-
error: 'Network connection failed',
|
|
74
|
-
errorTitle: 'Connection Error',
|
|
75
|
-
showRetry: true,
|
|
76
|
-
onRetry: () => alert('Retrying...'),
|
|
77
|
-
}}
|
|
78
|
-
/>
|
|
79
|
-
|
|
80
|
-
<Story
|
|
81
|
-
name="Content Loaded"
|
|
82
|
-
args={{
|
|
83
|
-
isLoading: false,
|
|
84
|
-
error: null,
|
|
85
|
-
}}
|
|
86
|
-
/>
|
|
87
|
-
|
|
88
|
-
<Story name="Interactive Loading">
|
|
89
|
-
<div class="space-y-4">
|
|
90
|
-
<div class="flex gap-2">
|
|
91
|
-
<button
|
|
92
|
-
class="px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600"
|
|
93
|
-
onclick={simulateLoading}
|
|
94
|
-
>
|
|
95
|
-
Simulate Loading
|
|
96
|
-
</button>
|
|
97
|
-
<button
|
|
98
|
-
class="px-4 py-2 bg-red-500 text-white rounded hover:bg-red-600"
|
|
99
|
-
onclick={simulateError}
|
|
100
|
-
>
|
|
101
|
-
Simulate Error
|
|
102
|
-
</button>
|
|
103
|
-
</div>
|
|
104
|
-
|
|
105
|
-
<PageLoader
|
|
106
|
-
isLoading={loading}
|
|
107
|
-
error={hasError ? 'Failed to load content' : null}
|
|
108
|
-
loadingMessage="Please wait..."
|
|
109
|
-
showRetry={true}
|
|
110
|
-
onRetry={simulateLoading}
|
|
111
|
-
>
|
|
112
|
-
<div class="p-8 bg-green-50 rounded-lg">
|
|
113
|
-
<h3 class="text-xl font-bold text-green-800">Success!</h3>
|
|
114
|
-
<p class="text-green-600 mt-2">Your content has loaded successfully.</p>
|
|
115
|
-
</div>
|
|
116
|
-
</PageLoader>
|
|
117
|
-
</div>
|
|
118
|
-
</Story>
|
|
119
|
-
|
|
120
|
-
<Story name="Different Heights">
|
|
121
|
-
<div class="space-y-8">
|
|
122
|
-
<div class="border rounded p-4">
|
|
123
|
-
<h4 class="font-semibold mb-2">Small (h-32)</h4>
|
|
124
|
-
<PageLoader isLoading={true} minHeight="h-32" />
|
|
125
|
-
</div>
|
|
126
|
-
|
|
127
|
-
<div class="border rounded p-4">
|
|
128
|
-
<h4 class="font-semibold mb-2">Medium (h-64 - default)</h4>
|
|
129
|
-
<PageLoader isLoading={true} />
|
|
130
|
-
</div>
|
|
131
|
-
|
|
132
|
-
<div class="border rounded p-4">
|
|
133
|
-
<h4 class="font-semibold mb-2">Large (h-96)</h4>
|
|
134
|
-
<PageLoader isLoading={true} minHeight="h-96" />
|
|
135
|
-
</div>
|
|
136
|
-
</div>
|
|
137
|
-
</Story>
|
|
1
|
+
<script module>
|
|
2
|
+
import { defineMeta } from "@storybook/addon-svelte-csf";
|
|
3
|
+
|
|
4
|
+
import PageLoader from './PageLoader.svelte';
|
|
5
|
+
|
|
6
|
+
const { Story } = defineMeta({
|
|
7
|
+
title: 'Components/PageLoader',
|
|
8
|
+
component: PageLoader,
|
|
9
|
+
tags: ['autodocs'],
|
|
10
|
+
argTypes: {
|
|
11
|
+
isLoading: { control: 'boolean' },
|
|
12
|
+
error: { control: 'text' },
|
|
13
|
+
loadingMessage: { control: 'text' },
|
|
14
|
+
errorTitle: { control: 'text' },
|
|
15
|
+
showRetry: { control: 'boolean' },
|
|
16
|
+
},
|
|
17
|
+
});
|
|
18
|
+
</script>
|
|
19
|
+
|
|
20
|
+
<script>
|
|
21
|
+
let loading = $state(true);
|
|
22
|
+
let hasError = $state(false);
|
|
23
|
+
|
|
24
|
+
function simulateLoading() {
|
|
25
|
+
loading = true;
|
|
26
|
+
hasError = false;
|
|
27
|
+
setTimeout(() => {
|
|
28
|
+
loading = false;
|
|
29
|
+
}, 2000);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
function simulateError() {
|
|
33
|
+
loading = true;
|
|
34
|
+
hasError = false;
|
|
35
|
+
setTimeout(() => {
|
|
36
|
+
loading = false;
|
|
37
|
+
hasError = true;
|
|
38
|
+
}, 1000);
|
|
39
|
+
}
|
|
40
|
+
</script>
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
<Story
|
|
44
|
+
name="Loading State"
|
|
45
|
+
args={{
|
|
46
|
+
isLoading: true,
|
|
47
|
+
error: null,
|
|
48
|
+
}}
|
|
49
|
+
/>
|
|
50
|
+
|
|
51
|
+
<Story
|
|
52
|
+
name="Loading with Message"
|
|
53
|
+
args={{
|
|
54
|
+
isLoading: true,
|
|
55
|
+
error: null,
|
|
56
|
+
loadingMessage: 'Fetching your data...',
|
|
57
|
+
}}
|
|
58
|
+
/>
|
|
59
|
+
|
|
60
|
+
<Story
|
|
61
|
+
name="Error State"
|
|
62
|
+
args={{
|
|
63
|
+
isLoading: false,
|
|
64
|
+
error: 'Failed to load data. Please try again.',
|
|
65
|
+
errorTitle: 'Loading Failed',
|
|
66
|
+
}}
|
|
67
|
+
/>
|
|
68
|
+
|
|
69
|
+
<Story
|
|
70
|
+
name="Error with Retry"
|
|
71
|
+
args={{
|
|
72
|
+
isLoading: false,
|
|
73
|
+
error: 'Network connection failed',
|
|
74
|
+
errorTitle: 'Connection Error',
|
|
75
|
+
showRetry: true,
|
|
76
|
+
onRetry: () => alert('Retrying...'),
|
|
77
|
+
}}
|
|
78
|
+
/>
|
|
79
|
+
|
|
80
|
+
<Story
|
|
81
|
+
name="Content Loaded"
|
|
82
|
+
args={{
|
|
83
|
+
isLoading: false,
|
|
84
|
+
error: null,
|
|
85
|
+
}}
|
|
86
|
+
/>
|
|
87
|
+
|
|
88
|
+
<Story name="Interactive Loading">
|
|
89
|
+
<div class="space-y-4">
|
|
90
|
+
<div class="flex gap-2">
|
|
91
|
+
<button
|
|
92
|
+
class="px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600"
|
|
93
|
+
onclick={simulateLoading}
|
|
94
|
+
>
|
|
95
|
+
Simulate Loading
|
|
96
|
+
</button>
|
|
97
|
+
<button
|
|
98
|
+
class="px-4 py-2 bg-red-500 text-white rounded hover:bg-red-600"
|
|
99
|
+
onclick={simulateError}
|
|
100
|
+
>
|
|
101
|
+
Simulate Error
|
|
102
|
+
</button>
|
|
103
|
+
</div>
|
|
104
|
+
|
|
105
|
+
<PageLoader
|
|
106
|
+
isLoading={loading}
|
|
107
|
+
error={hasError ? 'Failed to load content' : null}
|
|
108
|
+
loadingMessage="Please wait..."
|
|
109
|
+
showRetry={true}
|
|
110
|
+
onRetry={simulateLoading}
|
|
111
|
+
>
|
|
112
|
+
<div class="p-8 bg-green-50 rounded-lg">
|
|
113
|
+
<h3 class="text-xl font-bold text-green-800">Success!</h3>
|
|
114
|
+
<p class="text-green-600 mt-2">Your content has loaded successfully.</p>
|
|
115
|
+
</div>
|
|
116
|
+
</PageLoader>
|
|
117
|
+
</div>
|
|
118
|
+
</Story>
|
|
119
|
+
|
|
120
|
+
<Story name="Different Heights">
|
|
121
|
+
<div class="space-y-8">
|
|
122
|
+
<div class="border rounded p-4">
|
|
123
|
+
<h4 class="font-semibold mb-2">Small (h-32)</h4>
|
|
124
|
+
<PageLoader isLoading={true} minHeight="h-32" />
|
|
125
|
+
</div>
|
|
126
|
+
|
|
127
|
+
<div class="border rounded p-4">
|
|
128
|
+
<h4 class="font-semibold mb-2">Medium (h-64 - default)</h4>
|
|
129
|
+
<PageLoader isLoading={true} />
|
|
130
|
+
</div>
|
|
131
|
+
|
|
132
|
+
<div class="border rounded p-4">
|
|
133
|
+
<h4 class="font-semibold mb-2">Large (h-96)</h4>
|
|
134
|
+
<PageLoader isLoading={true} minHeight="h-96" />
|
|
135
|
+
</div>
|
|
136
|
+
</div>
|
|
137
|
+
</Story>
|
|
@@ -27,27 +27,27 @@
|
|
|
27
27
|
children,
|
|
28
28
|
}: Props = $props();
|
|
29
29
|
</script>
|
|
30
|
-
|
|
31
|
-
{#if isLoading}
|
|
32
|
-
<div class="flex items-center justify-center {minHeight}">
|
|
33
|
-
<div class="text-center">
|
|
34
|
-
<Spinner />
|
|
35
|
-
{#if loadingMessage}
|
|
36
|
-
<p class={`mt-4 ${typography.textMuted}`}>{loadingMessage}</p>
|
|
37
|
-
{/if}
|
|
38
|
-
</div>
|
|
39
|
-
</div>
|
|
40
|
-
{:else if error}
|
|
41
|
-
<div class="p-4">
|
|
42
|
-
<Alert type="danger" title={errorTitle} message={error} />
|
|
43
|
-
{#if showRetry}
|
|
44
|
-
<div class="mt-4 text-center">
|
|
45
|
-
<Button variant="link" onclick={onRetry}>
|
|
46
|
-
Try again
|
|
47
|
-
</Button>
|
|
48
|
-
</div>
|
|
49
|
-
{/if}
|
|
50
|
-
</div>
|
|
51
|
-
{:else}
|
|
52
|
-
{@render children?.()}
|
|
53
|
-
{/if}
|
|
30
|
+
|
|
31
|
+
{#if isLoading}
|
|
32
|
+
<div class="flex items-center justify-center {minHeight}">
|
|
33
|
+
<div class="text-center">
|
|
34
|
+
<Spinner />
|
|
35
|
+
{#if loadingMessage}
|
|
36
|
+
<p class={`mt-4 ${typography.textMuted}`}>{loadingMessage}</p>
|
|
37
|
+
{/if}
|
|
38
|
+
</div>
|
|
39
|
+
</div>
|
|
40
|
+
{:else if error}
|
|
41
|
+
<div class="p-4">
|
|
42
|
+
<Alert type="danger" title={errorTitle} message={error} />
|
|
43
|
+
{#if showRetry}
|
|
44
|
+
<div class="mt-4 text-center">
|
|
45
|
+
<Button variant="link" onclick={onRetry}>
|
|
46
|
+
Try again
|
|
47
|
+
</Button>
|
|
48
|
+
</div>
|
|
49
|
+
{/if}
|
|
50
|
+
</div>
|
|
51
|
+
{:else}
|
|
52
|
+
{@render children?.()}
|
|
53
|
+
{/if}
|
|
@@ -20,32 +20,32 @@
|
|
|
20
20
|
actions,
|
|
21
21
|
}: Props = $props();
|
|
22
22
|
</script>
|
|
23
|
-
|
|
24
|
-
<div class={className}>
|
|
25
|
-
{#if divider}
|
|
26
|
-
<hr class="border-gray-200 dark:border-gray-700 mb-4" />
|
|
27
|
-
{/if}
|
|
28
|
-
|
|
29
|
-
<div class="flex items-center justify-between gap-4">
|
|
30
|
-
<div class="flex items-center gap-2">
|
|
31
|
-
{#if title}
|
|
32
|
-
<h2 class={typography.h3}>{title}</h2>
|
|
33
|
-
{/if}
|
|
34
|
-
{#if count !== null}
|
|
35
|
-
<span class={`inline-flex items-center justify-center px-2 py-0.5 ${typography.xsMuted} bg-gray-100 dark:bg-gray-700 rounded-full`}>
|
|
36
|
-
{count}
|
|
37
|
-
</span>
|
|
38
|
-
{/if}
|
|
39
|
-
</div>
|
|
40
|
-
|
|
41
|
-
{#if actions}
|
|
42
|
-
<div class="flex items-center gap-2">
|
|
43
|
-
{@render actions()}
|
|
44
|
-
</div>
|
|
45
|
-
{/if}
|
|
46
|
-
</div>
|
|
47
|
-
|
|
48
|
-
{#if description}
|
|
49
|
-
<p class={`mt-1 ${typography.smMuted}`}>{description}</p>
|
|
50
|
-
{/if}
|
|
51
|
-
</div>
|
|
23
|
+
|
|
24
|
+
<div class={className}>
|
|
25
|
+
{#if divider}
|
|
26
|
+
<hr class="border-gray-200 dark:border-gray-700 mb-4" />
|
|
27
|
+
{/if}
|
|
28
|
+
|
|
29
|
+
<div class="flex items-center justify-between gap-4">
|
|
30
|
+
<div class="flex items-center gap-2">
|
|
31
|
+
{#if title}
|
|
32
|
+
<h2 class={typography.h3}>{title}</h2>
|
|
33
|
+
{/if}
|
|
34
|
+
{#if count !== null}
|
|
35
|
+
<span class={`inline-flex items-center justify-center px-2 py-0.5 ${typography.xsMuted} bg-gray-100 dark:bg-gray-700 rounded-full`}>
|
|
36
|
+
{count}
|
|
37
|
+
</span>
|
|
38
|
+
{/if}
|
|
39
|
+
</div>
|
|
40
|
+
|
|
41
|
+
{#if actions}
|
|
42
|
+
<div class="flex items-center gap-2">
|
|
43
|
+
{@render actions()}
|
|
44
|
+
</div>
|
|
45
|
+
{/if}
|
|
46
|
+
</div>
|
|
47
|
+
|
|
48
|
+
{#if description}
|
|
49
|
+
<p class={`mt-1 ${typography.smMuted}`}>{description}</p>
|
|
50
|
+
{/if}
|
|
51
|
+
</div>
|
package/dist/presets/badges.js
CHANGED
|
@@ -1,112 +1,112 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Badge Presets - Domain-to-Color Mappings
|
|
3
|
-
*
|
|
4
|
-
* These presets provide a migration path for apps that were using
|
|
5
|
-
* domain-specific badge variants (host, headliner, etc.).
|
|
6
|
-
*
|
|
7
|
-
* Usage:
|
|
8
|
-
* import { ROLE_BADGE_VARIANTS, ENTITY_BADGE_VARIANTS } from '@getmicdrop/svelte-components/presets/badges';
|
|
9
|
-
* <Badge variant={ROLE_BADGE_VARIANTS[role]}>{role}</Badge>
|
|
10
|
-
*
|
|
11
|
-
* Note: For app-specific customization, apps should define their own
|
|
12
|
-
* mappings in their constants files (e.g., $lib/constants/position.ts).
|
|
13
|
-
*/
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Role/Position badge color mappings
|
|
17
|
-
* Maps performer roles to Flowbite color variants
|
|
18
|
-
*/
|
|
19
|
-
export const ROLE_BADGE_VARIANTS = {
|
|
20
|
-
Host: 'red',
|
|
21
|
-
Headliner: 'purple',
|
|
22
|
-
Feature: 'blue',
|
|
23
|
-
'Special Guest': 'green',
|
|
24
|
-
Opener: 'orange',
|
|
25
|
-
Guest: 'gray',
|
|
26
|
-
Teacher: 'yellow',
|
|
27
|
-
Assistant: 'indigo',
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Entity type badge color mappings
|
|
32
|
-
* Maps entity types to Flowbite color variants
|
|
33
|
-
*/
|
|
34
|
-
export const ENTITY_BADGE_VARIANTS = {
|
|
35
|
-
event: 'blue',
|
|
36
|
-
venue: 'green',
|
|
37
|
-
user: 'purple',
|
|
38
|
-
order: 'orange',
|
|
39
|
-
performer: 'pink',
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Status badge semantic mappings
|
|
44
|
-
* Maps status strings to semantic variants
|
|
45
|
-
*/
|
|
46
|
-
export const STATUS_BADGE_VARIANTS = {
|
|
47
|
-
// Success states
|
|
48
|
-
Completed: 'success',
|
|
49
|
-
Active: 'success',
|
|
50
|
-
Confirmed: 'success',
|
|
51
|
-
'On Sale': 'success',
|
|
52
|
-
Live: 'success',
|
|
53
|
-
Enabled: 'success',
|
|
54
|
-
Yes: 'success',
|
|
55
|
-
Redeemed: 'success',
|
|
56
|
-
Online: 'success',
|
|
57
|
-
|
|
58
|
-
// Warning states
|
|
59
|
-
Pending: 'warning',
|
|
60
|
-
Scheduled: 'warning',
|
|
61
|
-
Paused: 'warning',
|
|
62
|
-
Ended: 'warning',
|
|
63
|
-
Refunded: 'warning',
|
|
64
|
-
'Partially refunded': 'warning',
|
|
65
|
-
Pinned: 'warning',
|
|
66
|
-
'Usage Limit Reached': 'warning',
|
|
67
|
-
|
|
68
|
-
// Error states
|
|
69
|
-
Cancelled: 'error',
|
|
70
|
-
Canceled: 'error',
|
|
71
|
-
Declined: 'error',
|
|
72
|
-
'No show': 'error',
|
|
73
|
-
Expired: 'error',
|
|
74
|
-
'Sales closed': 'error',
|
|
75
|
-
|
|
76
|
-
// Info states
|
|
77
|
-
'In Progress': 'info',
|
|
78
|
-
Invited: 'info',
|
|
79
|
-
|
|
80
|
-
// Neutral states
|
|
81
|
-
Draft: 'neutral',
|
|
82
|
-
Offline: 'neutral',
|
|
83
|
-
Disabled: 'neutral',
|
|
84
|
-
No: 'neutral',
|
|
85
|
-
};
|
|
86
|
-
|
|
87
|
-
/**
|
|
88
|
-
* Get badge variant for a role
|
|
89
|
-
* @param {string} role - The role name
|
|
90
|
-
* @returns {string} Flowbite color variant
|
|
91
|
-
*/
|
|
92
|
-
export function getRoleBadgeVariant(role) {
|
|
93
|
-
return ROLE_BADGE_VARIANTS[role] || 'gray';
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
/**
|
|
97
|
-
* Get badge variant for an entity type
|
|
98
|
-
* @param {string} entityType - The entity type
|
|
99
|
-
* @returns {string} Flowbite color variant
|
|
100
|
-
*/
|
|
101
|
-
export function getEntityBadgeVariant(entityType) {
|
|
102
|
-
return ENTITY_BADGE_VARIANTS[entityType] || 'gray';
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
/**
|
|
106
|
-
* Get badge variant for a status
|
|
107
|
-
* @param {string} status - The status string
|
|
108
|
-
* @returns {string} Semantic variant
|
|
109
|
-
*/
|
|
110
|
-
export function getStatusBadgeVariant(status) {
|
|
111
|
-
return STATUS_BADGE_VARIANTS[status] || 'neutral';
|
|
112
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Badge Presets - Domain-to-Color Mappings
|
|
3
|
+
*
|
|
4
|
+
* These presets provide a migration path for apps that were using
|
|
5
|
+
* domain-specific badge variants (host, headliner, etc.).
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* import { ROLE_BADGE_VARIANTS, ENTITY_BADGE_VARIANTS } from '@getmicdrop/svelte-components/presets/badges';
|
|
9
|
+
* <Badge variant={ROLE_BADGE_VARIANTS[role]}>{role}</Badge>
|
|
10
|
+
*
|
|
11
|
+
* Note: For app-specific customization, apps should define their own
|
|
12
|
+
* mappings in their constants files (e.g., $lib/constants/position.ts).
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Role/Position badge color mappings
|
|
17
|
+
* Maps performer roles to Flowbite color variants
|
|
18
|
+
*/
|
|
19
|
+
export const ROLE_BADGE_VARIANTS = {
|
|
20
|
+
Host: 'red',
|
|
21
|
+
Headliner: 'purple',
|
|
22
|
+
Feature: 'blue',
|
|
23
|
+
'Special Guest': 'green',
|
|
24
|
+
Opener: 'orange',
|
|
25
|
+
Guest: 'gray',
|
|
26
|
+
Teacher: 'yellow',
|
|
27
|
+
Assistant: 'indigo',
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Entity type badge color mappings
|
|
32
|
+
* Maps entity types to Flowbite color variants
|
|
33
|
+
*/
|
|
34
|
+
export const ENTITY_BADGE_VARIANTS = {
|
|
35
|
+
event: 'blue',
|
|
36
|
+
venue: 'green',
|
|
37
|
+
user: 'purple',
|
|
38
|
+
order: 'orange',
|
|
39
|
+
performer: 'pink',
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Status badge semantic mappings
|
|
44
|
+
* Maps status strings to semantic variants
|
|
45
|
+
*/
|
|
46
|
+
export const STATUS_BADGE_VARIANTS = {
|
|
47
|
+
// Success states
|
|
48
|
+
Completed: 'success',
|
|
49
|
+
Active: 'success',
|
|
50
|
+
Confirmed: 'success',
|
|
51
|
+
'On Sale': 'success',
|
|
52
|
+
Live: 'success',
|
|
53
|
+
Enabled: 'success',
|
|
54
|
+
Yes: 'success',
|
|
55
|
+
Redeemed: 'success',
|
|
56
|
+
Online: 'success',
|
|
57
|
+
|
|
58
|
+
// Warning states
|
|
59
|
+
Pending: 'warning',
|
|
60
|
+
Scheduled: 'warning',
|
|
61
|
+
Paused: 'warning',
|
|
62
|
+
Ended: 'warning',
|
|
63
|
+
Refunded: 'warning',
|
|
64
|
+
'Partially refunded': 'warning',
|
|
65
|
+
Pinned: 'warning',
|
|
66
|
+
'Usage Limit Reached': 'warning',
|
|
67
|
+
|
|
68
|
+
// Error states
|
|
69
|
+
Cancelled: 'error',
|
|
70
|
+
Canceled: 'error',
|
|
71
|
+
Declined: 'error',
|
|
72
|
+
'No show': 'error',
|
|
73
|
+
Expired: 'error',
|
|
74
|
+
'Sales closed': 'error',
|
|
75
|
+
|
|
76
|
+
// Info states
|
|
77
|
+
'In Progress': 'info',
|
|
78
|
+
Invited: 'info',
|
|
79
|
+
|
|
80
|
+
// Neutral states
|
|
81
|
+
Draft: 'neutral',
|
|
82
|
+
Offline: 'neutral',
|
|
83
|
+
Disabled: 'neutral',
|
|
84
|
+
No: 'neutral',
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Get badge variant for a role
|
|
89
|
+
* @param {string} role - The role name
|
|
90
|
+
* @returns {string} Flowbite color variant
|
|
91
|
+
*/
|
|
92
|
+
export function getRoleBadgeVariant(role) {
|
|
93
|
+
return ROLE_BADGE_VARIANTS[role] || 'gray';
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Get badge variant for an entity type
|
|
98
|
+
* @param {string} entityType - The entity type
|
|
99
|
+
* @returns {string} Flowbite color variant
|
|
100
|
+
*/
|
|
101
|
+
export function getEntityBadgeVariant(entityType) {
|
|
102
|
+
return ENTITY_BADGE_VARIANTS[entityType] || 'gray';
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Get badge variant for a status
|
|
107
|
+
* @param {string} status - The status string
|
|
108
|
+
* @returns {string} Semantic variant
|
|
109
|
+
*/
|
|
110
|
+
export function getStatusBadgeVariant(status) {
|
|
111
|
+
return STATUS_BADGE_VARIANTS[status] || 'neutral';
|
|
112
|
+
}
|