@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
|
@@ -15,24 +15,24 @@
|
|
|
15
15
|
|
|
16
16
|
<Story name="Overview">
|
|
17
17
|
<div class="space-y-8">
|
|
18
|
-
<div class="bg-
|
|
19
|
-
<h1 class="text-2xl font-bold text-
|
|
20
|
-
<p class="text-
|
|
18
|
+
<div class="bg-status-info-bg rounded-lg p-6">
|
|
19
|
+
<h1 class="text-2xl font-bold text-text-primary mb-4">Component Consolidation Audit</h1>
|
|
20
|
+
<p class="text-text-secondary">
|
|
21
21
|
This audit documents raw native HTML elements across all Micdrop repositories that should be using
|
|
22
|
-
shared components from <code class="bg-
|
|
22
|
+
shared components from <code class="bg-bg-tertiary px-1 rounded">@getmicdrop/svelte-components</code>.
|
|
23
23
|
</p>
|
|
24
|
-
<p class="text-
|
|
24
|
+
<p class="text-text-secondary mt-2 text-sm">
|
|
25
25
|
<strong>Goal:</strong> Eliminate raw native elements in consumer repos, consolidate duplicates within this library,
|
|
26
26
|
and ensure consistent UI across all Micdrop applications.
|
|
27
27
|
</p>
|
|
28
28
|
</div>
|
|
29
29
|
|
|
30
30
|
<!-- Architecture Overview -->
|
|
31
|
-
<div class="bg-
|
|
32
|
-
<h2 class="text-xl font-bold text-
|
|
31
|
+
<div class="bg-muted rounded-lg p-6">
|
|
32
|
+
<h2 class="text-xl font-bold text-text-primary mb-4">Repository Architecture</h2>
|
|
33
33
|
|
|
34
|
-
<div class="bg-
|
|
35
|
-
<pre class="text-sm text-
|
|
34
|
+
<div class="bg-card rounded-lg p-4 mb-4">
|
|
35
|
+
<pre class="text-sm text-text-secondary overflow-x-auto">
|
|
36
36
|
┌─────────────────────────────────────────────────────────────────┐
|
|
37
37
|
│ @getmicdrop/svelte-components │
|
|
38
38
|
│ (NPM Package v5.2.1) │
|
|
@@ -56,78 +56,78 @@
|
|
|
56
56
|
</div>
|
|
57
57
|
|
|
58
58
|
<div class="grid md:grid-cols-3 gap-4 text-sm">
|
|
59
|
-
<div class="bg-
|
|
60
|
-
<h4 class="font-semibold text-
|
|
61
|
-
<p class="text-
|
|
59
|
+
<div class="bg-status-info-bg p-3 rounded">
|
|
60
|
+
<h4 class="font-semibold text-status-info-text">svelte-components</h4>
|
|
61
|
+
<p class="text-brand-primary">Source of truth. Has Storybook. All shared components live here.</p>
|
|
62
62
|
</div>
|
|
63
|
-
<div class="bg-
|
|
64
|
-
<h4 class="font-semibold text-
|
|
65
|
-
<p class="text-
|
|
63
|
+
<div class="bg-status-success-bg p-3 rounded">
|
|
64
|
+
<h4 class="font-semibold text-status-success-text">Consumer Repos</h4>
|
|
65
|
+
<p class="text-status-success-text">Import via NPM. Should NOT have local UI components.</p>
|
|
66
66
|
</div>
|
|
67
|
-
<div class="bg-
|
|
68
|
-
<h4 class="font-semibold text-
|
|
69
|
-
<p class="text-
|
|
67
|
+
<div class="bg-status-warning-bg p-3 rounded">
|
|
68
|
+
<h4 class="font-semibold text-accent-warning">venue-calendar-npm</h4>
|
|
69
|
+
<p class="text-accent-warning">Embedded in calendar/. Needs separate handling.</p>
|
|
70
70
|
</div>
|
|
71
71
|
</div>
|
|
72
72
|
</div>
|
|
73
73
|
|
|
74
74
|
<!-- Summary Statistics -->
|
|
75
|
-
<div class="bg-
|
|
76
|
-
<h2 class="text-xl font-bold text-
|
|
75
|
+
<div class="bg-status-error-bg rounded-lg p-6">
|
|
76
|
+
<h2 class="text-xl font-bold text-status-error-text mb-4">Problems Found (Complete Audit)</h2>
|
|
77
77
|
|
|
78
78
|
<table class="w-full text-sm mb-4">
|
|
79
79
|
<thead>
|
|
80
|
-
<tr class="text-left border-b border-
|
|
81
|
-
<th class="py-2 font-semibold text-
|
|
82
|
-
<th class="py-2 font-semibold text-
|
|
83
|
-
<th class="py-2 font-semibold text-
|
|
84
|
-
<th class="py-2 font-semibold text-
|
|
85
|
-
<th class="py-2 font-semibold text-
|
|
80
|
+
<tr class="text-left border-b border-status-error-border">
|
|
81
|
+
<th class="py-2 font-semibold text-status-error-text">Repository</th>
|
|
82
|
+
<th class="py-2 font-semibold text-status-error-text">Raw Buttons</th>
|
|
83
|
+
<th class="py-2 font-semibold text-status-error-text">Raw Inputs</th>
|
|
84
|
+
<th class="py-2 font-semibold text-status-error-text">Raw Forms</th>
|
|
85
|
+
<th class="py-2 font-semibold text-status-error-text">Shared Lib Usage</th>
|
|
86
86
|
</tr>
|
|
87
87
|
</thead>
|
|
88
|
-
<tbody class="text-
|
|
89
|
-
<tr class="border-b border-
|
|
88
|
+
<tbody class="text-accent-danger">
|
|
89
|
+
<tr class="border-b border-status-error-border">
|
|
90
90
|
<td class="py-2 font-medium">svelte-components</td>
|
|
91
91
|
<td class="py-2">110 in 43 files</td>
|
|
92
92
|
<td class="py-2">12 in 8 files</td>
|
|
93
93
|
<td class="py-2">4 in 1 file</td>
|
|
94
|
-
<td class="py-2 text-
|
|
94
|
+
<td class="py-2 text-accent-success">N/A (IS the library)</td>
|
|
95
95
|
</tr>
|
|
96
|
-
<tr class="border-b border-
|
|
96
|
+
<tr class="border-b border-status-error-border">
|
|
97
97
|
<td class="py-2 font-medium">micdrop-frontend</td>
|
|
98
98
|
<td class="py-2">35 in 16 files</td>
|
|
99
99
|
<td class="py-2">76 in 41 files</td>
|
|
100
100
|
<td class="py-2">22 in 21 files</td>
|
|
101
|
-
<td class="py-2 text-
|
|
101
|
+
<td class="py-2 text-accent-success">329 files use shared lib</td>
|
|
102
102
|
</tr>
|
|
103
|
-
<tr class="border-b border-
|
|
103
|
+
<tr class="border-b border-status-error-border">
|
|
104
104
|
<td class="py-2 font-medium">performers-portal</td>
|
|
105
105
|
<td class="py-2">27 in 7 files</td>
|
|
106
106
|
<td class="py-2">3 in 2 files</td>
|
|
107
107
|
<td class="py-2">5 in 2 files</td>
|
|
108
|
-
<td class="py-2 text-
|
|
108
|
+
<td class="py-2 text-accent-warning">Only 3 files use shared lib</td>
|
|
109
109
|
</tr>
|
|
110
110
|
<tr>
|
|
111
111
|
<td class="py-2 font-medium">venue-calendar-npm</td>
|
|
112
112
|
<td class="py-2">68 in 21 files</td>
|
|
113
113
|
<td class="py-2">9 in 3 files</td>
|
|
114
114
|
<td class="py-2">0</td>
|
|
115
|
-
<td class="py-2 text-
|
|
115
|
+
<td class="py-2 text-accent-danger">Standalone package</td>
|
|
116
116
|
</tr>
|
|
117
117
|
</tbody>
|
|
118
118
|
</table>
|
|
119
119
|
|
|
120
120
|
<div class="grid md:grid-cols-2 gap-4 mt-4">
|
|
121
|
-
<div class="bg-
|
|
122
|
-
<h4 class="font-semibold text-
|
|
123
|
-
<p class="text-sm text-
|
|
121
|
+
<div class="bg-status-success-bg p-3 rounded">
|
|
122
|
+
<h4 class="font-semibold text-status-success-text mb-1">Good News</h4>
|
|
123
|
+
<p class="text-sm text-status-success-text">
|
|
124
124
|
micdrop-frontend already has 329 files importing from @getmicdrop/svelte-components.
|
|
125
125
|
The shared library is being adopted.
|
|
126
126
|
</p>
|
|
127
127
|
</div>
|
|
128
|
-
<div class="bg-
|
|
129
|
-
<h4 class="font-semibold text-
|
|
130
|
-
<p class="text-sm text-
|
|
128
|
+
<div class="bg-status-error-bg p-3 rounded">
|
|
129
|
+
<h4 class="font-semibold text-status-error-text mb-1">Main Issue</h4>
|
|
130
|
+
<p class="text-sm text-status-error-text">
|
|
131
131
|
performers-portal barely uses the shared lib (only 3 files).
|
|
132
132
|
venue-calendar-npm is standalone and needs separate handling.
|
|
133
133
|
</p>
|
|
@@ -139,27 +139,27 @@
|
|
|
139
139
|
|
|
140
140
|
<Story name="Workflow Decision">
|
|
141
141
|
<div class="space-y-8">
|
|
142
|
-
<h1 class="text-2xl font-bold text-
|
|
142
|
+
<h1 class="text-2xl font-bold text-text-primary">Workflow: Where to Do the Work</h1>
|
|
143
143
|
|
|
144
|
-
<div class="bg-
|
|
145
|
-
<h2 class="text-xl font-semibold text-
|
|
146
|
-
<p class="text-
|
|
144
|
+
<div class="bg-status-warning-bg rounded-lg p-6">
|
|
145
|
+
<h2 class="text-xl font-semibold text-accent-warning mb-4">The Key Question</h2>
|
|
146
|
+
<p class="text-accent-warning text-lg">
|
|
147
147
|
"Can I do everything from svelte-components, or do I need to run scans in each consumer repo?"
|
|
148
148
|
</p>
|
|
149
149
|
</div>
|
|
150
150
|
|
|
151
151
|
<div class="grid md:grid-cols-2 gap-6">
|
|
152
152
|
<!-- Option A -->
|
|
153
|
-
<div class="bg-
|
|
154
|
-
<h3 class="text-lg font-bold text-
|
|
153
|
+
<div class="bg-status-success-bg rounded-lg p-6 border-2 border-accent-success">
|
|
154
|
+
<h3 class="text-lg font-bold text-status-success-text mb-3">
|
|
155
155
|
Recommended: Work from svelte-components
|
|
156
156
|
</h3>
|
|
157
157
|
|
|
158
|
-
<div class="space-y-4 text-sm text-
|
|
158
|
+
<div class="space-y-4 text-sm text-status-success-text">
|
|
159
159
|
<div>
|
|
160
160
|
<h4 class="font-semibold">For Component Development:</h4>
|
|
161
161
|
<ul class="list-disc list-inside mt-1 space-y-1">
|
|
162
|
-
<li>Edit components in <code class="bg-
|
|
162
|
+
<li>Edit components in <code class="bg-status-success-bg px-1 rounded">src/lib/</code></li>
|
|
163
163
|
<li>Preview in Storybook (port 6006)</li>
|
|
164
164
|
<li>Test component behavior in isolation</li>
|
|
165
165
|
<li>Publish to NPM when ready</li>
|
|
@@ -176,7 +176,7 @@
|
|
|
176
176
|
|
|
177
177
|
<div>
|
|
178
178
|
<h4 class="font-semibold">You CAN scan consumer repos from here:</h4>
|
|
179
|
-
<pre class="bg-
|
|
179
|
+
<pre class="bg-card p-2 rounded mt-1 overflow-x-auto text-xs">
|
|
180
180
|
# From svelte-components directory:
|
|
181
181
|
grep -r "<button" /Users/peet/repos/micdrop-frontend/src --include="*.svelte" -l
|
|
182
182
|
grep -r "<button" /Users/peet/repos/performers-portal/src --include="*.svelte" -l</pre>
|
|
@@ -185,12 +185,12 @@ grep -r "<button" /Users/peet/repos/performers-portal/src --include="*.svelte
|
|
|
185
185
|
</div>
|
|
186
186
|
|
|
187
187
|
<!-- Option B -->
|
|
188
|
-
<div class="bg-
|
|
189
|
-
<h3 class="text-lg font-bold text-
|
|
188
|
+
<div class="bg-bg-secondary rounded-lg p-6 border border-stroke-primary">
|
|
189
|
+
<h3 class="text-lg font-bold text-text-secondary mb-3">
|
|
190
190
|
When to Work in Consumer Repos
|
|
191
191
|
</h3>
|
|
192
192
|
|
|
193
|
-
<div class="space-y-4 text-sm text-
|
|
193
|
+
<div class="space-y-4 text-sm text-text-secondary">
|
|
194
194
|
<div>
|
|
195
195
|
<h4 class="font-semibold">For Applying Fixes:</h4>
|
|
196
196
|
<ul class="list-disc list-inside mt-1 space-y-1">
|
|
@@ -213,10 +213,10 @@ grep -r "<button" /Users/peet/repos/performers-portal/src --include="*.svelte
|
|
|
213
213
|
</div>
|
|
214
214
|
|
|
215
215
|
<!-- Recommended Workflow -->
|
|
216
|
-
<div class="bg-
|
|
217
|
-
<h3 class="text-lg font-bold text-
|
|
216
|
+
<div class="bg-status-info-bg rounded-lg p-6">
|
|
217
|
+
<h3 class="text-lg font-bold text-status-info-text mb-4">Recommended Consolidation Workflow</h3>
|
|
218
218
|
|
|
219
|
-
<ol class="list-decimal list-inside space-y-4 text-
|
|
219
|
+
<ol class="list-decimal list-inside space-y-4 text-brand-primary">
|
|
220
220
|
<li>
|
|
221
221
|
<strong>Phase 1: Audit (Do from svelte-components)</strong>
|
|
222
222
|
<ul class="list-disc list-inside ml-6 mt-1 text-sm">
|
|
@@ -250,304 +250,304 @@ grep -r "<button" /Users/peet/repos/performers-portal/src --include="*.svelte
|
|
|
250
250
|
|
|
251
251
|
<Story name="svelte-components Problems">
|
|
252
252
|
<div class="space-y-8">
|
|
253
|
-
<h1 class="text-2xl font-bold text-
|
|
254
|
-
<p class="text-
|
|
253
|
+
<h1 class="text-2xl font-bold text-text-primary">svelte-components: Complete Element Audit (Dec 26, 2025)</h1>
|
|
254
|
+
<p class="text-text-secondary">
|
|
255
255
|
Comprehensive audit of raw HTML elements in this library: buttons, inputs, forms, textareas, and selects.
|
|
256
256
|
Categorized by what needs fixing vs. what's expected as primitive implementations.
|
|
257
257
|
</p>
|
|
258
258
|
|
|
259
259
|
<!-- SUMMARY BOX -->
|
|
260
|
-
<div class="bg-
|
|
261
|
-
<h2 class="text-xl font-semibold text-
|
|
260
|
+
<div class="bg-status-info-bg rounded-lg p-6">
|
|
261
|
+
<h2 class="text-xl font-semibold text-status-info-text mb-4">Summary by Element Type</h2>
|
|
262
262
|
<div class="grid grid-cols-3 md:grid-cols-6 gap-3 text-center">
|
|
263
|
-
<div class="bg-
|
|
264
|
-
<div class="text-2xl font-bold text-
|
|
265
|
-
<div class="text-xs text-
|
|
266
|
-
<div class="text-xs text-
|
|
267
|
-
</div>
|
|
268
|
-
<div class="bg-
|
|
269
|
-
<div class="text-2xl font-bold text-
|
|
270
|
-
<div class="text-xs text-
|
|
271
|
-
<div class="text-xs text-
|
|
272
|
-
</div>
|
|
273
|
-
<div class="bg-
|
|
274
|
-
<div class="text-2xl font-bold text-
|
|
275
|
-
<div class="text-xs text-
|
|
276
|
-
<div class="text-xs text-
|
|
277
|
-
</div>
|
|
278
|
-
<div class="bg-
|
|
279
|
-
<div class="text-2xl font-bold text-
|
|
280
|
-
<div class="text-xs text-
|
|
281
|
-
<div class="text-xs text-
|
|
282
|
-
</div>
|
|
283
|
-
<div class="bg-
|
|
284
|
-
<div class="text-2xl font-bold text-
|
|
285
|
-
<div class="text-xs text-
|
|
286
|
-
<div class="text-xs text-
|
|
287
|
-
</div>
|
|
288
|
-
<div class="bg-
|
|
289
|
-
<div class="text-2xl font-bold text-
|
|
290
|
-
<div class="text-xs text-
|
|
291
|
-
<div class="text-xs text-
|
|
263
|
+
<div class="bg-card p-3 rounded-lg">
|
|
264
|
+
<div class="text-2xl font-bold text-accent-success">✓</div>
|
|
265
|
+
<div class="text-xs text-muted-foreground">Buttons</div>
|
|
266
|
+
<div class="text-xs text-accent-success">0 remaining</div>
|
|
267
|
+
</div>
|
|
268
|
+
<div class="bg-card p-3 rounded-lg">
|
|
269
|
+
<div class="text-2xl font-bold text-accent-success">5</div>
|
|
270
|
+
<div class="text-xs text-muted-foreground">Inputs</div>
|
|
271
|
+
<div class="text-xs text-accent-success">primitives</div>
|
|
272
|
+
</div>
|
|
273
|
+
<div class="bg-card p-3 rounded-lg">
|
|
274
|
+
<div class="text-2xl font-bold text-accent-warning">5</div>
|
|
275
|
+
<div class="text-xs text-muted-foreground">Recipe Inputs</div>
|
|
276
|
+
<div class="text-xs text-accent-warning">specialized</div>
|
|
277
|
+
</div>
|
|
278
|
+
<div class="bg-card p-3 rounded-lg">
|
|
279
|
+
<div class="text-2xl font-bold text-accent-success">3</div>
|
|
280
|
+
<div class="text-xs text-muted-foreground">Textareas</div>
|
|
281
|
+
<div class="text-xs text-accent-success">expected</div>
|
|
282
|
+
</div>
|
|
283
|
+
<div class="bg-card p-3 rounded-lg">
|
|
284
|
+
<div class="text-2xl font-bold text-muted-foreground">4</div>
|
|
285
|
+
<div class="text-xs text-muted-foreground">Forms</div>
|
|
286
|
+
<div class="text-xs text-muted-foreground">semantic</div>
|
|
287
|
+
</div>
|
|
288
|
+
<div class="bg-card p-3 rounded-lg">
|
|
289
|
+
<div class="text-2xl font-bold text-accent-success">0</div>
|
|
290
|
+
<div class="text-xs text-muted-foreground">Selects</div>
|
|
291
|
+
<div class="text-xs text-accent-success">none</div>
|
|
292
292
|
</div>
|
|
293
293
|
</div>
|
|
294
294
|
</div>
|
|
295
295
|
|
|
296
296
|
<!-- COMPLETED - ALL FIXED -->
|
|
297
|
-
<div class="bg-
|
|
298
|
-
<h2 class="text-xl font-semibold text-
|
|
297
|
+
<div class="bg-status-success-bg rounded-lg p-6">
|
|
298
|
+
<h2 class="text-xl font-semibold text-status-success-text mb-4">
|
|
299
299
|
✓ Completed: All High-Priority Files Migrated (Dec 26, 2025)
|
|
300
300
|
</h2>
|
|
301
|
-
<p class="text-sm text-
|
|
301
|
+
<p class="text-sm text-status-success-text mb-4">
|
|
302
302
|
All files that needed fixing have been migrated to use the Button component with appropriate variants.
|
|
303
303
|
</p>
|
|
304
304
|
|
|
305
305
|
<div class="space-y-3">
|
|
306
|
-
<div class="bg-
|
|
306
|
+
<div class="bg-card rounded-lg p-3 border-l-4 border-accent-success flex justify-between items-center">
|
|
307
307
|
<div>
|
|
308
|
-
<span class="font-medium text-
|
|
309
|
-
<span class="text-sm text-
|
|
308
|
+
<span class="font-medium text-text-primary">patterns/navigation/Header.svelte</span>
|
|
309
|
+
<span class="text-sm text-accent-success ml-2">9 buttons → Button avatar/menu-item/menu-item-danger</span>
|
|
310
310
|
</div>
|
|
311
|
-
<span class="text-
|
|
311
|
+
<span class="text-accent-success">✓</span>
|
|
312
312
|
</div>
|
|
313
|
-
<div class="bg-
|
|
313
|
+
<div class="bg-card rounded-lg p-3 border-l-4 border-accent-success flex justify-between items-center">
|
|
314
314
|
<div>
|
|
315
|
-
<span class="font-medium text-
|
|
316
|
-
<span class="text-sm text-
|
|
315
|
+
<span class="font-medium text-text-primary">recipes/SuperLogin/SuperLogin.svelte</span>
|
|
316
|
+
<span class="text-sm text-accent-success ml-2">4 buttons → Button card/link variants</span>
|
|
317
317
|
</div>
|
|
318
|
-
<span class="text-
|
|
318
|
+
<span class="text-accent-success">✓</span>
|
|
319
319
|
</div>
|
|
320
|
-
<div class="bg-
|
|
320
|
+
<div class="bg-card rounded-lg p-3 border-l-4 border-accent-success flex justify-between items-center">
|
|
321
321
|
<div>
|
|
322
|
-
<span class="font-medium text-
|
|
323
|
-
<span class="text-sm text-
|
|
322
|
+
<span class="font-medium text-text-primary">recipes/CropImage/CropImage.svelte</span>
|
|
323
|
+
<span class="text-sm text-accent-success ml-2">5 Button uses, 0 raw</span>
|
|
324
324
|
</div>
|
|
325
|
-
<span class="text-
|
|
325
|
+
<span class="text-accent-success">✓</span>
|
|
326
326
|
</div>
|
|
327
327
|
</div>
|
|
328
328
|
|
|
329
|
-
<div class="mt-4 p-3 bg-
|
|
330
|
-
<strong class="text-
|
|
331
|
-
<ul class="mt-2 list-disc list-inside text-
|
|
332
|
-
<li><code class="bg-
|
|
333
|
-
<li><code class="bg-
|
|
334
|
-
<li><code class="bg-
|
|
335
|
-
<li><code class="bg-
|
|
329
|
+
<div class="mt-4 p-3 bg-status-success-bg rounded text-sm">
|
|
330
|
+
<strong class="text-status-success-text">Extracted to dedicated components:</strong>
|
|
331
|
+
<ul class="mt-2 list-disc list-inside text-accent-success space-y-1">
|
|
332
|
+
<li><code class="bg-bg-tertiary px-1 rounded"><AvatarButton></code> - Avatar/image trigger buttons (opacity hover)</li>
|
|
333
|
+
<li><code class="bg-bg-tertiary px-1 rounded"><MenuItem></code> - Dropdown menu items (full width, left-aligned)</li>
|
|
334
|
+
<li><code class="bg-bg-tertiary px-1 rounded"><MenuItem danger></code> - Destructive menu items (red text)</li>
|
|
335
|
+
<li><code class="bg-bg-tertiary px-1 rounded"><CardAction></code> - Selectable card buttons (bordered)</li>
|
|
336
336
|
</ul>
|
|
337
337
|
</div>
|
|
338
338
|
</div>
|
|
339
339
|
|
|
340
340
|
<!-- PRIMITIVES - EXPECTED -->
|
|
341
|
-
<div class="bg-
|
|
342
|
-
<h2 class="text-xl font-semibold text-
|
|
341
|
+
<div class="bg-bg-secondary rounded-lg p-6">
|
|
342
|
+
<h2 class="text-xl font-semibold text-text-secondary mb-4">
|
|
343
343
|
Primitives: Raw Buttons Expected (15 total)
|
|
344
344
|
</h2>
|
|
345
|
-
<p class="text-sm text-
|
|
346
|
-
These ARE the button implementations. Raw <code class="bg-
|
|
345
|
+
<p class="text-sm text-text-secondary mb-4">
|
|
346
|
+
These ARE the button implementations. Raw <code class="bg-bg-tertiary px-1 rounded"><button></code> is correct here.
|
|
347
347
|
</p>
|
|
348
348
|
|
|
349
349
|
<div class="grid md:grid-cols-2 gap-3 text-sm">
|
|
350
|
-
<div class="bg-
|
|
350
|
+
<div class="bg-card p-3 rounded flex justify-between">
|
|
351
351
|
<span>Button/Button.svelte</span>
|
|
352
|
-
<span class="text-
|
|
352
|
+
<span class="text-muted-foreground">1 button</span>
|
|
353
353
|
</div>
|
|
354
|
-
<div class="bg-
|
|
354
|
+
<div class="bg-card p-3 rounded flex justify-between">
|
|
355
355
|
<span>Pagination/Pagination.svelte</span>
|
|
356
|
-
<span class="text-
|
|
356
|
+
<span class="text-muted-foreground">10 buttons</span>
|
|
357
357
|
</div>
|
|
358
|
-
<div class="bg-
|
|
358
|
+
<div class="bg-card p-3 rounded flex justify-between">
|
|
359
359
|
<span>Accordion/AccordionItem.svelte</span>
|
|
360
|
-
<span class="text-
|
|
360
|
+
<span class="text-muted-foreground">1 button</span>
|
|
361
361
|
</div>
|
|
362
|
-
<div class="bg-
|
|
362
|
+
<div class="bg-card p-3 rounded flex justify-between">
|
|
363
363
|
<span>Tabs/Tabs.svelte</span>
|
|
364
|
-
<span class="text-
|
|
364
|
+
<span class="text-muted-foreground">1 button</span>
|
|
365
365
|
</div>
|
|
366
|
-
<div class="bg-
|
|
366
|
+
<div class="bg-card p-3 rounded flex justify-between">
|
|
367
367
|
<span>DarkModeToggle.svelte</span>
|
|
368
|
-
<span class="text-
|
|
368
|
+
<span class="text-muted-foreground">1 button</span>
|
|
369
369
|
</div>
|
|
370
|
-
<div class="bg-
|
|
370
|
+
<div class="bg-card p-3 rounded flex justify-between">
|
|
371
371
|
<span>Dropdown/DropdownItem.svelte</span>
|
|
372
|
-
<span class="text-
|
|
372
|
+
<span class="text-muted-foreground">1 button</span>
|
|
373
373
|
</div>
|
|
374
374
|
</div>
|
|
375
375
|
</div>
|
|
376
376
|
|
|
377
377
|
<!-- RAW INPUTS - PRIMITIVES (EXPECTED) -->
|
|
378
|
-
<div class="bg-
|
|
379
|
-
<h2 class="text-xl font-semibold text-
|
|
378
|
+
<div class="bg-bg-secondary rounded-lg p-6">
|
|
379
|
+
<h2 class="text-xl font-semibold text-text-secondary mb-4">
|
|
380
380
|
Raw <input> Elements: Primitives (5 files - Expected)
|
|
381
381
|
</h2>
|
|
382
|
-
<p class="text-sm text-
|
|
383
|
-
These ARE the input implementations. Raw <code class="bg-
|
|
382
|
+
<p class="text-sm text-text-secondary mb-4">
|
|
383
|
+
These ARE the input implementations. Raw <code class="bg-bg-tertiary px-1 rounded"><input></code> is correct here.
|
|
384
384
|
</p>
|
|
385
385
|
|
|
386
386
|
<div class="grid md:grid-cols-2 gap-3 text-sm">
|
|
387
|
-
<div class="bg-
|
|
387
|
+
<div class="bg-card p-3 rounded flex justify-between">
|
|
388
388
|
<span>primitives/Input/Input.svelte</span>
|
|
389
|
-
<span class="text-
|
|
389
|
+
<span class="text-muted-foreground">2 inputs</span>
|
|
390
390
|
</div>
|
|
391
|
-
<div class="bg-
|
|
391
|
+
<div class="bg-card p-3 rounded flex justify-between">
|
|
392
392
|
<span>primitives/Checkbox/Checkbox.svelte</span>
|
|
393
|
-
<span class="text-
|
|
393
|
+
<span class="text-muted-foreground">1 input</span>
|
|
394
394
|
</div>
|
|
395
|
-
<div class="bg-
|
|
395
|
+
<div class="bg-card p-3 rounded flex justify-between">
|
|
396
396
|
<span>primitives/Radio/Radio.svelte</span>
|
|
397
|
-
<span class="text-
|
|
397
|
+
<span class="text-muted-foreground">1 input</span>
|
|
398
398
|
</div>
|
|
399
|
-
<div class="bg-
|
|
399
|
+
<div class="bg-card p-3 rounded flex justify-between">
|
|
400
400
|
<span>primitives/Toggle.svelte</span>
|
|
401
|
-
<span class="text-
|
|
401
|
+
<span class="text-muted-foreground">1 input</span>
|
|
402
402
|
</div>
|
|
403
|
-
<div class="bg-
|
|
403
|
+
<div class="bg-card p-3 rounded flex justify-between">
|
|
404
404
|
<span>primitives/Input/Textarea.svelte</span>
|
|
405
|
-
<span class="text-
|
|
405
|
+
<span class="text-muted-foreground">1 textarea</span>
|
|
406
406
|
</div>
|
|
407
407
|
</div>
|
|
408
408
|
</div>
|
|
409
409
|
|
|
410
410
|
<!-- RAW INPUTS - RECIPES (SPECIALIZED) -->
|
|
411
|
-
<div class="bg-
|
|
412
|
-
<h2 class="text-xl font-semibold text-
|
|
411
|
+
<div class="bg-status-warning-bg rounded-lg p-6">
|
|
412
|
+
<h2 class="text-xl font-semibold text-accent-warning mb-4">
|
|
413
413
|
Raw <input> Elements: Recipes (5 files - Specialized)
|
|
414
414
|
</h2>
|
|
415
|
-
<p class="text-sm text-
|
|
415
|
+
<p class="text-sm text-accent-warning mb-4">
|
|
416
416
|
These are specialized input controls with unique behavior. Using raw inputs is acceptable for these specialized use cases.
|
|
417
417
|
</p>
|
|
418
418
|
|
|
419
419
|
<div class="space-y-3">
|
|
420
|
-
<div class="bg-
|
|
420
|
+
<div class="bg-card rounded-lg p-3 border-l-4 border-accent-success">
|
|
421
421
|
<div class="flex justify-between">
|
|
422
422
|
<span class="font-medium">recipes/inputs/OTPInput.svelte</span>
|
|
423
|
-
<span class="text-
|
|
423
|
+
<span class="text-accent-success">1 input ✓</span>
|
|
424
424
|
</div>
|
|
425
|
-
<p class="text-sm text-
|
|
425
|
+
<p class="text-sm text-muted-foreground mt-1">OTP digit inputs - highly specialized, raw input appropriate</p>
|
|
426
426
|
</div>
|
|
427
|
-
<div class="bg-
|
|
427
|
+
<div class="bg-card rounded-lg p-3 border-l-4 border-accent-success">
|
|
428
428
|
<div class="flex justify-between">
|
|
429
429
|
<span class="font-medium">recipes/inputs/Search.svelte</span>
|
|
430
|
-
<span class="text-
|
|
430
|
+
<span class="text-accent-success">1 input ✓</span>
|
|
431
431
|
</div>
|
|
432
|
-
<p class="text-sm text-
|
|
432
|
+
<p class="text-sm text-muted-foreground mt-1">Search input - specialized styling and behavior</p>
|
|
433
433
|
</div>
|
|
434
|
-
<div class="bg-
|
|
434
|
+
<div class="bg-card rounded-lg p-3 border-l-4 border-accent-success">
|
|
435
435
|
<div class="flex justify-between">
|
|
436
436
|
<span class="font-medium">recipes/inputs/MultiSelect.svelte</span>
|
|
437
|
-
<span class="text-
|
|
437
|
+
<span class="text-accent-success">1 input ✓</span>
|
|
438
438
|
</div>
|
|
439
|
-
<p class="text-sm text-
|
|
439
|
+
<p class="text-sm text-muted-foreground mt-1">Filter/search input within multiselect dropdown</p>
|
|
440
440
|
</div>
|
|
441
|
-
<div class="bg-
|
|
441
|
+
<div class="bg-card rounded-lg p-3 border-l-4 border-accent-success">
|
|
442
442
|
<div class="flex justify-between">
|
|
443
443
|
<span class="font-medium">recipes/inputs/PlaceAutocomplete.svelte</span>
|
|
444
|
-
<span class="text-
|
|
444
|
+
<span class="text-accent-success">1 input ✓</span>
|
|
445
445
|
</div>
|
|
446
|
-
<p class="text-sm text-
|
|
446
|
+
<p class="text-sm text-muted-foreground mt-1">Google Places API integration - requires raw input for autocomplete</p>
|
|
447
447
|
</div>
|
|
448
|
-
<div class="bg-
|
|
448
|
+
<div class="bg-card rounded-lg p-3 border-l-4 border-accent-success">
|
|
449
449
|
<div class="flex justify-between">
|
|
450
450
|
<span class="font-medium">recipes/CropImage/CropImage.svelte</span>
|
|
451
|
-
<span class="text-
|
|
451
|
+
<span class="text-accent-success">1 input ✓</span>
|
|
452
452
|
</div>
|
|
453
|
-
<p class="text-sm text-
|
|
453
|
+
<p class="text-sm text-muted-foreground mt-1">File input for image upload - must be raw for file picker</p>
|
|
454
454
|
</div>
|
|
455
455
|
</div>
|
|
456
456
|
</div>
|
|
457
457
|
|
|
458
458
|
<!-- RAW FORMS -->
|
|
459
|
-
<div class="bg-
|
|
460
|
-
<h2 class="text-xl font-semibold text-
|
|
459
|
+
<div class="bg-bg-secondary rounded-lg p-6">
|
|
460
|
+
<h2 class="text-xl font-semibold text-text-secondary mb-4">
|
|
461
461
|
Raw <form> Elements (1 file, 4 forms)
|
|
462
462
|
</h2>
|
|
463
|
-
<p class="text-sm text-
|
|
464
|
-
No shared Form component exists. Raw <code class="bg-
|
|
463
|
+
<p class="text-sm text-text-secondary mb-4">
|
|
464
|
+
No shared Form component exists. Raw <code class="bg-bg-tertiary px-1 rounded"><form></code> elements are acceptable as semantic containers.
|
|
465
465
|
</p>
|
|
466
466
|
|
|
467
|
-
<div class="bg-
|
|
467
|
+
<div class="bg-card p-3 rounded">
|
|
468
468
|
<div class="flex justify-between">
|
|
469
469
|
<span class="font-medium">recipes/SuperLogin/SuperLogin.svelte</span>
|
|
470
|
-
<span class="text-
|
|
470
|
+
<span class="text-muted-foreground">4 forms</span>
|
|
471
471
|
</div>
|
|
472
|
-
<p class="text-sm text-
|
|
472
|
+
<p class="text-sm text-muted-foreground mt-1">Login, password reset, OTP, and email verification forms - semantic containers for form submission</p>
|
|
473
473
|
</div>
|
|
474
474
|
</div>
|
|
475
475
|
|
|
476
476
|
<!-- RAW TEXTAREAS -->
|
|
477
|
-
<div class="bg-
|
|
478
|
-
<h2 class="text-xl font-semibold text-
|
|
477
|
+
<div class="bg-bg-secondary rounded-lg p-6">
|
|
478
|
+
<h2 class="text-xl font-semibold text-text-secondary mb-4">
|
|
479
479
|
Raw <textarea> Elements (3 files - Expected)
|
|
480
480
|
</h2>
|
|
481
|
-
<p class="text-sm text-
|
|
481
|
+
<p class="text-sm text-text-secondary mb-4">
|
|
482
482
|
All textarea usage is in primitives and recipes - no migration needed.
|
|
483
483
|
</p>
|
|
484
484
|
|
|
485
485
|
<div class="grid md:grid-cols-3 gap-3 text-sm">
|
|
486
|
-
<div class="bg-
|
|
486
|
+
<div class="bg-card p-3 rounded flex justify-between">
|
|
487
487
|
<span>primitives/Input/Textarea.svelte</span>
|
|
488
|
-
<span class="text-
|
|
488
|
+
<span class="text-accent-success">primitive ✓</span>
|
|
489
489
|
</div>
|
|
490
|
-
<div class="bg-
|
|
490
|
+
<div class="bg-card p-3 rounded flex justify-between">
|
|
491
491
|
<span>primitives/Input/Input.svelte</span>
|
|
492
|
-
<span class="text-
|
|
492
|
+
<span class="text-accent-success">primitive ✓</span>
|
|
493
493
|
</div>
|
|
494
|
-
<div class="bg-
|
|
494
|
+
<div class="bg-card p-3 rounded flex justify-between">
|
|
495
495
|
<span>recipes/modals/InputModal.svelte</span>
|
|
496
|
-
<span class="text-
|
|
496
|
+
<span class="text-accent-success">recipe ✓</span>
|
|
497
497
|
</div>
|
|
498
498
|
</div>
|
|
499
499
|
</div>
|
|
500
500
|
|
|
501
501
|
<!-- RAW SELECTS -->
|
|
502
|
-
<div class="bg-
|
|
503
|
-
<h2 class="text-xl font-semibold text-
|
|
502
|
+
<div class="bg-status-success-bg rounded-lg p-6">
|
|
503
|
+
<h2 class="text-xl font-semibold text-status-success-text mb-4">
|
|
504
504
|
Raw <select> Elements: None Found ✓
|
|
505
505
|
</h2>
|
|
506
|
-
<p class="text-sm text-
|
|
507
|
-
No raw <code class="bg-
|
|
506
|
+
<p class="text-sm text-status-success-text">
|
|
507
|
+
No raw <code class="bg-status-success-bg px-1 rounded"><select></code> elements found outside of primitives.
|
|
508
508
|
All select functionality uses the MultiSelect custom dropdown component.
|
|
509
509
|
</p>
|
|
510
510
|
</div>
|
|
511
511
|
|
|
512
512
|
<!-- CALENDAR PACKAGE -->
|
|
513
|
-
<div class="bg-
|
|
514
|
-
<h2 class="text-xl font-semibold text-
|
|
513
|
+
<div class="bg-status-info-bg rounded-lg p-6">
|
|
514
|
+
<h2 class="text-xl font-semibold text-brand-primary mb-4">
|
|
515
515
|
Calendar Package: Phase 4 (16 buttons in 6 files)
|
|
516
516
|
</h2>
|
|
517
|
-
<p class="text-sm text-
|
|
517
|
+
<p class="text-sm text-brand-primary mb-4">
|
|
518
518
|
Embedded from venue-calendar-npm. Handle separately - cannot import from svelte-components (circular dependency).
|
|
519
519
|
</p>
|
|
520
520
|
|
|
521
521
|
<table class="w-full text-sm">
|
|
522
522
|
<thead>
|
|
523
|
-
<tr class="text-left border-b border-
|
|
524
|
-
<th class="py-2 font-semibold text-
|
|
525
|
-
<th class="py-2 font-semibold text-
|
|
526
|
-
<th class="py-2 font-semibold text-
|
|
523
|
+
<tr class="text-left border-b border-border">
|
|
524
|
+
<th class="py-2 font-semibold text-brand-primary">File</th>
|
|
525
|
+
<th class="py-2 font-semibold text-brand-primary">Count</th>
|
|
526
|
+
<th class="py-2 font-semibold text-brand-primary">Purpose</th>
|
|
527
527
|
</tr>
|
|
528
528
|
</thead>
|
|
529
|
-
<tbody class="text-
|
|
530
|
-
<tr class="border-b border-
|
|
529
|
+
<tbody class="text-brand-primary">
|
|
530
|
+
<tr class="border-b border-border">
|
|
531
531
|
<td class="py-2">OrderSummary.svelte</td>
|
|
532
532
|
<td class="py-2">5</td>
|
|
533
533
|
<td class="py-2">Checkout actions</td>
|
|
534
534
|
</tr>
|
|
535
|
-
<tr class="border-b border-
|
|
535
|
+
<tr class="border-b border-border">
|
|
536
536
|
<td class="py-2">MiniMonthCalendar.svelte</td>
|
|
537
537
|
<td class="py-2">3</td>
|
|
538
538
|
<td class="py-2">Month navigation</td>
|
|
539
539
|
</tr>
|
|
540
|
-
<tr class="border-b border-
|
|
540
|
+
<tr class="border-b border-border">
|
|
541
541
|
<td class="py-2">MonthSwitcher.svelte</td>
|
|
542
542
|
<td class="py-2">3</td>
|
|
543
543
|
<td class="py-2">Month navigation</td>
|
|
544
544
|
</tr>
|
|
545
|
-
<tr class="border-b border-
|
|
545
|
+
<tr class="border-b border-border">
|
|
546
546
|
<td class="py-2">AboutShow.svelte</td>
|
|
547
547
|
<td class="py-2">3</td>
|
|
548
548
|
<td class="py-2">Show details</td>
|
|
549
549
|
</tr>
|
|
550
|
-
<tr class="border-b border-
|
|
550
|
+
<tr class="border-b border-border">
|
|
551
551
|
<td class="py-2">ShowCard.svelte</td>
|
|
552
552
|
<td class="py-2">1</td>
|
|
553
553
|
<td class="py-2">CTA button</td>
|
|
@@ -562,11 +562,11 @@ grep -r "<button" /Users/peet/repos/performers-portal/src --include="*.svelte
|
|
|
562
562
|
</div>
|
|
563
563
|
|
|
564
564
|
<!-- STORIES - LOW PRIORITY -->
|
|
565
|
-
<div class="bg-
|
|
566
|
-
<h2 class="text-xl font-semibold text-
|
|
565
|
+
<div class="bg-muted rounded-lg p-6">
|
|
566
|
+
<h2 class="text-xl font-semibold text-text-secondary mb-4">
|
|
567
567
|
Stories: Low Priority (~30 buttons in 19 files)
|
|
568
568
|
</h2>
|
|
569
|
-
<p class="text-sm text-
|
|
569
|
+
<p class="text-sm text-muted-foreground">
|
|
570
570
|
Demo and test files. Not user-facing. Fix only if time permits.
|
|
571
571
|
</p>
|
|
572
572
|
</div>
|
|
@@ -575,131 +575,131 @@ grep -r "<button" /Users/peet/repos/performers-portal/src --include="*.svelte
|
|
|
575
575
|
|
|
576
576
|
<Story name="micdrop-frontend Detailed">
|
|
577
577
|
<div class="space-y-8">
|
|
578
|
-
<h1 class="text-2xl font-bold text-
|
|
579
|
-
<p class="text-
|
|
578
|
+
<h1 class="text-2xl font-bold text-text-primary">micdrop-frontend: Fresh Audit (Dec 26, 2025)</h1>
|
|
579
|
+
<p class="text-text-secondary">
|
|
580
580
|
<strong>12 files</strong> with raw buttons. Total: <strong>25 raw buttons</strong> (9 production, 8 storybook).
|
|
581
581
|
</p>
|
|
582
582
|
|
|
583
583
|
<!-- Summary -->
|
|
584
|
-
<div class="bg-
|
|
585
|
-
<h2 class="text-xl font-semibold text-
|
|
584
|
+
<div class="bg-status-info-bg rounded-lg p-6">
|
|
585
|
+
<h2 class="text-xl font-semibold text-status-info-text mb-4">Summary</h2>
|
|
586
586
|
<div class="grid md:grid-cols-4 gap-4">
|
|
587
|
-
<div class="bg-
|
|
588
|
-
<div class="text-3xl font-bold text-
|
|
589
|
-
<div class="text-sm text-
|
|
590
|
-
<div class="text-xs text-
|
|
591
|
-
</div>
|
|
592
|
-
<div class="bg-
|
|
593
|
-
<div class="text-3xl font-bold text-
|
|
594
|
-
<div class="text-sm text-
|
|
595
|
-
<div class="text-xs text-
|
|
596
|
-
</div>
|
|
597
|
-
<div class="bg-
|
|
598
|
-
<div class="text-3xl font-bold text-
|
|
599
|
-
<div class="text-sm text-
|
|
600
|
-
<div class="text-xs text-
|
|
601
|
-
</div>
|
|
602
|
-
<div class="bg-
|
|
603
|
-
<div class="text-3xl font-bold text-
|
|
604
|
-
<div class="text-sm text-
|
|
605
|
-
<div class="text-xs text-
|
|
587
|
+
<div class="bg-card p-4 rounded-lg text-center">
|
|
588
|
+
<div class="text-3xl font-bold text-accent-danger">25</div>
|
|
589
|
+
<div class="text-sm text-text-secondary">Raw Buttons</div>
|
|
590
|
+
<div class="text-xs text-muted-foreground">in 12 files</div>
|
|
591
|
+
</div>
|
|
592
|
+
<div class="bg-card p-4 rounded-lg text-center">
|
|
593
|
+
<div class="text-3xl font-bold text-accent-danger">76</div>
|
|
594
|
+
<div class="text-sm text-text-secondary">Raw Inputs</div>
|
|
595
|
+
<div class="text-xs text-muted-foreground">in 41 files</div>
|
|
596
|
+
</div>
|
|
597
|
+
<div class="bg-card p-4 rounded-lg text-center">
|
|
598
|
+
<div class="text-3xl font-bold text-accent-danger">22</div>
|
|
599
|
+
<div class="text-sm text-text-secondary">Raw Forms</div>
|
|
600
|
+
<div class="text-xs text-muted-foreground">in 21 files</div>
|
|
601
|
+
</div>
|
|
602
|
+
<div class="bg-card p-4 rounded-lg text-center">
|
|
603
|
+
<div class="text-3xl font-bold text-accent-success">329</div>
|
|
604
|
+
<div class="text-sm text-text-secondary">Shared Lib Imports</div>
|
|
605
|
+
<div class="text-xs text-muted-foreground">good adoption!</div>
|
|
606
606
|
</div>
|
|
607
607
|
</div>
|
|
608
608
|
</div>
|
|
609
609
|
|
|
610
610
|
<!-- Raw Buttons -->
|
|
611
|
-
<div class="bg-
|
|
612
|
-
<h2 class="text-xl font-semibold text-
|
|
611
|
+
<div class="bg-status-error-bg rounded-lg p-6">
|
|
612
|
+
<h2 class="text-xl font-semibold text-status-error-text mb-4">Raw Buttons (25 instances, 12 files)</h2>
|
|
613
613
|
<div class="overflow-x-auto">
|
|
614
614
|
<table class="w-full text-sm">
|
|
615
615
|
<thead>
|
|
616
|
-
<tr class="text-left border-b border-
|
|
617
|
-
<th class="py-2 font-semibold text-
|
|
618
|
-
<th class="py-2 font-semibold text-
|
|
619
|
-
<th class="py-2 font-semibold text-
|
|
616
|
+
<tr class="text-left border-b border-status-error-border">
|
|
617
|
+
<th class="py-2 font-semibold text-status-error-text">File</th>
|
|
618
|
+
<th class="py-2 font-semibold text-status-error-text text-center">Count</th>
|
|
619
|
+
<th class="py-2 font-semibold text-status-error-text">Priority</th>
|
|
620
620
|
</tr>
|
|
621
621
|
</thead>
|
|
622
|
-
<tbody class="text-
|
|
623
|
-
<tr class="border-b border-
|
|
622
|
+
<tbody class="text-accent-danger">
|
|
623
|
+
<tr class="border-b border-status-error-border">
|
|
624
624
|
<td class="py-2">components/FeaturesTable/FeaturesReportsTableUnified.svelte</td>
|
|
625
625
|
<td class="py-2 text-center font-bold">3</td>
|
|
626
|
-
<td class="py-2"><span class="px-2 py-0.5 bg-
|
|
626
|
+
<td class="py-2"><span class="px-2 py-0.5 bg-status-error-bg text-status-error-text rounded text-xs">HIGH</span></td>
|
|
627
627
|
</tr>
|
|
628
|
-
<tr class="border-b border-
|
|
628
|
+
<tr class="border-b border-status-error-border">
|
|
629
629
|
<td class="py-2">components/UserProfileDropdown/UserDropdown.svelte</td>
|
|
630
630
|
<td class="py-2 text-center font-bold">3</td>
|
|
631
|
-
<td class="py-2"><span class="px-2 py-0.5 bg-
|
|
631
|
+
<td class="py-2"><span class="px-2 py-0.5 bg-status-error-bg text-status-error-text rounded text-xs">HIGH</span></td>
|
|
632
632
|
</tr>
|
|
633
|
-
<tr class="border-b border-
|
|
633
|
+
<tr class="border-b border-status-error-border">
|
|
634
634
|
<td class="py-2">components/MainLayout/Sidebar.svelte</td>
|
|
635
635
|
<td class="py-2 text-center font-bold">3</td>
|
|
636
|
-
<td class="py-2"><span class="px-2 py-0.5 bg-
|
|
636
|
+
<td class="py-2"><span class="px-2 py-0.5 bg-status-error-bg text-status-error-text rounded text-xs">HIGH</span></td>
|
|
637
637
|
</tr>
|
|
638
|
-
<tr class="border-b border-
|
|
638
|
+
<tr class="border-b border-status-error-border">
|
|
639
639
|
<td class="py-2">components/SingleEventSeriesReportTable/...Unified.svelte</td>
|
|
640
640
|
<td class="py-2 text-center font-bold">2</td>
|
|
641
|
-
<td class="py-2"><span class="px-2 py-0.5 bg-
|
|
641
|
+
<td class="py-2"><span class="px-2 py-0.5 bg-status-warning-bg text-accent-warning rounded text-xs">MEDIUM</span></td>
|
|
642
642
|
</tr>
|
|
643
|
-
<tr class="border-b border-
|
|
643
|
+
<tr class="border-b border-status-error-border">
|
|
644
644
|
<td class="py-2">components/Events/Details/FAQs.svelte</td>
|
|
645
645
|
<td class="py-2 text-center font-bold">2</td>
|
|
646
|
-
<td class="py-2"><span class="px-2 py-0.5 bg-
|
|
646
|
+
<td class="py-2"><span class="px-2 py-0.5 bg-status-warning-bg text-accent-warning rounded text-xs">MEDIUM</span></td>
|
|
647
647
|
</tr>
|
|
648
|
-
<tr class="border-b border-
|
|
648
|
+
<tr class="border-b border-status-error-border">
|
|
649
649
|
<td class="py-2">components/MainLayout/Header.svelte</td>
|
|
650
650
|
<td class="py-2 text-center font-bold">1</td>
|
|
651
|
-
<td class="py-2"><span class="px-2 py-0.5 bg-
|
|
651
|
+
<td class="py-2"><span class="px-2 py-0.5 bg-status-error-bg text-status-error-text rounded text-xs">HIGH</span></td>
|
|
652
652
|
</tr>
|
|
653
|
-
<tr class="border-b border-
|
|
653
|
+
<tr class="border-b border-status-error-border">
|
|
654
654
|
<td class="py-2">components/Dashboard/DashboardCards/CardWrapper.svelte</td>
|
|
655
655
|
<td class="py-2 text-center font-bold">1</td>
|
|
656
|
-
<td class="py-2"><span class="px-2 py-0.5 bg-
|
|
656
|
+
<td class="py-2"><span class="px-2 py-0.5 bg-status-warning-bg text-accent-warning rounded text-xs">MEDIUM</span></td>
|
|
657
657
|
</tr>
|
|
658
|
-
<tr class="border-b border-
|
|
658
|
+
<tr class="border-b border-status-error-border">
|
|
659
659
|
<td class="py-2">components/Events/Details/AboutShow.svelte</td>
|
|
660
660
|
<td class="py-2 text-center font-bold">1</td>
|
|
661
|
-
<td class="py-2"><span class="px-2 py-0.5 bg-
|
|
661
|
+
<td class="py-2"><span class="px-2 py-0.5 bg-status-warning-bg text-accent-warning rounded text-xs">MEDIUM</span></td>
|
|
662
662
|
</tr>
|
|
663
|
-
<tr class="border-b border-
|
|
663
|
+
<tr class="border-b border-status-error-border">
|
|
664
664
|
<td class="py-2">components/Events/Details/Disclaimer.svelte</td>
|
|
665
665
|
<td class="py-2 text-center font-bold">1</td>
|
|
666
|
-
<td class="py-2"><span class="px-2 py-0.5 bg-
|
|
666
|
+
<td class="py-2"><span class="px-2 py-0.5 bg-status-warning-bg text-accent-warning rounded text-xs">MEDIUM</span></td>
|
|
667
667
|
</tr>
|
|
668
|
-
<tr class="border-b border-
|
|
668
|
+
<tr class="border-b border-status-error-border text-muted-foreground">
|
|
669
669
|
<td class="py-2">stories/CalendarComparison/CalendarComparison.stories.svelte</td>
|
|
670
670
|
<td class="py-2 text-center font-bold">3</td>
|
|
671
|
-
<td class="py-2"><span class="px-2 py-0.5 bg-
|
|
671
|
+
<td class="py-2"><span class="px-2 py-0.5 bg-muted text-text-secondary rounded text-xs">STORYBOOK</span></td>
|
|
672
672
|
</tr>
|
|
673
|
-
<tr class="border-b border-
|
|
673
|
+
<tr class="border-b border-status-error-border text-muted-foreground">
|
|
674
674
|
<td class="py-2">stories/ComponentInstancesAudit/BadgeInstances.svelte</td>
|
|
675
675
|
<td class="py-2 text-center font-bold">3</td>
|
|
676
|
-
<td class="py-2"><span class="px-2 py-0.5 bg-
|
|
676
|
+
<td class="py-2"><span class="px-2 py-0.5 bg-muted text-text-secondary rounded text-xs">STORYBOOK</span></td>
|
|
677
677
|
</tr>
|
|
678
|
-
<tr class="text-
|
|
678
|
+
<tr class="text-muted-foreground">
|
|
679
679
|
<td class="py-2">stories/ComponentInstancesAudit/AlertInstances.svelte</td>
|
|
680
680
|
<td class="py-2 text-center font-bold">2</td>
|
|
681
|
-
<td class="py-2"><span class="px-2 py-0.5 bg-
|
|
681
|
+
<td class="py-2"><span class="px-2 py-0.5 bg-muted text-text-secondary rounded text-xs">STORYBOOK</span></td>
|
|
682
682
|
</tr>
|
|
683
683
|
</tbody>
|
|
684
684
|
</table>
|
|
685
685
|
</div>
|
|
686
|
-
<p class="mt-4 text-sm text-
|
|
686
|
+
<p class="mt-4 text-sm text-accent-danger">
|
|
687
687
|
<strong>Note:</strong> Storybook files (gray) are lower priority - focus on production components first.
|
|
688
688
|
</p>
|
|
689
689
|
</div>
|
|
690
690
|
|
|
691
691
|
<!-- Local Components Issue -->
|
|
692
|
-
<div class="bg-
|
|
693
|
-
<h2 class="text-xl font-semibold text-
|
|
694
|
-
<p class="text-sm text-
|
|
695
|
-
This repo has <strong>95 items</strong> in <code class="bg-
|
|
692
|
+
<div class="bg-status-warning-bg rounded-lg p-6">
|
|
693
|
+
<h2 class="text-xl font-semibold text-accent-warning mb-4">Local Component Duplicates</h2>
|
|
694
|
+
<p class="text-sm text-accent-warning mb-4">
|
|
695
|
+
This repo has <strong>95 items</strong> in <code class="bg-status-warning-bg px-1 rounded">src/components/</code>.
|
|
696
696
|
Many are app-specific, but some likely duplicate shared library components.
|
|
697
697
|
</p>
|
|
698
698
|
|
|
699
699
|
<div class="grid md:grid-cols-2 gap-4">
|
|
700
|
-
<div class="bg-
|
|
701
|
-
<h3 class="font-semibold text-
|
|
702
|
-
<ul class="list-disc list-inside text-sm text-
|
|
700
|
+
<div class="bg-card p-4 rounded-lg">
|
|
701
|
+
<h3 class="font-semibold text-accent-warning mb-2">Likely Duplicates (Check These):</h3>
|
|
702
|
+
<ul class="list-disc list-inside text-sm text-accent-warning space-y-1">
|
|
703
703
|
<li>CropImage/ → exists in svelte-components/recipes/</li>
|
|
704
704
|
<li>Modal/ → exists in svelte-components/primitives/</li>
|
|
705
705
|
<li>Input/ → exists in svelte-components/primitives/</li>
|
|
@@ -709,9 +709,9 @@ grep -r "<button" /Users/peet/repos/performers-portal/src --include="*.svelte
|
|
|
709
709
|
<li>PlaceAutocomplete/ → specialized, may be fine</li>
|
|
710
710
|
</ul>
|
|
711
711
|
</div>
|
|
712
|
-
<div class="bg-
|
|
713
|
-
<h3 class="font-semibold text-
|
|
714
|
-
<ul class="list-disc list-inside text-sm text-
|
|
712
|
+
<div class="bg-card p-4 rounded-lg">
|
|
713
|
+
<h3 class="font-semibold text-status-success-text mb-2">App-Specific (OK to Keep):</h3>
|
|
714
|
+
<ul class="list-disc list-inside text-sm text-accent-success space-y-1">
|
|
715
715
|
<li>EventForm/, EventReportsTable/</li>
|
|
716
716
|
<li>Dashboard/, DashboardTable/</li>
|
|
717
717
|
<li>UnifiedTable/, UnifiedCalendar/</li>
|
|
@@ -724,24 +724,24 @@ grep -r "<button" /Users/peet/repos/performers-portal/src --include="*.svelte
|
|
|
724
724
|
</div>
|
|
725
725
|
|
|
726
726
|
<!-- Recommendations -->
|
|
727
|
-
<div class="bg-
|
|
728
|
-
<h2 class="text-xl font-semibold text-
|
|
729
|
-
<ol class="list-decimal list-inside space-y-3 text-sm text-
|
|
727
|
+
<div class="bg-status-success-bg rounded-lg p-6">
|
|
728
|
+
<h2 class="text-xl font-semibold text-status-success-text mb-4">Recommendations</h2>
|
|
729
|
+
<ol class="list-decimal list-inside space-y-3 text-sm text-status-success-text">
|
|
730
730
|
<li>
|
|
731
731
|
<strong>Fix MainLayout components first</strong> (Header, Sidebar, UserDropdown)
|
|
732
|
-
<br/><span class="text-
|
|
732
|
+
<br/><span class="text-accent-success ml-4">These are on every page, highest impact</span>
|
|
733
733
|
</li>
|
|
734
734
|
<li>
|
|
735
735
|
<strong>Fix table components</strong> (FeaturesReportsTableUnified, SingleEventSeriesReportTableUnified)
|
|
736
|
-
<br/><span class="text-
|
|
736
|
+
<br/><span class="text-accent-success ml-4">Replace raw buttons with Button component</span>
|
|
737
737
|
</li>
|
|
738
738
|
<li>
|
|
739
739
|
<strong>Audit local CropImage, Modal, Input</strong>
|
|
740
|
-
<br/><span class="text-
|
|
740
|
+
<br/><span class="text-accent-success ml-4">Delete if identical to shared lib versions</span>
|
|
741
741
|
</li>
|
|
742
742
|
<li>
|
|
743
743
|
<strong>Keep app-specific components</strong> (tables, forms, etc.)
|
|
744
|
-
<br/><span class="text-
|
|
744
|
+
<br/><span class="text-accent-success ml-4">But ensure they USE shared primitives internally</span>
|
|
745
745
|
</li>
|
|
746
746
|
</ol>
|
|
747
747
|
</div>
|
|
@@ -750,98 +750,98 @@ grep -r "<button" /Users/peet/repos/performers-portal/src --include="*.svelte
|
|
|
750
750
|
|
|
751
751
|
<Story name="performers-portal Detailed">
|
|
752
752
|
<div class="space-y-8">
|
|
753
|
-
<h1 class="text-2xl font-bold text-
|
|
754
|
-
<p class="text-
|
|
753
|
+
<h1 class="text-2xl font-bold text-text-primary">performers-portal: Fresh Audit (Dec 26, 2025)</h1>
|
|
754
|
+
<p class="text-text-secondary">
|
|
755
755
|
<strong>7 files</strong> with raw buttons. Total: <strong>27 raw buttons</strong> (24 production, 3 test/story).
|
|
756
|
-
<span class="text-
|
|
756
|
+
<span class="text-accent-danger font-medium">Critical: Only 3 files use shared library!</span>
|
|
757
757
|
</p>
|
|
758
758
|
|
|
759
759
|
<!-- Summary -->
|
|
760
|
-
<div class="bg-
|
|
761
|
-
<h2 class="text-xl font-semibold text-
|
|
760
|
+
<div class="bg-status-warning-bg rounded-lg p-6">
|
|
761
|
+
<h2 class="text-xl font-semibold text-accent-warning mb-4">Summary</h2>
|
|
762
762
|
<div class="grid md:grid-cols-4 gap-4">
|
|
763
|
-
<div class="bg-
|
|
764
|
-
<div class="text-3xl font-bold text-
|
|
765
|
-
<div class="text-sm text-
|
|
766
|
-
<div class="text-xs text-
|
|
767
|
-
</div>
|
|
768
|
-
<div class="bg-
|
|
769
|
-
<div class="text-3xl font-bold text-
|
|
770
|
-
<div class="text-sm text-
|
|
771
|
-
<div class="text-xs text-
|
|
772
|
-
</div>
|
|
773
|
-
<div class="bg-
|
|
774
|
-
<div class="text-3xl font-bold text-
|
|
775
|
-
<div class="text-sm text-
|
|
776
|
-
<div class="text-xs text-
|
|
777
|
-
</div>
|
|
778
|
-
<div class="bg-
|
|
779
|
-
<div class="text-3xl font-bold text-
|
|
780
|
-
<div class="text-sm text-
|
|
781
|
-
<div class="text-xs text-
|
|
763
|
+
<div class="bg-card p-4 rounded-lg text-center">
|
|
764
|
+
<div class="text-3xl font-bold text-accent-danger">27</div>
|
|
765
|
+
<div class="text-sm text-text-secondary">Raw Buttons</div>
|
|
766
|
+
<div class="text-xs text-muted-foreground">in 7 files</div>
|
|
767
|
+
</div>
|
|
768
|
+
<div class="bg-card p-4 rounded-lg text-center">
|
|
769
|
+
<div class="text-3xl font-bold text-accent-danger">3</div>
|
|
770
|
+
<div class="text-sm text-text-secondary">Raw Inputs</div>
|
|
771
|
+
<div class="text-xs text-muted-foreground">in 2 files</div>
|
|
772
|
+
</div>
|
|
773
|
+
<div class="bg-card p-4 rounded-lg text-center">
|
|
774
|
+
<div class="text-3xl font-bold text-accent-danger">5</div>
|
|
775
|
+
<div class="text-sm text-text-secondary">Raw Forms</div>
|
|
776
|
+
<div class="text-xs text-muted-foreground">in 2 files</div>
|
|
777
|
+
</div>
|
|
778
|
+
<div class="bg-card p-4 rounded-lg text-center">
|
|
779
|
+
<div class="text-3xl font-bold text-accent-warning">3</div>
|
|
780
|
+
<div class="text-sm text-text-secondary">Shared Lib Imports</div>
|
|
781
|
+
<div class="text-xs text-accent-danger">poor adoption!</div>
|
|
782
782
|
</div>
|
|
783
783
|
</div>
|
|
784
784
|
</div>
|
|
785
785
|
|
|
786
786
|
<!-- Critical Issue -->
|
|
787
|
-
<div class="bg-
|
|
788
|
-
<h2 class="text-xl font-semibold text-
|
|
789
|
-
<p class="text-
|
|
790
|
-
Only <strong>3 files</strong> import from <code class="bg-
|
|
787
|
+
<div class="bg-status-error-bg rounded-lg p-6 border-2 border-status-error-border">
|
|
788
|
+
<h2 class="text-xl font-semibold text-status-error-text mb-4">⚠️ Critical Issue: Poor Shared Library Adoption</h2>
|
|
789
|
+
<p class="text-status-error-text mb-4">
|
|
790
|
+
Only <strong>3 files</strong> import from <code class="bg-status-error-bg px-1 rounded">@getmicdrop/svelte-components</code>.
|
|
791
791
|
This entire repo needs migration to the shared library.
|
|
792
792
|
</p>
|
|
793
|
-
<p class="text-sm text-
|
|
793
|
+
<p class="text-sm text-accent-danger">
|
|
794
794
|
Compare: micdrop-frontend has 329 files using the shared lib.
|
|
795
795
|
</p>
|
|
796
796
|
</div>
|
|
797
797
|
|
|
798
798
|
<!-- Raw Buttons -->
|
|
799
|
-
<div class="bg-
|
|
800
|
-
<h2 class="text-xl font-semibold text-
|
|
799
|
+
<div class="bg-status-error-bg rounded-lg p-6">
|
|
800
|
+
<h2 class="text-xl font-semibold text-status-error-text mb-4">Raw Buttons (27 instances, 7 files)</h2>
|
|
801
801
|
<div class="overflow-x-auto">
|
|
802
802
|
<table class="w-full text-sm">
|
|
803
803
|
<thead>
|
|
804
|
-
<tr class="text-left border-b border-
|
|
805
|
-
<th class="py-2 font-semibold text-
|
|
806
|
-
<th class="py-2 font-semibold text-
|
|
807
|
-
<th class="py-2 font-semibold text-
|
|
804
|
+
<tr class="text-left border-b border-status-error-border">
|
|
805
|
+
<th class="py-2 font-semibold text-status-error-text">File</th>
|
|
806
|
+
<th class="py-2 font-semibold text-status-error-text text-center">Count</th>
|
|
807
|
+
<th class="py-2 font-semibold text-status-error-text">Priority</th>
|
|
808
808
|
</tr>
|
|
809
809
|
</thead>
|
|
810
|
-
<tbody class="text-
|
|
811
|
-
<tr class="border-b border-
|
|
810
|
+
<tbody class="text-accent-danger">
|
|
811
|
+
<tr class="border-b border-status-error-border">
|
|
812
812
|
<td class="py-2">routes/login/+page.svelte</td>
|
|
813
813
|
<td class="py-2 text-center font-bold">9</td>
|
|
814
|
-
<td class="py-2"><span class="px-2 py-0.5 bg-
|
|
814
|
+
<td class="py-2"><span class="px-2 py-0.5 bg-status-error-bg text-status-error-text rounded text-xs">CRITICAL</span></td>
|
|
815
815
|
</tr>
|
|
816
|
-
<tr class="border-b border-
|
|
816
|
+
<tr class="border-b border-status-error-border">
|
|
817
817
|
<td class="py-2">routes/account-settings/+page.svelte</td>
|
|
818
818
|
<td class="py-2 text-center font-bold">6</td>
|
|
819
|
-
<td class="py-2"><span class="px-2 py-0.5 bg-
|
|
819
|
+
<td class="py-2"><span class="px-2 py-0.5 bg-status-error-bg text-status-error-text rounded text-xs">HIGH</span></td>
|
|
820
820
|
</tr>
|
|
821
|
-
<tr class="border-b border-
|
|
821
|
+
<tr class="border-b border-status-error-border">
|
|
822
822
|
<td class="py-2">routes/profile/+page.svelte</td>
|
|
823
823
|
<td class="py-2 text-center font-bold">5</td>
|
|
824
|
-
<td class="py-2"><span class="px-2 py-0.5 bg-
|
|
824
|
+
<td class="py-2"><span class="px-2 py-0.5 bg-status-error-bg text-status-error-text rounded text-xs">HIGH</span></td>
|
|
825
825
|
</tr>
|
|
826
|
-
<tr class="border-b border-
|
|
826
|
+
<tr class="border-b border-status-error-border">
|
|
827
827
|
<td class="py-2">routes/verify-phone/+page.svelte</td>
|
|
828
828
|
<td class="py-2 text-center font-bold">3</td>
|
|
829
|
-
<td class="py-2"><span class="px-2 py-0.5 bg-
|
|
829
|
+
<td class="py-2"><span class="px-2 py-0.5 bg-status-warning-bg text-accent-warning rounded text-xs">MEDIUM</span></td>
|
|
830
830
|
</tr>
|
|
831
|
-
<tr class="border-b border-
|
|
831
|
+
<tr class="border-b border-status-error-border">
|
|
832
832
|
<td class="py-2">components/Modal/ModalTestWrapper.svelte</td>
|
|
833
833
|
<td class="py-2 text-center font-bold">2</td>
|
|
834
|
-
<td class="py-2"><span class="px-2 py-0.5 bg-
|
|
834
|
+
<td class="py-2"><span class="px-2 py-0.5 bg-muted text-text-secondary rounded text-xs">TEST</span></td>
|
|
835
835
|
</tr>
|
|
836
|
-
<tr class="border-b border-
|
|
836
|
+
<tr class="border-b border-status-error-border">
|
|
837
837
|
<td class="py-2">routes/availability/[venueId]/+page.svelte</td>
|
|
838
838
|
<td class="py-2 text-center font-bold">1</td>
|
|
839
|
-
<td class="py-2"><span class="px-2 py-0.5 bg-
|
|
839
|
+
<td class="py-2"><span class="px-2 py-0.5 bg-status-warning-bg text-accent-warning rounded text-xs">MEDIUM</span></td>
|
|
840
840
|
</tr>
|
|
841
841
|
<tr>
|
|
842
|
-
<td class="py-2 text-
|
|
843
|
-
<td class="py-2 text-center font-bold text-
|
|
844
|
-
<td class="py-2"><span class="px-2 py-0.5 bg-
|
|
842
|
+
<td class="py-2 text-muted-foreground">stories/Button.svelte</td>
|
|
843
|
+
<td class="py-2 text-center font-bold text-muted-foreground">1</td>
|
|
844
|
+
<td class="py-2"><span class="px-2 py-0.5 bg-muted text-text-secondary rounded text-xs">STORYBOOK</span></td>
|
|
845
845
|
</tr>
|
|
846
846
|
</tbody>
|
|
847
847
|
</table>
|
|
@@ -849,23 +849,23 @@ grep -r "<button" /Users/peet/repos/performers-portal/src --include="*.svelte
|
|
|
849
849
|
</div>
|
|
850
850
|
|
|
851
851
|
<!-- Local Components -->
|
|
852
|
-
<div class="bg-
|
|
853
|
-
<h2 class="text-xl font-semibold text-
|
|
854
|
-
<p class="text-sm text-
|
|
855
|
-
This repo has a smaller <code class="bg-
|
|
852
|
+
<div class="bg-status-warning-bg rounded-lg p-6">
|
|
853
|
+
<h2 class="text-xl font-semibold text-accent-warning mb-4">Local Components (8 items)</h2>
|
|
854
|
+
<p class="text-sm text-accent-warning mb-4">
|
|
855
|
+
This repo has a smaller <code class="bg-status-warning-bg px-1 rounded">src/components/</code> directory.
|
|
856
856
|
</p>
|
|
857
857
|
|
|
858
858
|
<div class="grid md:grid-cols-2 gap-4">
|
|
859
|
-
<div class="bg-
|
|
860
|
-
<h3 class="font-semibold text-
|
|
861
|
-
<ul class="list-disc list-inside text-sm text-
|
|
859
|
+
<div class="bg-card p-4 rounded-lg">
|
|
860
|
+
<h3 class="font-semibold text-status-error-text mb-2">Should Migrate to Shared Lib:</h3>
|
|
861
|
+
<ul class="list-disc list-inside text-sm text-accent-danger space-y-1">
|
|
862
862
|
<li>Modal/ → use svelte-components/primitives/Modal</li>
|
|
863
863
|
<li>Layout/ → patterns should come from shared lib</li>
|
|
864
864
|
</ul>
|
|
865
865
|
</div>
|
|
866
|
-
<div class="bg-
|
|
867
|
-
<h3 class="font-semibold text-
|
|
868
|
-
<ul class="list-disc list-inside text-sm text-
|
|
866
|
+
<div class="bg-card p-4 rounded-lg">
|
|
867
|
+
<h3 class="font-semibold text-accent-warning mb-2">App-Specific (Evaluate):</h3>
|
|
868
|
+
<ul class="list-disc list-inside text-sm text-accent-warning space-y-1">
|
|
869
869
|
<li>CalendarOnboardingModal.svelte</li>
|
|
870
870
|
<li>HomeOnboardingModal.svelte</li>
|
|
871
871
|
<li>ProfileOnboardingModal.svelte</li>
|
|
@@ -878,24 +878,24 @@ grep -r "<button" /Users/peet/repos/performers-portal/src --include="*.svelte
|
|
|
878
878
|
</div>
|
|
879
879
|
|
|
880
880
|
<!-- Recommendations -->
|
|
881
|
-
<div class="bg-
|
|
882
|
-
<h2 class="text-xl font-semibold text-
|
|
883
|
-
<ol class="list-decimal list-inside space-y-3 text-sm text-
|
|
881
|
+
<div class="bg-status-success-bg rounded-lg p-6">
|
|
882
|
+
<h2 class="text-xl font-semibold text-status-success-text mb-4">Recommendations</h2>
|
|
883
|
+
<ol class="list-decimal list-inside space-y-3 text-sm text-status-success-text">
|
|
884
884
|
<li>
|
|
885
885
|
<strong>Migrate login/+page.svelte to use SuperLogin</strong>
|
|
886
|
-
<br/><span class="text-
|
|
886
|
+
<br/><span class="text-accent-success ml-4">9 raw buttons → 0 by using shared login component</span>
|
|
887
887
|
</li>
|
|
888
888
|
<li>
|
|
889
889
|
<strong>Replace all buttons with Button component</strong>
|
|
890
|
-
<br/><span class="text-
|
|
890
|
+
<br/><span class="text-accent-success ml-4">Import from @getmicdrop/svelte-components</span>
|
|
891
891
|
</li>
|
|
892
892
|
<li>
|
|
893
893
|
<strong>Use shared Modal instead of local Modal/</strong>
|
|
894
|
-
<br/><span class="text-
|
|
894
|
+
<br/><span class="text-accent-success ml-4">Delete local Modal/ directory after migration</span>
|
|
895
895
|
</li>
|
|
896
896
|
<li>
|
|
897
897
|
<strong>Onboarding modals may use ConfirmationModal or StatusModal</strong>
|
|
898
|
-
<br/><span class="text-
|
|
898
|
+
<br/><span class="text-accent-success ml-4">Check if shared recipes cover the use cases</span>
|
|
899
899
|
</li>
|
|
900
900
|
</ol>
|
|
901
901
|
</div>
|
|
@@ -904,37 +904,37 @@ grep -r "<button" /Users/peet/repos/performers-portal/src --include="*.svelte
|
|
|
904
904
|
|
|
905
905
|
<Story name="venue-calendar-npm Detailed">
|
|
906
906
|
<div class="space-y-8">
|
|
907
|
-
<h1 class="text-2xl font-bold text-
|
|
908
|
-
<p class="text-
|
|
907
|
+
<h1 class="text-2xl font-bold text-text-primary">venue-calendar-npm: Detailed Audit</h1>
|
|
908
|
+
<p class="text-text-secondary">
|
|
909
909
|
This is a standalone package embedded in svelte-components/calendar/. Changes here propagate to all consumers.
|
|
910
910
|
</p>
|
|
911
911
|
|
|
912
912
|
<!-- Summary -->
|
|
913
|
-
<div class="bg-
|
|
914
|
-
<h2 class="text-xl font-semibold text-
|
|
913
|
+
<div class="bg-status-info-bg rounded-lg p-6">
|
|
914
|
+
<h2 class="text-xl font-semibold text-brand-primary mb-4">Summary</h2>
|
|
915
915
|
<div class="grid md:grid-cols-3 gap-4">
|
|
916
|
-
<div class="bg-
|
|
917
|
-
<div class="text-3xl font-bold text-
|
|
918
|
-
<div class="text-sm text-
|
|
919
|
-
<div class="text-xs text-
|
|
916
|
+
<div class="bg-card p-4 rounded-lg text-center">
|
|
917
|
+
<div class="text-3xl font-bold text-accent-danger">68</div>
|
|
918
|
+
<div class="text-sm text-text-secondary">Raw Buttons</div>
|
|
919
|
+
<div class="text-xs text-muted-foreground">in 21 files</div>
|
|
920
920
|
</div>
|
|
921
|
-
<div class="bg-
|
|
922
|
-
<div class="text-3xl font-bold text-
|
|
923
|
-
<div class="text-sm text-
|
|
924
|
-
<div class="text-xs text-
|
|
921
|
+
<div class="bg-card p-4 rounded-lg text-center">
|
|
922
|
+
<div class="text-3xl font-bold text-accent-danger">9</div>
|
|
923
|
+
<div class="text-sm text-text-secondary">Raw Inputs</div>
|
|
924
|
+
<div class="text-xs text-muted-foreground">in 3 files</div>
|
|
925
925
|
</div>
|
|
926
|
-
<div class="bg-
|
|
927
|
-
<div class="text-3xl font-bold text-
|
|
928
|
-
<div class="text-sm text-
|
|
929
|
-
<div class="text-xs text-
|
|
926
|
+
<div class="bg-card p-4 rounded-lg text-center">
|
|
927
|
+
<div class="text-3xl font-bold text-accent-success">0</div>
|
|
928
|
+
<div class="text-sm text-text-secondary">Raw Forms</div>
|
|
929
|
+
<div class="text-xs text-muted-foreground">good!</div>
|
|
930
930
|
</div>
|
|
931
931
|
</div>
|
|
932
932
|
</div>
|
|
933
933
|
|
|
934
934
|
<!-- Special Note -->
|
|
935
|
-
<div class="bg-
|
|
936
|
-
<h2 class="text-lg font-semibold text-
|
|
937
|
-
<p class="text-sm text-
|
|
935
|
+
<div class="bg-status-warning-bg rounded-lg p-6 border-l-4 border-accent-warning">
|
|
936
|
+
<h2 class="text-lg font-semibold text-accent-warning mb-2">⚠️ Special Handling Required</h2>
|
|
937
|
+
<p class="text-sm text-accent-warning">
|
|
938
938
|
This package is <strong>standalone</strong> and embedded in svelte-components. It cannot directly import
|
|
939
939
|
from @getmicdrop/svelte-components (circular dependency). Raw buttons here may be intentional to avoid
|
|
940
940
|
dependency coupling. Consider creating a minimal Button for the calendar package.
|
|
@@ -942,108 +942,108 @@ grep -r "<button" /Users/peet/repos/performers-portal/src --include="*.svelte
|
|
|
942
942
|
</div>
|
|
943
943
|
|
|
944
944
|
<!-- Raw Buttons by Category -->
|
|
945
|
-
<div class="bg-
|
|
946
|
-
<h2 class="text-xl font-semibold text-
|
|
945
|
+
<div class="bg-status-error-bg rounded-lg p-6">
|
|
946
|
+
<h2 class="text-xl font-semibold text-status-error-text mb-4">Raw Buttons by Category</h2>
|
|
947
947
|
|
|
948
948
|
<div class="space-y-4">
|
|
949
949
|
<!-- Routes (Test Pages) -->
|
|
950
|
-
<div class="bg-
|
|
951
|
-
<h3 class="font-semibold text-
|
|
950
|
+
<div class="bg-card p-4 rounded-lg">
|
|
951
|
+
<h3 class="font-semibold text-text-secondary mb-2">Routes (Test/Demo Pages)</h3>
|
|
952
952
|
<table class="w-full text-sm">
|
|
953
|
-
<tbody class="text-
|
|
954
|
-
<tr class="border-b border-
|
|
953
|
+
<tbody class="text-text-secondary">
|
|
954
|
+
<tr class="border-b border-border">
|
|
955
955
|
<td class="py-1">routes/scenarios/+page.svelte</td>
|
|
956
956
|
<td class="py-1 text-center font-bold">12</td>
|
|
957
|
-
<td class="py-1"><span class="px-2 py-0.5 bg-
|
|
957
|
+
<td class="py-1"><span class="px-2 py-0.5 bg-muted text-text-secondary rounded text-xs">LOW</span></td>
|
|
958
958
|
</tr>
|
|
959
|
-
<tr class="border-b border-
|
|
959
|
+
<tr class="border-b border-border">
|
|
960
960
|
<td class="py-1">routes/preview/+page.svelte</td>
|
|
961
961
|
<td class="py-1 text-center font-bold">9</td>
|
|
962
|
-
<td class="py-1"><span class="px-2 py-0.5 bg-
|
|
962
|
+
<td class="py-1"><span class="px-2 py-0.5 bg-muted text-text-secondary rounded text-xs">LOW</span></td>
|
|
963
963
|
</tr>
|
|
964
|
-
<tr class="border-b border-
|
|
964
|
+
<tr class="border-b border-border">
|
|
965
965
|
<td class="py-1">routes/[id]/[slug]/+page.svelte</td>
|
|
966
966
|
<td class="py-1 text-center font-bold">8</td>
|
|
967
|
-
<td class="py-1"><span class="px-2 py-0.5 bg-
|
|
967
|
+
<td class="py-1"><span class="px-2 py-0.5 bg-status-warning-bg text-accent-warning rounded text-xs">MEDIUM</span></td>
|
|
968
968
|
</tr>
|
|
969
|
-
<tr class="border-b border-
|
|
969
|
+
<tr class="border-b border-border">
|
|
970
970
|
<td class="py-1">routes/[id]/[slug]/tickets/checkout/+page.svelte</td>
|
|
971
971
|
<td class="py-1 text-center font-bold">3</td>
|
|
972
|
-
<td class="py-1"><span class="px-2 py-0.5 bg-
|
|
972
|
+
<td class="py-1"><span class="px-2 py-0.5 bg-status-warning-bg text-accent-warning rounded text-xs">MEDIUM</span></td>
|
|
973
973
|
</tr>
|
|
974
|
-
<tr class="border-b border-
|
|
974
|
+
<tr class="border-b border-border">
|
|
975
975
|
<td class="py-1">routes/[id]/[slug]/tickets/checkout/success/+page.svelte</td>
|
|
976
976
|
<td class="py-1 text-center font-bold">2</td>
|
|
977
|
-
<td class="py-1"><span class="px-2 py-0.5 bg-
|
|
977
|
+
<td class="py-1"><span class="px-2 py-0.5 bg-status-warning-bg text-accent-warning rounded text-xs">MEDIUM</span></td>
|
|
978
978
|
</tr>
|
|
979
979
|
<tr>
|
|
980
980
|
<td class="py-1">routes/+error.svelte</td>
|
|
981
981
|
<td class="py-1 text-center font-bold">2</td>
|
|
982
|
-
<td class="py-1"><span class="px-2 py-0.5 bg-
|
|
982
|
+
<td class="py-1"><span class="px-2 py-0.5 bg-muted text-text-secondary rounded text-xs">LOW</span></td>
|
|
983
983
|
</tr>
|
|
984
984
|
</tbody>
|
|
985
985
|
</table>
|
|
986
986
|
</div>
|
|
987
987
|
|
|
988
988
|
<!-- Components (Embedded) -->
|
|
989
|
-
<div class="bg-
|
|
990
|
-
<h3 class="font-semibold text-
|
|
989
|
+
<div class="bg-card p-4 rounded-lg">
|
|
990
|
+
<h3 class="font-semibold text-status-error-text mb-2">Components (Embedded in svelte-components)</h3>
|
|
991
991
|
<table class="w-full text-sm">
|
|
992
|
-
<tbody class="text-
|
|
993
|
-
<tr class="border-b border-
|
|
992
|
+
<tbody class="text-accent-danger">
|
|
993
|
+
<tr class="border-b border-status-error-border">
|
|
994
994
|
<td class="py-1">components/Calendar/Calendar.svelte</td>
|
|
995
995
|
<td class="py-1 text-center font-bold">3</td>
|
|
996
|
-
<td class="py-1"><span class="px-2 py-0.5 bg-
|
|
996
|
+
<td class="py-1"><span class="px-2 py-0.5 bg-status-error-bg text-status-error-text rounded text-xs">HIGH</span></td>
|
|
997
997
|
</tr>
|
|
998
|
-
<tr class="border-b border-
|
|
998
|
+
<tr class="border-b border-status-error-border">
|
|
999
999
|
<td class="py-1">components/Calendar/CalendarHeader.svelte</td>
|
|
1000
1000
|
<td class="py-1 text-center font-bold">2</td>
|
|
1001
|
-
<td class="py-1"><span class="px-2 py-0.5 bg-
|
|
1001
|
+
<td class="py-1"><span class="px-2 py-0.5 bg-status-error-bg text-status-error-text rounded text-xs">HIGH</span></td>
|
|
1002
1002
|
</tr>
|
|
1003
|
-
<tr class="border-b border-
|
|
1003
|
+
<tr class="border-b border-status-error-border">
|
|
1004
1004
|
<td class="py-1">components/DateSelector/DateSelector.svelte</td>
|
|
1005
1005
|
<td class="py-1 text-center font-bold">3</td>
|
|
1006
|
-
<td class="py-1"><span class="px-2 py-0.5 bg-
|
|
1006
|
+
<td class="py-1"><span class="px-2 py-0.5 bg-status-error-bg text-status-error-text rounded text-xs">HIGH</span></td>
|
|
1007
1007
|
</tr>
|
|
1008
|
-
<tr class="border-b border-
|
|
1008
|
+
<tr class="border-b border-status-error-border">
|
|
1009
1009
|
<td class="py-1">components/DateSelector/DateSelectorGrouped.svelte</td>
|
|
1010
1010
|
<td class="py-1 text-center font-bold">3</td>
|
|
1011
|
-
<td class="py-1"><span class="px-2 py-0.5 bg-
|
|
1011
|
+
<td class="py-1"><span class="px-2 py-0.5 bg-status-error-bg text-status-error-text rounded text-xs">HIGH</span></td>
|
|
1012
1012
|
</tr>
|
|
1013
|
-
<tr class="border-b border-
|
|
1013
|
+
<tr class="border-b border-status-error-border">
|
|
1014
1014
|
<td class="py-1">components/Views/EventDetailsView.svelte</td>
|
|
1015
1015
|
<td class="py-1 text-center font-bold">3</td>
|
|
1016
|
-
<td class="py-1"><span class="px-2 py-0.5 bg-
|
|
1016
|
+
<td class="py-1"><span class="px-2 py-0.5 bg-status-error-bg text-status-error-text rounded text-xs">HIGH</span></td>
|
|
1017
1017
|
</tr>
|
|
1018
|
-
<tr class="border-b border-
|
|
1018
|
+
<tr class="border-b border-status-error-border">
|
|
1019
1019
|
<td class="py-1">components/Views/Checkout.svelte</td>
|
|
1020
1020
|
<td class="py-1 text-center font-bold">3</td>
|
|
1021
|
-
<td class="py-1"><span class="px-2 py-0.5 bg-
|
|
1021
|
+
<td class="py-1"><span class="px-2 py-0.5 bg-status-error-bg text-status-error-text rounded text-xs">HIGH</span></td>
|
|
1022
1022
|
</tr>
|
|
1023
|
-
<tr class="border-b border-
|
|
1023
|
+
<tr class="border-b border-status-error-border">
|
|
1024
1024
|
<td class="py-1">components/Events/Checkout/PaymentSection.svelte</td>
|
|
1025
1025
|
<td class="py-1 text-center font-bold">3</td>
|
|
1026
|
-
<td class="py-1"><span class="px-2 py-0.5 bg-
|
|
1026
|
+
<td class="py-1"><span class="px-2 py-0.5 bg-status-warning-bg text-accent-warning rounded text-xs">MEDIUM</span></td>
|
|
1027
1027
|
</tr>
|
|
1028
|
-
<tr class="border-b border-
|
|
1028
|
+
<tr class="border-b border-status-error-border">
|
|
1029
1029
|
<td class="py-1">components/Events/Tickets/PromocodeInput.svelte</td>
|
|
1030
1030
|
<td class="py-1 text-center font-bold">2</td>
|
|
1031
|
-
<td class="py-1"><span class="px-2 py-0.5 bg-
|
|
1031
|
+
<td class="py-1"><span class="px-2 py-0.5 bg-status-warning-bg text-accent-warning rounded text-xs">MEDIUM</span></td>
|
|
1032
1032
|
</tr>
|
|
1033
|
-
<tr class="border-b border-
|
|
1033
|
+
<tr class="border-b border-status-error-border">
|
|
1034
1034
|
<td class="py-1">components/Events/Tickets/TicketBlock.svelte</td>
|
|
1035
1035
|
<td class="py-1 text-center font-bold">2</td>
|
|
1036
|
-
<td class="py-1"><span class="px-2 py-0.5 bg-
|
|
1036
|
+
<td class="py-1"><span class="px-2 py-0.5 bg-status-warning-bg text-accent-warning rounded text-xs">MEDIUM</span></td>
|
|
1037
1037
|
</tr>
|
|
1038
|
-
<tr class="border-b border-
|
|
1038
|
+
<tr class="border-b border-status-error-border">
|
|
1039
1039
|
<td class="py-1">components/Events/Checkout/CheckoutEventInfo.svelte</td>
|
|
1040
1040
|
<td class="py-1 text-center font-bold">2</td>
|
|
1041
|
-
<td class="py-1"><span class="px-2 py-0.5 bg-
|
|
1041
|
+
<td class="py-1"><span class="px-2 py-0.5 bg-status-warning-bg text-accent-warning rounded text-xs">MEDIUM</span></td>
|
|
1042
1042
|
</tr>
|
|
1043
1043
|
<tr>
|
|
1044
1044
|
<td class="py-1">+ 5 more files with 1-2 buttons each</td>
|
|
1045
1045
|
<td class="py-1 text-center font-bold">6</td>
|
|
1046
|
-
<td class="py-1"><span class="px-2 py-0.5 bg-
|
|
1046
|
+
<td class="py-1"><span class="px-2 py-0.5 bg-status-warning-bg text-accent-warning rounded text-xs">MEDIUM</span></td>
|
|
1047
1047
|
</tr>
|
|
1048
1048
|
</tbody>
|
|
1049
1049
|
</table>
|
|
@@ -1052,24 +1052,24 @@ grep -r "<button" /Users/peet/repos/performers-portal/src --include="*.svelte
|
|
|
1052
1052
|
</div>
|
|
1053
1053
|
|
|
1054
1054
|
<!-- Recommendations -->
|
|
1055
|
-
<div class="bg-
|
|
1056
|
-
<h2 class="text-xl font-semibold text-
|
|
1057
|
-
<ol class="list-decimal list-inside space-y-3 text-sm text-
|
|
1055
|
+
<div class="bg-status-success-bg rounded-lg p-6">
|
|
1056
|
+
<h2 class="text-xl font-semibold text-status-success-text mb-4">Recommendations</h2>
|
|
1057
|
+
<ol class="list-decimal list-inside space-y-3 text-sm text-status-success-text">
|
|
1058
1058
|
<li>
|
|
1059
1059
|
<strong>Create a minimal CalendarButton component</strong>
|
|
1060
|
-
<br/><span class="text-
|
|
1060
|
+
<br/><span class="text-accent-success ml-4">Internal to venue-calendar-npm, consistent styling</span>
|
|
1061
1061
|
</li>
|
|
1062
1062
|
<li>
|
|
1063
1063
|
<strong>Focus on components/, not routes/</strong>
|
|
1064
|
-
<br/><span class="text-
|
|
1064
|
+
<br/><span class="text-accent-success ml-4">Routes are test/demo pages, lower priority</span>
|
|
1065
1065
|
</li>
|
|
1066
1066
|
<li>
|
|
1067
1067
|
<strong>Handle AFTER main consolidation</strong>
|
|
1068
|
-
<br/><span class="text-
|
|
1068
|
+
<br/><span class="text-accent-success ml-4">This is Phase 4, do consumer repos first</span>
|
|
1069
1069
|
</li>
|
|
1070
1070
|
<li>
|
|
1071
1071
|
<strong>Consider design token sharing</strong>
|
|
1072
|
-
<br/><span class="text-
|
|
1072
|
+
<br/><span class="text-accent-success ml-4">Calendar buttons should match app styling</span>
|
|
1073
1073
|
</li>
|
|
1074
1074
|
</ol>
|
|
1075
1075
|
</div>
|
|
@@ -1078,50 +1078,50 @@ grep -r "<button" /Users/peet/repos/performers-portal/src --include="*.svelte
|
|
|
1078
1078
|
|
|
1079
1079
|
<Story name="Duplicate Components">
|
|
1080
1080
|
<div class="space-y-8">
|
|
1081
|
-
<h1 class="text-2xl font-bold text-
|
|
1082
|
-
<p class="text-
|
|
1081
|
+
<h1 class="text-2xl font-bold text-text-primary">Duplicate/Outdated Components</h1>
|
|
1082
|
+
<p class="text-text-secondary">
|
|
1083
1083
|
Components that exist in multiple places or are outdated versions.
|
|
1084
1084
|
</p>
|
|
1085
1085
|
|
|
1086
|
-
<div class="bg-
|
|
1087
|
-
<h2 class="text-xl font-semibold text-
|
|
1086
|
+
<div class="bg-status-warning-bg rounded-lg p-6">
|
|
1087
|
+
<h2 class="text-xl font-semibold text-accent-warning mb-4">
|
|
1088
1088
|
Known Duplicates to Investigate
|
|
1089
1089
|
</h2>
|
|
1090
1090
|
|
|
1091
|
-
<p class="text-sm text-
|
|
1091
|
+
<p class="text-sm text-accent-warning mb-4">
|
|
1092
1092
|
These need to be audited - consumer repos may have local copies of components that are now in svelte-components:
|
|
1093
1093
|
</p>
|
|
1094
1094
|
|
|
1095
1095
|
<table class="w-full text-sm">
|
|
1096
1096
|
<thead>
|
|
1097
|
-
<tr class="text-left border-b border-
|
|
1098
|
-
<th class="py-2 font-semibold text-
|
|
1099
|
-
<th class="py-2 font-semibold text-
|
|
1100
|
-
<th class="py-2 font-semibold text-
|
|
1097
|
+
<tr class="text-left border-b border-accent-warning">
|
|
1098
|
+
<th class="py-2 font-semibold text-accent-warning">Component</th>
|
|
1099
|
+
<th class="py-2 font-semibold text-accent-warning">In svelte-components</th>
|
|
1100
|
+
<th class="py-2 font-semibold text-accent-warning">Check Consumer Repos</th>
|
|
1101
1101
|
</tr>
|
|
1102
1102
|
</thead>
|
|
1103
|
-
<tbody class="text-
|
|
1104
|
-
<tr class="border-b border-
|
|
1103
|
+
<tbody class="text-accent-warning">
|
|
1104
|
+
<tr class="border-b border-status-warning-border">
|
|
1105
1105
|
<td class="py-2">Button</td>
|
|
1106
1106
|
<td class="py-2">primitives/Button/Button.svelte</td>
|
|
1107
1107
|
<td class="py-2">$lib/components/Button?</td>
|
|
1108
1108
|
</tr>
|
|
1109
|
-
<tr class="border-b border-
|
|
1109
|
+
<tr class="border-b border-status-warning-border">
|
|
1110
1110
|
<td class="py-2">Input</td>
|
|
1111
1111
|
<td class="py-2">primitives/Input/Input.svelte</td>
|
|
1112
1112
|
<td class="py-2">$lib/components/Input?</td>
|
|
1113
1113
|
</tr>
|
|
1114
|
-
<tr class="border-b border-
|
|
1114
|
+
<tr class="border-b border-status-warning-border">
|
|
1115
1115
|
<td class="py-2">Modal</td>
|
|
1116
1116
|
<td class="py-2">primitives/Modal/Modal.svelte</td>
|
|
1117
1117
|
<td class="py-2">$lib/components/Modal?</td>
|
|
1118
1118
|
</tr>
|
|
1119
|
-
<tr class="border-b border-
|
|
1119
|
+
<tr class="border-b border-status-warning-border">
|
|
1120
1120
|
<td class="py-2">Checkbox</td>
|
|
1121
1121
|
<td class="py-2">primitives/Checkbox/Checkbox.svelte</td>
|
|
1122
1122
|
<td class="py-2">$lib/components/Checkbox?</td>
|
|
1123
1123
|
</tr>
|
|
1124
|
-
<tr class="border-b border-
|
|
1124
|
+
<tr class="border-b border-status-warning-border">
|
|
1125
1125
|
<td class="py-2">Avatar</td>
|
|
1126
1126
|
<td class="py-2">primitives/Avatar/Avatar.svelte</td>
|
|
1127
1127
|
<td class="py-2">$lib/components/Avatar?</td>
|
|
@@ -1134,9 +1134,9 @@ grep -r "<button" /Users/peet/repos/performers-portal/src --include="*.svelte
|
|
|
1134
1134
|
</tbody>
|
|
1135
1135
|
</table>
|
|
1136
1136
|
|
|
1137
|
-
<div class="mt-4 bg-
|
|
1138
|
-
<h4 class="font-semibold text-
|
|
1139
|
-
<pre class="text-xs bg-
|
|
1137
|
+
<div class="mt-4 bg-card rounded p-3">
|
|
1138
|
+
<h4 class="font-semibold text-text-secondary mb-2">Audit Commands:</h4>
|
|
1139
|
+
<pre class="text-xs bg-muted p-2 rounded overflow-x-auto">
|
|
1140
1140
|
# Check what local components exist:
|
|
1141
1141
|
ls -la /Users/peet/repos/micdrop-frontend/src/lib/components/
|
|
1142
1142
|
ls -la /Users/peet/repos/performers-portal/src/lib/components/
|
|
@@ -1146,27 +1146,27 @@ grep -r "from '\$lib/components/Button" /Users/peet/repos/micdrop-frontend/src -
|
|
|
1146
1146
|
</div>
|
|
1147
1147
|
</div>
|
|
1148
1148
|
|
|
1149
|
-
<div class="bg-
|
|
1150
|
-
<h2 class="text-xl font-semibold text-
|
|
1149
|
+
<div class="bg-status-info-bg rounded-lg p-6">
|
|
1150
|
+
<h2 class="text-xl font-semibold text-status-info-text mb-4">
|
|
1151
1151
|
Within svelte-components: Potential Consolidation
|
|
1152
1152
|
</h2>
|
|
1153
1153
|
|
|
1154
|
-
<p class="text-sm text-
|
|
1154
|
+
<p class="text-sm text-brand-primary mb-4">
|
|
1155
1155
|
Check if any of these serve similar purposes and could be merged:
|
|
1156
1156
|
</p>
|
|
1157
1157
|
|
|
1158
|
-
<ul class="list-disc list-inside text-sm text-
|
|
1158
|
+
<ul class="list-disc list-inside text-sm text-brand-primary space-y-2">
|
|
1159
1159
|
<li>
|
|
1160
1160
|
<strong>Modal vs BottomSheet vs StatusModal vs ConfirmationModal</strong>
|
|
1161
|
-
<br/><span class="text-
|
|
1161
|
+
<br/><span class="text-brand-primary ml-4">→ Are these all necessary, or can some be variants of one component?</span>
|
|
1162
1162
|
</li>
|
|
1163
1163
|
<li>
|
|
1164
1164
|
<strong>Select vs MultiSelect</strong>
|
|
1165
|
-
<br/><span class="text-
|
|
1165
|
+
<br/><span class="text-brand-primary ml-4">→ Should these share more code? (SelectDropdown removed)</span>
|
|
1166
1166
|
</li>
|
|
1167
1167
|
<li>
|
|
1168
1168
|
<strong>Input vs OTPInput vs PlaceAutocomplete</strong>
|
|
1169
|
-
<br/><span class="text-
|
|
1169
|
+
<br/><span class="text-brand-primary ml-4">→ Can OTPInput and PlaceAutocomplete build on Input?</span>
|
|
1170
1170
|
</li>
|
|
1171
1171
|
</ul>
|
|
1172
1172
|
</div>
|
|
@@ -1175,77 +1175,77 @@ grep -r "from '\$lib/components/Button" /Users/peet/repos/micdrop-frontend/src -
|
|
|
1175
1175
|
|
|
1176
1176
|
<Story name="Action Plan">
|
|
1177
1177
|
<div class="space-y-8">
|
|
1178
|
-
<h1 class="text-2xl font-bold text-
|
|
1178
|
+
<h1 class="text-2xl font-bold text-text-primary">Recommended Action Plan</h1>
|
|
1179
1179
|
|
|
1180
1180
|
<!-- Phase 1 COMPLETE -->
|
|
1181
|
-
<div class="bg-
|
|
1182
|
-
<h2 class="text-xl font-bold text-
|
|
1181
|
+
<div class="bg-status-success-bg rounded-lg p-6 border-2 border-accent-success">
|
|
1182
|
+
<h2 class="text-xl font-bold text-status-success-text mb-4">✓ Phase 1: Audit Complete (Dec 26, 2025)</h2>
|
|
1183
1183
|
|
|
1184
1184
|
<div class="space-y-3">
|
|
1185
1185
|
<div class="flex items-start gap-3">
|
|
1186
1186
|
<input type="checkbox" checked disabled class="mt-1" />
|
|
1187
1187
|
<div>
|
|
1188
|
-
<p class="font-medium text-
|
|
1188
|
+
<p class="font-medium text-status-success-text line-through">Scan svelte-components: 36 files, 13 need fixing</p>
|
|
1189
1189
|
</div>
|
|
1190
1190
|
</div>
|
|
1191
1191
|
<div class="flex items-start gap-3">
|
|
1192
1192
|
<input type="checkbox" checked disabled class="mt-1" />
|
|
1193
1193
|
<div>
|
|
1194
|
-
<p class="font-medium text-
|
|
1194
|
+
<p class="font-medium text-status-success-text line-through">Scan micdrop-frontend: 12 files, 25 raw buttons</p>
|
|
1195
1195
|
</div>
|
|
1196
1196
|
</div>
|
|
1197
1197
|
<div class="flex items-start gap-3">
|
|
1198
1198
|
<input type="checkbox" checked disabled class="mt-1" />
|
|
1199
1199
|
<div>
|
|
1200
|
-
<p class="font-medium text-
|
|
1200
|
+
<p class="font-medium text-status-success-text line-through">Scan performers-portal: 7 files, 27 raw buttons</p>
|
|
1201
1201
|
</div>
|
|
1202
1202
|
</div>
|
|
1203
1203
|
<div class="flex items-start gap-3">
|
|
1204
1204
|
<input type="checkbox" checked disabled class="mt-1" />
|
|
1205
1205
|
<div>
|
|
1206
|
-
<p class="font-medium text-
|
|
1206
|
+
<p class="font-medium text-status-success-text line-through">Document findings with categorization and suggestions</p>
|
|
1207
1207
|
</div>
|
|
1208
1208
|
</div>
|
|
1209
1209
|
</div>
|
|
1210
1210
|
</div>
|
|
1211
1211
|
|
|
1212
1212
|
<!-- Phase 2 COMPLETE -->
|
|
1213
|
-
<div class="bg-
|
|
1214
|
-
<h2 class="text-xl font-bold text-
|
|
1215
|
-
<p class="text-sm text-
|
|
1213
|
+
<div class="bg-status-success-bg rounded-lg p-6 border-2 border-accent-success">
|
|
1214
|
+
<h2 class="text-xl font-bold text-status-success-text mb-4">✓ Phase 2: Fix svelte-components (COMPLETE - Dec 26, 2025)</h2>
|
|
1215
|
+
<p class="text-sm text-accent-success mb-4">All 13 raw buttons in 2 files have been migrated. New Button variants added: avatar, menu-item, menu-item-danger, card.</p>
|
|
1216
1216
|
|
|
1217
1217
|
<div class="space-y-3">
|
|
1218
1218
|
<div class="flex items-start gap-3">
|
|
1219
1219
|
<input type="checkbox" checked disabled class="mt-1" />
|
|
1220
1220
|
<div>
|
|
1221
|
-
<p class="font-medium text-
|
|
1221
|
+
<p class="font-medium text-status-success-text line-through">CropImage.svelte - fully migrated to Button</p>
|
|
1222
1222
|
</div>
|
|
1223
1223
|
</div>
|
|
1224
1224
|
<div class="flex items-start gap-3">
|
|
1225
1225
|
<input type="checkbox" checked disabled class="mt-1" />
|
|
1226
1226
|
<div>
|
|
1227
|
-
<p class="font-medium text-
|
|
1227
|
+
<p class="font-medium text-status-success-text line-through">Header.svelte - 9 raw buttons → Button avatar/menu-item/menu-item-danger</p>
|
|
1228
1228
|
</div>
|
|
1229
1229
|
</div>
|
|
1230
1230
|
<div class="flex items-start gap-3">
|
|
1231
1231
|
<input type="checkbox" checked disabled class="mt-1" />
|
|
1232
1232
|
<div>
|
|
1233
|
-
<p class="font-medium text-
|
|
1233
|
+
<p class="font-medium text-status-success-text line-through">SuperLogin.svelte - 4 raw buttons → Button card/link variants</p>
|
|
1234
1234
|
</div>
|
|
1235
1235
|
</div>
|
|
1236
1236
|
<div class="flex items-start gap-3">
|
|
1237
1237
|
<input type="checkbox" checked disabled class="mt-1" />
|
|
1238
1238
|
<div>
|
|
1239
|
-
<p class="font-medium text-
|
|
1239
|
+
<p class="font-medium text-status-success-text line-through">PR #25 updated with all fixes</p>
|
|
1240
1240
|
</div>
|
|
1241
1241
|
</div>
|
|
1242
1242
|
</div>
|
|
1243
1243
|
</div>
|
|
1244
1244
|
|
|
1245
|
-
<div class="bg-
|
|
1246
|
-
<h2 class="text-xl font-bold text-
|
|
1245
|
+
<div class="bg-status-success-bg rounded-lg p-6">
|
|
1246
|
+
<h2 class="text-xl font-bold text-status-success-text mb-4">Phase 3: Fix Consumer Repos</h2>
|
|
1247
1247
|
|
|
1248
|
-
<p class="text-sm text-
|
|
1248
|
+
<p class="text-sm text-status-success-text mb-4">
|
|
1249
1249
|
<strong>Do one repo at a time.</strong> Start with performers-portal (smaller), then micdrop-frontend.
|
|
1250
1250
|
</p>
|
|
1251
1251
|
|
|
@@ -1253,46 +1253,46 @@ grep -r "from '\$lib/components/Button" /Users/peet/repos/micdrop-frontend/src -
|
|
|
1253
1253
|
<div class="flex items-start gap-3">
|
|
1254
1254
|
<input type="checkbox" class="mt-1" />
|
|
1255
1255
|
<div>
|
|
1256
|
-
<p class="font-medium text-
|
|
1256
|
+
<p class="font-medium text-status-success-text">Update to latest @getmicdrop/svelte-components</p>
|
|
1257
1257
|
</div>
|
|
1258
1258
|
</div>
|
|
1259
1259
|
<div class="flex items-start gap-3">
|
|
1260
1260
|
<input type="checkbox" class="mt-1" />
|
|
1261
1261
|
<div>
|
|
1262
|
-
<p class="font-medium text-
|
|
1262
|
+
<p class="font-medium text-status-success-text">Replace raw <button> with Button component</p>
|
|
1263
1263
|
</div>
|
|
1264
1264
|
</div>
|
|
1265
1265
|
<div class="flex items-start gap-3">
|
|
1266
1266
|
<input type="checkbox" class="mt-1" />
|
|
1267
1267
|
<div>
|
|
1268
|
-
<p class="font-medium text-
|
|
1268
|
+
<p class="font-medium text-status-success-text">Replace raw <input> with Input component</p>
|
|
1269
1269
|
</div>
|
|
1270
1270
|
</div>
|
|
1271
1271
|
<div class="flex items-start gap-3">
|
|
1272
1272
|
<input type="checkbox" class="mt-1" />
|
|
1273
1273
|
<div>
|
|
1274
|
-
<p class="font-medium text-
|
|
1274
|
+
<p class="font-medium text-status-success-text">Delete local $lib/components that are now in shared lib</p>
|
|
1275
1275
|
</div>
|
|
1276
1276
|
</div>
|
|
1277
1277
|
<div class="flex items-start gap-3">
|
|
1278
1278
|
<input type="checkbox" class="mt-1" />
|
|
1279
1279
|
<div>
|
|
1280
|
-
<p class="font-medium text-
|
|
1280
|
+
<p class="font-medium text-status-success-text">Update imports to use @getmicdrop/svelte-components</p>
|
|
1281
1281
|
</div>
|
|
1282
1282
|
</div>
|
|
1283
1283
|
<div class="flex items-start gap-3">
|
|
1284
1284
|
<input type="checkbox" class="mt-1" />
|
|
1285
1285
|
<div>
|
|
1286
|
-
<p class="font-medium text-
|
|
1286
|
+
<p class="font-medium text-status-success-text">Test all affected pages</p>
|
|
1287
1287
|
</div>
|
|
1288
1288
|
</div>
|
|
1289
1289
|
</div>
|
|
1290
1290
|
</div>
|
|
1291
1291
|
|
|
1292
|
-
<div class="bg-
|
|
1293
|
-
<h2 class="text-xl font-bold text-
|
|
1292
|
+
<div class="bg-status-info-bg rounded-lg p-6">
|
|
1293
|
+
<h2 class="text-xl font-bold text-brand-primary mb-4">Phase 4: Calendar Package (Separate)</h2>
|
|
1294
1294
|
|
|
1295
|
-
<p class="text-sm text-
|
|
1295
|
+
<p class="text-sm text-brand-primary mb-4">
|
|
1296
1296
|
Handle venue-calendar-npm as a separate project after the main consolidation.
|
|
1297
1297
|
</p>
|
|
1298
1298
|
|
|
@@ -1300,13 +1300,13 @@ grep -r "from '\$lib/components/Button" /Users/peet/repos/micdrop-frontend/src -
|
|
|
1300
1300
|
<div class="flex items-start gap-3">
|
|
1301
1301
|
<input type="checkbox" class="mt-1" />
|
|
1302
1302
|
<div>
|
|
1303
|
-
<p class="font-medium text-
|
|
1303
|
+
<p class="font-medium text-brand-primary">Fix raw buttons in venue-calendar-npm source</p>
|
|
1304
1304
|
</div>
|
|
1305
1305
|
</div>
|
|
1306
1306
|
<div class="flex items-start gap-3">
|
|
1307
1307
|
<input type="checkbox" class="mt-1" />
|
|
1308
1308
|
<div>
|
|
1309
|
-
<p class="font-medium text-
|
|
1309
|
+
<p class="font-medium text-brand-primary">Re-embed updated calendar components</p>
|
|
1310
1310
|
</div>
|
|
1311
1311
|
</div>
|
|
1312
1312
|
</div>
|