@omnifyjp/ui 0.4.4 → 0.5.0
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/README.md +379 -133
- package/dist/chunk-2ZIFL2X3.js +189 -0
- package/dist/chunk-2ZIFL2X3.js.map +1 -0
- package/dist/chunk-5BL4VFRJ.js +57 -0
- package/dist/chunk-5BL4VFRJ.js.map +1 -0
- package/dist/chunk-5D3OAVOZ.js +91 -0
- package/dist/chunk-5D3OAVOZ.js.map +1 -0
- package/dist/chunk-DTM76EJD.js +235 -0
- package/dist/chunk-DTM76EJD.js.map +1 -0
- package/dist/chunk-EJEVW4RO.js +49 -0
- package/dist/chunk-EJEVW4RO.js.map +1 -0
- package/dist/chunk-JXFBHSPN.js +37 -0
- package/dist/chunk-JXFBHSPN.js.map +1 -0
- package/dist/chunk-O25D7DCP.js +72 -0
- package/dist/chunk-O25D7DCP.js.map +1 -0
- package/dist/chunk-OY3PSPA5.js +661 -0
- package/dist/chunk-OY3PSPA5.js.map +1 -0
- package/dist/chunk-SHHZRZMM.js +83 -0
- package/dist/chunk-SHHZRZMM.js.map +1 -0
- package/dist/chunk-X57K24P3.js +224 -0
- package/dist/chunk-X57K24P3.js.map +1 -0
- package/dist/chunk-XDXGUPCR.js +123 -0
- package/dist/chunk-XDXGUPCR.js.map +1 -0
- package/dist/components/AppShell.d.ts +27 -0
- package/dist/components/AppShell.js +11 -0
- package/dist/components/AppShell.js.map +1 -0
- package/dist/components/Header.d.ts +11 -0
- package/dist/components/Header.js +6 -0
- package/dist/components/Header.js.map +1 -0
- package/dist/components/OrganizationSelector.d.ts +8 -0
- package/dist/components/OrganizationSelector.js +4 -0
- package/dist/components/OrganizationSelector.js.map +1 -0
- package/dist/components/OrganizationSetupModal.d.ts +5 -0
- package/dist/components/OrganizationSetupModal.js +4 -0
- package/dist/components/OrganizationSetupModal.js.map +1 -0
- package/dist/components/PageContainer.d.ts +105 -0
- package/dist/components/PageContainer.js +3 -0
- package/dist/components/PageContainer.js.map +1 -0
- package/dist/components/ServiceMenu.d.ts +11 -0
- package/dist/components/ServiceMenu.js +3 -0
- package/dist/components/ServiceMenu.js.map +1 -0
- package/dist/components/Sidebar.d.ts +11 -0
- package/dist/components/Sidebar.js +5 -0
- package/dist/components/Sidebar.js.map +1 -0
- package/dist/contexts/OrganizationContext.d.ts +26 -0
- package/dist/contexts/OrganizationContext.js +3 -0
- package/dist/contexts/OrganizationContext.js.map +1 -0
- package/dist/contexts/ThemeContext.d.ts +14 -0
- package/dist/contexts/ThemeContext.js +3 -0
- package/dist/contexts/ThemeContext.js.map +1 -0
- package/dist/hooks/useDateFormat.d.ts +28 -0
- package/dist/hooks/useDateFormat.js +4 -0
- package/dist/hooks/useDateFormat.js.map +1 -0
- package/dist/i18n.d.ts +38 -0
- package/dist/i18n.js +3 -0
- package/dist/i18n.js.map +1 -0
- package/dist/index.d.ts +13 -109
- package/dist/index.js +11 -70
- package/dist/types.d.ts +89 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/package.json +23 -70
- package/dist/chunk-2C2HRGM7.js +0 -51
- package/dist/chunk-2C2HRGM7.js.map +0 -1
- package/dist/chunk-2TUWDXAC.js +0 -196
- package/dist/chunk-2TUWDXAC.js.map +0 -1
- package/dist/chunk-34ARZSNP.js +0 -63
- package/dist/chunk-34ARZSNP.js.map +0 -1
- package/dist/chunk-35DNN46W.js +0 -13
- package/dist/chunk-35DNN46W.js.map +0 -1
- package/dist/chunk-35U6QG4P.js +0 -116
- package/dist/chunk-35U6QG4P.js.map +0 -1
- package/dist/chunk-36YYHIJU.js +0 -52
- package/dist/chunk-36YYHIJU.js.map +0 -1
- package/dist/chunk-3EOHW4QN.js +0 -35
- package/dist/chunk-3EOHW4QN.js.map +0 -1
- package/dist/chunk-3UPBCOS4.js +0 -39
- package/dist/chunk-3UPBCOS4.js.map +0 -1
- package/dist/chunk-3VU56V66.js +0 -41
- package/dist/chunk-3VU56V66.js.map +0 -1
- package/dist/chunk-55E7D2HR.js +0 -99
- package/dist/chunk-55E7D2HR.js.map +0 -1
- package/dist/chunk-67YUL2ZS.js +0 -53
- package/dist/chunk-67YUL2ZS.js.map +0 -1
- package/dist/chunk-6DIDQ4TB.js +0 -131
- package/dist/chunk-6DIDQ4TB.js.map +0 -1
- package/dist/chunk-6GWVQB3Q.js +0 -155
- package/dist/chunk-6GWVQB3Q.js.map +0 -1
- package/dist/chunk-75WZR6HF.js +0 -44
- package/dist/chunk-75WZR6HF.js.map +0 -1
- package/dist/chunk-7IRLBU2I.js +0 -114
- package/dist/chunk-7IRLBU2I.js.map +0 -1
- package/dist/chunk-7RMTPT6O.js +0 -99
- package/dist/chunk-7RMTPT6O.js.map +0 -1
- package/dist/chunk-7XH3MGBR.js +0 -128
- package/dist/chunk-7XH3MGBR.js.map +0 -1
- package/dist/chunk-A3BB5ZOC.js +0 -77
- package/dist/chunk-A3BB5ZOC.js.map +0 -1
- package/dist/chunk-B434PORR.js +0 -239
- package/dist/chunk-B434PORR.js.map +0 -1
- package/dist/chunk-BAQWGQJG.js +0 -106
- package/dist/chunk-BAQWGQJG.js.map +0 -1
- package/dist/chunk-BRSM3SZP.js +0 -46
- package/dist/chunk-BRSM3SZP.js.map +0 -1
- package/dist/chunk-C34KSTWA.js +0 -43
- package/dist/chunk-C34KSTWA.js.map +0 -1
- package/dist/chunk-C5NZAOA7.js +0 -54
- package/dist/chunk-C5NZAOA7.js.map +0 -1
- package/dist/chunk-CUZR4JWM.js +0 -23
- package/dist/chunk-CUZR4JWM.js.map +0 -1
- package/dist/chunk-DGPY4WP3.js +0 -11
- package/dist/chunk-DGPY4WP3.js.map +0 -1
- package/dist/chunk-EWBCV7VA.js +0 -65
- package/dist/chunk-EWBCV7VA.js.map +0 -1
- package/dist/chunk-F2ZJLKDP.js +0 -119
- package/dist/chunk-F2ZJLKDP.js.map +0 -1
- package/dist/chunk-FLWMT4DB.js +0 -66
- package/dist/chunk-FLWMT4DB.js.map +0 -1
- package/dist/chunk-FRKG7JQY.js +0 -48
- package/dist/chunk-FRKG7JQY.js.map +0 -1
- package/dist/chunk-G7HTZBUR.js +0 -187
- package/dist/chunk-G7HTZBUR.js.map +0 -1
- package/dist/chunk-HWTW64R5.js +0 -90
- package/dist/chunk-HWTW64R5.js.map +0 -1
- package/dist/chunk-IAWKX5W4.js +0 -219
- package/dist/chunk-IAWKX5W4.js.map +0 -1
- package/dist/chunk-INLM7UJC.js +0 -238
- package/dist/chunk-INLM7UJC.js.map +0 -1
- package/dist/chunk-JAJMM32I.js +0 -18
- package/dist/chunk-JAJMM32I.js.map +0 -1
- package/dist/chunk-JJSVA3TH.js +0 -61
- package/dist/chunk-JJSVA3TH.js.map +0 -1
- package/dist/chunk-JLTBUACL.js +0 -121
- package/dist/chunk-JLTBUACL.js.map +0 -1
- package/dist/chunk-JRU2QX7T.js +0 -38
- package/dist/chunk-JRU2QX7T.js.map +0 -1
- package/dist/chunk-JXGRW2MR.js +0 -17
- package/dist/chunk-JXGRW2MR.js.map +0 -1
- package/dist/chunk-KTBOZ4NE.js +0 -93
- package/dist/chunk-KTBOZ4NE.js.map +0 -1
- package/dist/chunk-LMT327XH.js +0 -56
- package/dist/chunk-LMT327XH.js.map +0 -1
- package/dist/chunk-LTTNCAAA.js +0 -138
- package/dist/chunk-LTTNCAAA.js.map +0 -1
- package/dist/chunk-LVZNNIK4.js +0 -111
- package/dist/chunk-LVZNNIK4.js.map +0 -1
- package/dist/chunk-MJLFJPUG.js +0 -143
- package/dist/chunk-MJLFJPUG.js.map +0 -1
- package/dist/chunk-MZ2P566X.js +0 -65
- package/dist/chunk-MZ2P566X.js.map +0 -1
- package/dist/chunk-N47H4MHX.js +0 -41
- package/dist/chunk-N47H4MHX.js.map +0 -1
- package/dist/chunk-NNJTKHCE.js +0 -160
- package/dist/chunk-NNJTKHCE.js.map +0 -1
- package/dist/chunk-NPL2R5LD.js +0 -171
- package/dist/chunk-NPL2R5LD.js.map +0 -1
- package/dist/chunk-NU56GKGM.js +0 -44
- package/dist/chunk-NU56GKGM.js.map +0 -1
- package/dist/chunk-P3M5TZD2.js +0 -24
- package/dist/chunk-P3M5TZD2.js.map +0 -1
- package/dist/chunk-PGWNOZDX.js +0 -28
- package/dist/chunk-PGWNOZDX.js.map +0 -1
- package/dist/chunk-QB3UWRZH.js +0 -92
- package/dist/chunk-QB3UWRZH.js.map +0 -1
- package/dist/chunk-R2CDE5DO.js +0 -33
- package/dist/chunk-R2CDE5DO.js.map +0 -1
- package/dist/chunk-RQNZDWY3.js +0 -65
- package/dist/chunk-RQNZDWY3.js.map +0 -1
- package/dist/chunk-S6PDRGR5.js +0 -109
- package/dist/chunk-S6PDRGR5.js.map +0 -1
- package/dist/chunk-TGYQ3AKH.js +0 -95
- package/dist/chunk-TGYQ3AKH.js.map +0 -1
- package/dist/chunk-THQUH6WX.js +0 -81
- package/dist/chunk-THQUH6WX.js.map +0 -1
- package/dist/chunk-TJMK2KBE.js +0 -112
- package/dist/chunk-TJMK2KBE.js.map +0 -1
- package/dist/chunk-TTH7TWVX.js +0 -30
- package/dist/chunk-TTH7TWVX.js.map +0 -1
- package/dist/chunk-USIHM7FV.js +0 -211
- package/dist/chunk-USIHM7FV.js.map +0 -1
- package/dist/chunk-VVYSAGB3.js +0 -104
- package/dist/chunk-VVYSAGB3.js.map +0 -1
- package/dist/chunk-WD5KZE25.js +0 -25
- package/dist/chunk-WD5KZE25.js.map +0 -1
- package/dist/chunk-WL4ZO2H3.js +0 -33
- package/dist/chunk-WL4ZO2H3.js.map +0 -1
- package/dist/chunk-WRCHR4AK.js +0 -23
- package/dist/chunk-WRCHR4AK.js.map +0 -1
- package/dist/chunk-XOJJBNDX.js +0 -33
- package/dist/chunk-XOJJBNDX.js.map +0 -1
- package/dist/chunk-XUVLD65E.js +0 -617
- package/dist/chunk-XUVLD65E.js.map +0 -1
- package/dist/chunk-YBMEQZX7.js +0 -164
- package/dist/chunk-YBMEQZX7.js.map +0 -1
- package/dist/chunk-Z2QAABLM.js +0 -86
- package/dist/chunk-Z2QAABLM.js.map +0 -1
- package/dist/chunk-ZHEKDP5X.js +0 -41
- package/dist/chunk-ZHEKDP5X.js.map +0 -1
- package/dist/chunk-ZPMXRW2A.js +0 -63
- package/dist/chunk-ZPMXRW2A.js.map +0 -1
- package/dist/chunk-ZYEGBF7G.js +0 -25
- package/dist/chunk-ZYEGBF7G.js.map +0 -1
- package/dist/components/accordion.d.ts +0 -37
- package/dist/components/accordion.js +0 -4
- package/dist/components/accordion.js.map +0 -1
- package/dist/components/alert-dialog.d.ts +0 -56
- package/dist/components/alert-dialog.js +0 -5
- package/dist/components/alert-dialog.js.map +0 -1
- package/dist/components/alert.d.ts +0 -68
- package/dist/components/alert.js +0 -4
- package/dist/components/alert.js.map +0 -1
- package/dist/components/aspect-ratio.d.ts +0 -23
- package/dist/components/aspect-ratio.js +0 -3
- package/dist/components/aspect-ratio.js.map +0 -1
- package/dist/components/avatar.d.ts +0 -48
- package/dist/components/avatar.js +0 -4
- package/dist/components/avatar.js.map +0 -1
- package/dist/components/badge.d.ts +0 -52
- package/dist/components/badge.js +0 -4
- package/dist/components/badge.js.map +0 -1
- package/dist/components/breadcrumb.d.ts +0 -50
- package/dist/components/breadcrumb.js +0 -4
- package/dist/components/breadcrumb.js.map +0 -1
- package/dist/components/button.d.ts +0 -81
- package/dist/components/button.js +0 -4
- package/dist/components/button.js.map +0 -1
- package/dist/components/calendar-category-badge.d.ts +0 -24
- package/dist/components/calendar-category-badge.js +0 -5
- package/dist/components/calendar-category-badge.js.map +0 -1
- package/dist/components/calendar-event-chip.d.ts +0 -41
- package/dist/components/calendar-event-chip.js +0 -4
- package/dist/components/calendar-event-chip.js.map +0 -1
- package/dist/components/calendar-event-sheet.d.ts +0 -68
- package/dist/components/calendar-event-sheet.js +0 -9
- package/dist/components/calendar-event-sheet.js.map +0 -1
- package/dist/components/calendar-mini.d.ts +0 -65
- package/dist/components/calendar-mini.js +0 -6
- package/dist/components/calendar-mini.js.map +0 -1
- package/dist/components/calendar-toolbar.d.ts +0 -58
- package/dist/components/calendar-toolbar.js +0 -7
- package/dist/components/calendar-toolbar.js.map +0 -1
- package/dist/components/calendar.d.ts +0 -19
- package/dist/components/calendar.js +0 -5
- package/dist/components/calendar.js.map +0 -1
- package/dist/components/card.d.ts +0 -43
- package/dist/components/card.js +0 -4
- package/dist/components/card.js.map +0 -1
- package/dist/components/carousel.d.ts +0 -53
- package/dist/components/carousel.js +0 -5
- package/dist/components/carousel.js.map +0 -1
- package/dist/components/chart.d.ts +0 -103
- package/dist/components/chart.js +0 -4
- package/dist/components/chart.js.map +0 -1
- package/dist/components/checkbox.d.ts +0 -24
- package/dist/components/checkbox.js +0 -4
- package/dist/components/checkbox.js.map +0 -1
- package/dist/components/collapsible.d.ts +0 -28
- package/dist/components/collapsible.js +0 -3
- package/dist/components/collapsible.js.map +0 -1
- package/dist/components/color-picker.d.ts +0 -35
- package/dist/components/color-picker.js +0 -7
- package/dist/components/color-picker.js.map +0 -1
- package/dist/components/combobox.d.ts +0 -98
- package/dist/components/combobox.js +0 -8
- package/dist/components/combobox.js.map +0 -1
- package/dist/components/command.d.ts +0 -63
- package/dist/components/command.js +0 -5
- package/dist/components/command.js.map +0 -1
- package/dist/components/context-menu.d.ts +0 -70
- package/dist/components/context-menu.js +0 -4
- package/dist/components/context-menu.js.map +0 -1
- package/dist/components/date-picker.d.ts +0 -71
- package/dist/components/date-picker.js +0 -7
- package/dist/components/date-picker.js.map +0 -1
- package/dist/components/dialog.d.ts +0 -58
- package/dist/components/dialog.js +0 -4
- package/dist/components/dialog.js.map +0 -1
- package/dist/components/drawer.d.ts +0 -60
- package/dist/components/drawer.js +0 -4
- package/dist/components/drawer.js.map +0 -1
- package/dist/components/dropdown-menu.d.ts +0 -76
- package/dist/components/dropdown-menu.js +0 -4
- package/dist/components/dropdown-menu.js.map +0 -1
- package/dist/components/file-upload.d.ts +0 -44
- package/dist/components/file-upload.js +0 -5
- package/dist/components/file-upload.js.map +0 -1
- package/dist/components/form.d.ts +0 -67
- package/dist/components/form.js +0 -5
- package/dist/components/form.js.map +0 -1
- package/dist/components/hover-card.d.ts +0 -43
- package/dist/components/hover-card.js +0 -4
- package/dist/components/hover-card.js.map +0 -1
- package/dist/components/input-otp.d.ts +0 -38
- package/dist/components/input-otp.js +0 -4
- package/dist/components/input-otp.js.map +0 -1
- package/dist/components/input.d.ts +0 -38
- package/dist/components/input.js +0 -4
- package/dist/components/input.js.map +0 -1
- package/dist/components/label.d.ts +0 -20
- package/dist/components/label.js +0 -4
- package/dist/components/label.js.map +0 -1
- package/dist/components/menubar.d.ts +0 -82
- package/dist/components/menubar.js +0 -4
- package/dist/components/menubar.js.map +0 -1
- package/dist/components/navigation-menu.d.ts +0 -64
- package/dist/components/navigation-menu.js +0 -4
- package/dist/components/navigation-menu.js.map +0 -1
- package/dist/components/pagination.d.ts +0 -59
- package/dist/components/pagination.js +0 -5
- package/dist/components/pagination.js.map +0 -1
- package/dist/components/password-input.d.ts +0 -32
- package/dist/components/password-input.js +0 -5
- package/dist/components/password-input.js.map +0 -1
- package/dist/components/permission-grid.d.ts +0 -67
- package/dist/components/permission-grid.js +0 -5
- package/dist/components/permission-grid.js.map +0 -1
- package/dist/components/popover.d.ts +0 -37
- package/dist/components/popover.js +0 -4
- package/dist/components/popover.js.map +0 -1
- package/dist/components/progress.d.ts +0 -20
- package/dist/components/progress.js +0 -4
- package/dist/components/progress.js.map +0 -1
- package/dist/components/radio-group.d.ts +0 -38
- package/dist/components/radio-group.js +0 -4
- package/dist/components/radio-group.js.map +0 -1
- package/dist/components/rating.d.ts +0 -35
- package/dist/components/rating.js +0 -4
- package/dist/components/rating.js.map +0 -1
- package/dist/components/resizable.d.ts +0 -36
- package/dist/components/resizable.js +0 -4
- package/dist/components/resizable.js.map +0 -1
- package/dist/components/scope-tree.d.ts +0 -78
- package/dist/components/scope-tree.js +0 -5
- package/dist/components/scope-tree.js.map +0 -1
- package/dist/components/scope-type-badge.d.ts +0 -35
- package/dist/components/scope-type-badge.js +0 -5
- package/dist/components/scope-type-badge.js.map +0 -1
- package/dist/components/scroll-area.d.ts +0 -29
- package/dist/components/scroll-area.js +0 -4
- package/dist/components/scroll-area.js.map +0 -1
- package/dist/components/select.d.ts +0 -52
- package/dist/components/select.js +0 -4
- package/dist/components/select.js.map +0 -1
- package/dist/components/separator.d.ts +0 -24
- package/dist/components/separator.js +0 -4
- package/dist/components/separator.js.map +0 -1
- package/dist/components/sheet.d.ts +0 -51
- package/dist/components/sheet.js +0 -4
- package/dist/components/sheet.js.map +0 -1
- package/dist/components/sidebar.d.ts +0 -169
- package/dist/components/sidebar.js +0 -11
- package/dist/components/sidebar.js.map +0 -1
- package/dist/components/skeleton.d.ts +0 -25
- package/dist/components/skeleton.js +0 -4
- package/dist/components/skeleton.js.map +0 -1
- package/dist/components/slider.d.ts +0 -24
- package/dist/components/slider.js +0 -4
- package/dist/components/slider.js.map +0 -1
- package/dist/components/slug-input.d.ts +0 -50
- package/dist/components/slug-input.js +0 -6
- package/dist/components/slug-input.js.map +0 -1
- package/dist/components/sonner.d.ts +0 -22
- package/dist/components/sonner.js +0 -3
- package/dist/components/sonner.js.map +0 -1
- package/dist/components/stage-type-badge.d.ts +0 -30
- package/dist/components/stage-type-badge.js +0 -5
- package/dist/components/stage-type-badge.js.map +0 -1
- package/dist/components/switch.d.ts +0 -26
- package/dist/components/switch.js +0 -4
- package/dist/components/switch.js.map +0 -1
- package/dist/components/table.d.ts +0 -57
- package/dist/components/table.js +0 -4
- package/dist/components/table.js.map +0 -1
- package/dist/components/tabs.d.ts +0 -39
- package/dist/components/tabs.js +0 -4
- package/dist/components/tabs.js.map +0 -1
- package/dist/components/tag-input.d.ts +0 -40
- package/dist/components/tag-input.js +0 -5
- package/dist/components/tag-input.js.map +0 -1
- package/dist/components/textarea.d.ts +0 -21
- package/dist/components/textarea.js +0 -4
- package/dist/components/textarea.js.map +0 -1
- package/dist/components/time-picker.d.ts +0 -57
- package/dist/components/time-picker.js +0 -8
- package/dist/components/time-picker.js.map +0 -1
- package/dist/components/toggle-group.d.ts +0 -45
- package/dist/components/toggle-group.js +0 -5
- package/dist/components/toggle-group.js.map +0 -1
- package/dist/components/toggle.d.ts +0 -31
- package/dist/components/toggle.js +0 -4
- package/dist/components/toggle.js.map +0 -1
- package/dist/components/tooltip.d.ts +0 -34
- package/dist/components/tooltip.js +0 -4
- package/dist/components/tooltip.js.map +0 -1
- package/dist/components/workflow-category-badge.d.ts +0 -32
- package/dist/components/workflow-category-badge.js +0 -5
- package/dist/components/workflow-category-badge.js.map +0 -1
- package/dist/components/workflow-diagram.d.ts +0 -63
- package/dist/components/workflow-diagram.js +0 -5
- package/dist/components/workflow-diagram.js.map +0 -1
- package/dist/components/workflow-status-badge.d.ts +0 -30
- package/dist/components/workflow-status-badge.js +0 -5
- package/dist/components/workflow-status-badge.js.map +0 -1
- package/dist/components/workflow-stepper.d.ts +0 -52
- package/dist/components/workflow-stepper.js +0 -4
- package/dist/components/workflow-stepper.js.map +0 -1
- package/dist/hooks/use-mobile.d.ts +0 -3
- package/dist/hooks/use-mobile.js +0 -3
- package/dist/hooks/use-mobile.js.map +0 -1
- package/dist/lib/utils.d.ts +0 -5
- package/dist/lib/utils.js +0 -3
- package/dist/lib/utils.js.map +0 -1
- package/dist/types-CBVkScfB.d.ts +0 -84
- package/src/styles/fonts.css +0 -0
- package/src/styles/index.css +0 -3
- package/src/styles/tailwind.css +0 -4
- package/src/styles/theme.css +0 -461
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/accordion.tsx"],"names":[],"mappings":";;;;;AA8BA,SAAS,SAAA,CAAU;AAAA,EACjB,GAAG;AACL,CAAA,EAAyD;AACvD,EAAA,2BAA2B,kBAAA,CAAA,IAAA,EAAnB,EAAwB,WAAA,EAAU,WAAA,EAAa,GAAG,KAAA,EAAO,CAAA;AACnE;AAGA,SAAS,aAAA,CAAc;AAAA,EACrB,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAyD;AACvD,EAAA,uBACE,GAAA;AAAA,IAAoB,kBAAA,CAAA,IAAA;AAAA,IAAnB;AAAA,MACC,WAAA,EAAU,gBAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,0BAAA,EAA4B,SAAS,CAAA;AAAA,MAClD,GAAG;AAAA;AAAA,GACN;AAEJ;AAGA,SAAS,gBAAA,CAAiB;AAAA,EACxB,SAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA4D;AAC1D,EAAA,uBACE,GAAA,CAAoB,kBAAA,CAAA,MAAA,EAAnB,EAA0B,SAAA,EAAU,MAAA,EACnC,QAAA,kBAAA,IAAA;AAAA,IAAoB,kBAAA,CAAA,OAAA;AAAA,IAAnB;AAAA,MACC,WAAA,EAAU,mBAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,qUAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,QAAA;AAAA,wBACD,GAAA,CAAC,eAAA,EAAA,EAAgB,SAAA,EAAU,6GAAA,EAA8G;AAAA;AAAA;AAAA,GAC3I,EACF,CAAA;AAEJ;AAGA,SAAS,gBAAA,CAAiB;AAAA,EACxB,SAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA4D;AAC1D,EAAA,uBACE,GAAA;AAAA,IAAoB,kBAAA,CAAA,OAAA;AAAA,IAAnB;AAAA,MACC,WAAA,EAAU,mBAAA;AAAA,MACV,SAAA,EAAU,2GAAA;AAAA,MACT,GAAG,KAAA;AAAA,MAEJ,8BAAC,KAAA,EAAA,EAAI,SAAA,EAAW,GAAG,oCAAA,EAAsC,SAAS,GAAI,QAAA,EAAS;AAAA;AAAA,GACjF;AAEJ","file":"chunk-34ARZSNP.js","sourcesContent":["import * as React from \"react\";\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { ChevronDownIcon } from \"lucide-react\";\n\nimport { cn } from \"../lib/utils\";\n\n/**\n * Vertically collapsible content sections built on Radix Accordion.\n *\n * Supports `\"single\"` (one panel open at a time) and `\"multiple\"` (any number open)\n * modes via the `type` prop. Each section animates open/closed with a chevron indicator.\n *\n * @example\n * ```tsx\n * <Accordion type=\"single\" collapsible>\n * <AccordionItem value=\"item-1\">\n * <AccordionTrigger>Is it accessible?</AccordionTrigger>\n * <AccordionContent>\n * Yes. It adheres to the WAI-ARIA Accordion pattern.\n * </AccordionContent>\n * </AccordionItem>\n * <AccordionItem value=\"item-2\">\n * <AccordionTrigger>Is it styled?</AccordionTrigger>\n * <AccordionContent>\n * Yes. It ships with default styles via Tailwind CSS.\n * </AccordionContent>\n * </AccordionItem>\n * </Accordion>\n * ```\n */\nfunction Accordion({\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Root>) {\n return <AccordionPrimitive.Root data-slot=\"accordion\" {...props} />;\n}\n\n/** Individual accordion section. Requires a unique `value` prop. */\nfunction AccordionItem({\n className,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Item>) {\n return (\n <AccordionPrimitive.Item\n data-slot=\"accordion-item\"\n className={cn(\"border-b last:border-b-0\", className)}\n {...props}\n />\n );\n}\n\n/** Clickable trigger that toggles its parent `AccordionItem`. Renders a chevron icon that rotates on open. */\nfunction AccordionTrigger({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Trigger>) {\n return (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n data-slot=\"accordion-trigger\"\n className={cn(\n \"focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-[var(--density-accordion)] text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180\",\n className,\n )}\n {...props}\n >\n {children}\n <ChevronDownIcon className=\"text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200\" />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n );\n}\n\n/** Animated collapsible content area within an `AccordionItem`. */\nfunction AccordionContent({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Content>) {\n return (\n <AccordionPrimitive.Content\n data-slot=\"accordion-content\"\n className=\"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm\"\n {...props}\n >\n <div className={cn(\"pt-0 pb-[var(--density-accordion)]\", className)}>{children}</div>\n </AccordionPrimitive.Content>\n );\n}\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent };"]}
|
package/dist/chunk-35DNN46W.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import * as AspectRatioPrimitive from '@radix-ui/react-aspect-ratio';
|
|
2
|
-
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
|
|
4
|
-
// src/components/aspect-ratio.tsx
|
|
5
|
-
function AspectRatio({
|
|
6
|
-
...props
|
|
7
|
-
}) {
|
|
8
|
-
return /* @__PURE__ */ jsx(AspectRatioPrimitive.Root, { "data-slot": "aspect-ratio", ...props });
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export { AspectRatio };
|
|
12
|
-
//# sourceMappingURL=chunk-35DNN46W.js.map
|
|
13
|
-
//# sourceMappingURL=chunk-35DNN46W.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/aspect-ratio.tsx"],"names":[],"mappings":";;;;AAmBA,SAAS,WAAA,CAAY;AAAA,EACnB,GAAG;AACL,CAAA,EAA2D;AACzD,EAAA,2BAA6B,oBAAA,CAAA,IAAA,EAArB,EAA0B,WAAA,EAAU,cAAA,EAAgB,GAAG,KAAA,EAAO,CAAA;AACxE","file":"chunk-35DNN46W.js","sourcesContent":["import * as AspectRatioPrimitive from \"@radix-ui/react-aspect-ratio\";\n\n/**\n * Maintains a consistent width-to-height ratio for its content.\n *\n * Useful for images, videos, and maps that need to preserve their aspect ratio\n * across different viewport sizes. Built on Radix AspectRatio.\n *\n * @example\n * ```tsx\n * <AspectRatio ratio={16 / 9}>\n * <img\n * src=\"/hero.jpg\"\n * alt=\"Hero image\"\n * className=\"h-full w-full rounded-md object-cover\"\n * />\n * </AspectRatio>\n * ```\n */\nfunction AspectRatio({\n ...props\n}: React.ComponentProps<typeof AspectRatioPrimitive.Root>) {\n return <AspectRatioPrimitive.Root data-slot=\"aspect-ratio\" {...props} />;\n}\n\nexport { AspectRatio };\n"]}
|
package/dist/chunk-35U6QG4P.js
DELETED
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
import { cn } from './chunk-DGPY4WP3.js';
|
|
2
|
-
import * as React from 'react';
|
|
3
|
-
import { Star } from 'lucide-react';
|
|
4
|
-
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
5
|
-
|
|
6
|
-
function Rating({
|
|
7
|
-
value = 0,
|
|
8
|
-
onChange,
|
|
9
|
-
max = 5,
|
|
10
|
-
size = "md",
|
|
11
|
-
readonly = false,
|
|
12
|
-
allowHalf = false,
|
|
13
|
-
className
|
|
14
|
-
}) {
|
|
15
|
-
const [hoverValue, setHoverValue] = React.useState(null);
|
|
16
|
-
const sizeClasses = {
|
|
17
|
-
sm: "w-4 h-4",
|
|
18
|
-
md: "w-5 h-5",
|
|
19
|
-
lg: "w-6 h-6"
|
|
20
|
-
};
|
|
21
|
-
const handleClick = (index, isHalf) => {
|
|
22
|
-
if (readonly) return;
|
|
23
|
-
const newValue = isHalf ? index + 0.5 : index + 1;
|
|
24
|
-
onChange?.(newValue);
|
|
25
|
-
};
|
|
26
|
-
const handleMouseMove = (index, e) => {
|
|
27
|
-
if (readonly || !allowHalf) return;
|
|
28
|
-
const rect = e.currentTarget.getBoundingClientRect();
|
|
29
|
-
const x = e.clientX - rect.left;
|
|
30
|
-
const isHalf = x < rect.width / 2;
|
|
31
|
-
setHoverValue(isHalf ? index + 0.5 : index + 1);
|
|
32
|
-
};
|
|
33
|
-
const handleMouseEnter = (index) => {
|
|
34
|
-
if (readonly) return;
|
|
35
|
-
if (!allowHalf) {
|
|
36
|
-
setHoverValue(index + 1);
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
const handleMouseLeave = () => {
|
|
40
|
-
setHoverValue(null);
|
|
41
|
-
};
|
|
42
|
-
const getStarFill = (index) => {
|
|
43
|
-
const currentValue = hoverValue !== null ? hoverValue : value;
|
|
44
|
-
if (currentValue >= index + 1) {
|
|
45
|
-
return "full";
|
|
46
|
-
} else if (allowHalf && currentValue >= index + 0.5) {
|
|
47
|
-
return "half";
|
|
48
|
-
} else {
|
|
49
|
-
return "empty";
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
return /* @__PURE__ */ jsxs("div", { className: cn("flex items-center gap-1", className), children: [
|
|
53
|
-
Array.from({ length: max }).map((_, index) => {
|
|
54
|
-
const fill = getStarFill(index);
|
|
55
|
-
return /* @__PURE__ */ jsx(
|
|
56
|
-
"button",
|
|
57
|
-
{
|
|
58
|
-
type: "button",
|
|
59
|
-
onClick: (e) => {
|
|
60
|
-
if (!allowHalf) {
|
|
61
|
-
handleClick(index, false);
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
64
|
-
const rect = e.currentTarget.getBoundingClientRect();
|
|
65
|
-
const x = e.clientX - rect.left;
|
|
66
|
-
const isHalf = x < rect.width / 2;
|
|
67
|
-
handleClick(index, isHalf);
|
|
68
|
-
},
|
|
69
|
-
onMouseMove: (e) => handleMouseMove(index, e),
|
|
70
|
-
onMouseEnter: () => handleMouseEnter(index),
|
|
71
|
-
onMouseLeave: handleMouseLeave,
|
|
72
|
-
disabled: readonly,
|
|
73
|
-
className: cn(
|
|
74
|
-
"relative transition-transform hover:scale-110",
|
|
75
|
-
!readonly && "cursor-pointer",
|
|
76
|
-
readonly && "cursor-default"
|
|
77
|
-
),
|
|
78
|
-
children: fill === "half" ? /* @__PURE__ */ jsxs("div", { className: "relative", children: [
|
|
79
|
-
/* @__PURE__ */ jsx(
|
|
80
|
-
Star,
|
|
81
|
-
{
|
|
82
|
-
className: cn(
|
|
83
|
-
sizeClasses[size],
|
|
84
|
-
"text-muted-foreground/40"
|
|
85
|
-
)
|
|
86
|
-
}
|
|
87
|
-
),
|
|
88
|
-
/* @__PURE__ */ jsx("div", { className: "absolute inset-0 overflow-hidden w-1/2", children: /* @__PURE__ */ jsx(
|
|
89
|
-
Star,
|
|
90
|
-
{
|
|
91
|
-
className: cn(
|
|
92
|
-
sizeClasses[size],
|
|
93
|
-
"text-yellow-400 fill-yellow-400"
|
|
94
|
-
)
|
|
95
|
-
}
|
|
96
|
-
) })
|
|
97
|
-
] }) : /* @__PURE__ */ jsx(
|
|
98
|
-
Star,
|
|
99
|
-
{
|
|
100
|
-
className: cn(
|
|
101
|
-
sizeClasses[size],
|
|
102
|
-
fill === "full" ? "text-yellow-400 fill-yellow-400" : "text-muted-foreground/40"
|
|
103
|
-
)
|
|
104
|
-
}
|
|
105
|
-
)
|
|
106
|
-
},
|
|
107
|
-
index
|
|
108
|
-
);
|
|
109
|
-
}),
|
|
110
|
-
value > 0 && /* @__PURE__ */ jsx("span", { className: "ml-2 text-sm text-muted-foreground", children: value.toFixed(allowHalf ? 1 : 0) })
|
|
111
|
-
] });
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
export { Rating };
|
|
115
|
-
//# sourceMappingURL=chunk-35U6QG4P.js.map
|
|
116
|
-
//# sourceMappingURL=chunk-35U6QG4P.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/rating.tsx"],"names":[],"mappings":"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","file":"chunk-35U6QG4P.js","sourcesContent":["import * as React from \"react\";\nimport { Star } from \"lucide-react\";\nimport { cn } from \"../lib/utils\";\n\ninterface RatingProps {\n /** Current rating value (e.g., `3` or `3.5` with half stars). */\n value?: number;\n /** Callback fired when the user clicks a star. Receives the new rating number. */\n onChange?: (value: number) => void;\n /** Maximum number of stars. Defaults to `5`. */\n max?: number;\n /** Size of the star icons. Defaults to `\"md\"`. */\n size?: \"sm\" | \"md\" | \"lg\";\n /** Whether the rating is display-only (non-interactive). Defaults to `false`. */\n readonly?: boolean;\n /** Whether half-star ratings are enabled. Defaults to `false`. */\n allowHalf?: boolean;\n /** Additional CSS class for the outer container. */\n className?: string;\n}\n\n/**\n * Star rating component with hover preview and optional half-star support.\n * Shows filled/empty/half star icons and displays the numeric value beside the stars.\n *\n * @example\n * ```tsx\n * const [rating, setRating] = useState(0);\n *\n * <Rating value={rating} onChange={setRating} max={5} />\n *\n * // Read-only display with half stars:\n * <Rating value={3.5} readonly allowHalf />\n * ```\n */\nexport function Rating({\n value = 0,\n onChange,\n max = 5,\n size = \"md\",\n readonly = false,\n allowHalf = false,\n className,\n}: RatingProps) {\n const [hoverValue, setHoverValue] = React.useState<number | null>(null);\n\n const sizeClasses = {\n sm: \"w-4 h-4\",\n md: \"w-5 h-5\",\n lg: \"w-6 h-6\",\n };\n\n const handleClick = (index: number, isHalf: boolean) => {\n if (readonly) return;\n const newValue = isHalf ? index + 0.5 : index + 1;\n onChange?.(newValue);\n };\n\n const handleMouseMove = (index: number, e: React.MouseEvent<HTMLButtonElement>) => {\n if (readonly || !allowHalf) return;\n\n const rect = e.currentTarget.getBoundingClientRect();\n const x = e.clientX - rect.left;\n const isHalf = x < rect.width / 2;\n\n setHoverValue(isHalf ? index + 0.5 : index + 1);\n };\n\n const handleMouseEnter = (index: number) => {\n if (readonly) return;\n if (!allowHalf) {\n setHoverValue(index + 1);\n }\n };\n\n const handleMouseLeave = () => {\n setHoverValue(null);\n };\n\n const getStarFill = (index: number) => {\n const currentValue = hoverValue !== null ? hoverValue : value;\n\n if (currentValue >= index + 1) {\n return \"full\";\n } else if (allowHalf && currentValue >= index + 0.5) {\n return \"half\";\n } else {\n return \"empty\";\n }\n };\n\n return (\n <div className={cn(\"flex items-center gap-1\", className)}>\n {Array.from({ length: max }).map((_, index) => {\n const fill = getStarFill(index);\n\n return (\n <button\n key={index}\n type=\"button\"\n onClick={(e) => {\n if (!allowHalf) {\n handleClick(index, false);\n return;\n }\n const rect = e.currentTarget.getBoundingClientRect();\n const x = e.clientX - rect.left;\n const isHalf = x < rect.width / 2;\n handleClick(index, isHalf);\n }}\n onMouseMove={(e) => handleMouseMove(index, e)}\n onMouseEnter={() => handleMouseEnter(index)}\n onMouseLeave={handleMouseLeave}\n disabled={readonly}\n className={cn(\n \"relative transition-transform hover:scale-110\",\n !readonly && \"cursor-pointer\",\n readonly && \"cursor-default\"\n )}\n >\n {fill === \"half\" ? (\n <div className=\"relative\">\n <Star\n className={cn(\n sizeClasses[size],\n \"text-muted-foreground/40\"\n )}\n />\n <div className=\"absolute inset-0 overflow-hidden w-1/2\">\n <Star\n className={cn(\n sizeClasses[size],\n \"text-yellow-400 fill-yellow-400\"\n )}\n />\n </div>\n </div>\n ) : (\n <Star\n className={cn(\n sizeClasses[size],\n fill === \"full\"\n ? \"text-yellow-400 fill-yellow-400\"\n : \"text-muted-foreground/40\"\n )}\n />\n )}\n </button>\n );\n })}\n\n {value > 0 && (\n <span className=\"ml-2 text-sm text-muted-foreground\">\n {value.toFixed(allowHalf ? 1 : 0)}\n </span>\n )}\n </div>\n );\n}\n"]}
|
package/dist/chunk-36YYHIJU.js
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { ToggleGroup, ToggleGroupItem } from './chunk-ZPMXRW2A.js';
|
|
2
|
-
import { Button } from './chunk-55E7D2HR.js';
|
|
3
|
-
import { format } from 'date-fns';
|
|
4
|
-
import { ChevronLeft, ChevronRight, Plus } from 'lucide-react';
|
|
5
|
-
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
6
|
-
|
|
7
|
-
var defaultLabels = {
|
|
8
|
-
today: "Today",
|
|
9
|
-
month: "Month",
|
|
10
|
-
week: "Week",
|
|
11
|
-
day: "Day",
|
|
12
|
-
createEvent: "Create Event"
|
|
13
|
-
};
|
|
14
|
-
function CalendarToolbar({
|
|
15
|
-
currentDate,
|
|
16
|
-
view,
|
|
17
|
-
onViewChange,
|
|
18
|
-
onPrev,
|
|
19
|
-
onNext,
|
|
20
|
-
onToday,
|
|
21
|
-
onCreateEvent,
|
|
22
|
-
labels: labelsProp,
|
|
23
|
-
titleFormat: titleFormatProp
|
|
24
|
-
}) {
|
|
25
|
-
const labels = { ...defaultLabels, ...labelsProp };
|
|
26
|
-
const titleFormat = titleFormatProp ?? (view === "day" ? "EEEE, MMMM d, yyyy" : "MMMM yyyy");
|
|
27
|
-
return /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-4 flex-wrap", children: [
|
|
28
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
29
|
-
/* @__PURE__ */ jsx(Button, { variant: "outline", size: "sm", onClick: onToday, children: labels.today }),
|
|
30
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center", children: [
|
|
31
|
-
/* @__PURE__ */ jsx(Button, { variant: "ghost", size: "icon", className: "w-8 h-8", onClick: onPrev, children: /* @__PURE__ */ jsx(ChevronLeft, { className: "w-4 h-4" }) }),
|
|
32
|
-
/* @__PURE__ */ jsx(Button, { variant: "ghost", size: "icon", className: "w-8 h-8", onClick: onNext, children: /* @__PURE__ */ jsx(ChevronRight, { className: "w-4 h-4" }) })
|
|
33
|
-
] }),
|
|
34
|
-
/* @__PURE__ */ jsx("h2", { className: "text-lg font-semibold", children: format(currentDate, titleFormat) })
|
|
35
|
-
] }),
|
|
36
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
37
|
-
/* @__PURE__ */ jsxs(ToggleGroup, { type: "single", value: view, onValueChange: (val) => val && onViewChange(val), children: [
|
|
38
|
-
/* @__PURE__ */ jsx(ToggleGroupItem, { value: "month", size: "sm", children: labels.month }),
|
|
39
|
-
/* @__PURE__ */ jsx(ToggleGroupItem, { value: "week", size: "sm", children: labels.week }),
|
|
40
|
-
/* @__PURE__ */ jsx(ToggleGroupItem, { value: "day", size: "sm", children: labels.day })
|
|
41
|
-
] }),
|
|
42
|
-
onCreateEvent && /* @__PURE__ */ jsxs(Button, { size: "sm", onClick: onCreateEvent, children: [
|
|
43
|
-
/* @__PURE__ */ jsx(Plus, { className: "w-4 h-4" }),
|
|
44
|
-
labels.createEvent
|
|
45
|
-
] })
|
|
46
|
-
] })
|
|
47
|
-
] });
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
export { CalendarToolbar };
|
|
51
|
-
//# sourceMappingURL=chunk-36YYHIJU.js.map
|
|
52
|
-
//# sourceMappingURL=chunk-36YYHIJU.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/calendar-toolbar.tsx"],"names":[],"mappings":";;;;;;AAsBA,IAAM,aAAA,GAAiD;AAAA,EACrD,KAAA,EAAO,OAAA;AAAA,EACP,KAAA,EAAO,OAAA;AAAA,EACP,IAAA,EAAM,MAAA;AAAA,EACN,GAAA,EAAK,KAAA;AAAA,EACL,WAAA,EAAa;AACf,CAAA;AAyCO,SAAS,eAAA,CAAgB;AAAA,EAC9B,WAAA;AAAA,EACA,IAAA;AAAA,EACA,YAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA,EACA,aAAA;AAAA,EACA,MAAA,EAAQ,UAAA;AAAA,EACR,WAAA,EAAa;AACf,CAAA,EAAyB;AACvB,EAAA,MAAM,MAAA,GAAS,EAAE,GAAG,aAAA,EAAe,GAAG,UAAA,EAAW;AAEjD,EAAA,MAAM,WAAA,GAAc,eAAA,KAAoB,IAAA,KAAS,KAAA,GAC7C,oBAAA,GACA,WAAA,CAAA;AAEJ,EAAA,uBACE,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,mDAAA,EACb,QAAA,EAAA;AAAA,oBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,yBAAA,EACb,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,MAAA,EAAA,EAAO,SAAQ,SAAA,EAAU,IAAA,EAAK,MAAK,OAAA,EAAS,OAAA,EAC1C,iBAAO,KAAA,EACV,CAAA;AAAA,sBACA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,mBAAA,EACb,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,MAAA,EAAA,EAAO,OAAA,EAAQ,OAAA,EAAQ,IAAA,EAAK,MAAA,EAAO,SAAA,EAAU,SAAA,EAAU,OAAA,EAAS,MAAA,EAC/D,QAAA,kBAAA,GAAA,CAAC,WAAA,EAAA,EAAY,SAAA,EAAU,WAAU,CAAA,EACnC,CAAA;AAAA,wBACA,GAAA,CAAC,MAAA,EAAA,EAAO,OAAA,EAAQ,OAAA,EAAQ,MAAK,MAAA,EAAO,SAAA,EAAU,SAAA,EAAU,OAAA,EAAS,MAAA,EAC/D,QAAA,kBAAA,GAAA,CAAC,YAAA,EAAA,EAAa,SAAA,EAAU,WAAU,CAAA,EACpC;AAAA,OAAA,EACF,CAAA;AAAA,0BACC,IAAA,EAAA,EAAG,SAAA,EAAU,yBAAyB,QAAA,EAAA,MAAA,CAAO,WAAA,EAAa,WAAW,CAAA,EAAE;AAAA,KAAA,EAC1E,CAAA;AAAA,oBAEA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,yBAAA,EACb,QAAA,EAAA;AAAA,sBAAA,IAAA,CAAC,WAAA,EAAA,EAAY,IAAA,EAAK,QAAA,EAAS,KAAA,EAAO,IAAA,EAAM,eAAe,CAAA,GAAA,KAAO,GAAA,IAAO,YAAA,CAAa,GAAmB,CAAA,EACnG,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,mBAAgB,KAAA,EAAM,OAAA,EAAQ,IAAA,EAAK,IAAA,EAAM,iBAAO,KAAA,EAAM,CAAA;AAAA,4BACtD,eAAA,EAAA,EAAgB,KAAA,EAAM,QAAO,IAAA,EAAK,IAAA,EAAM,iBAAO,IAAA,EAAK,CAAA;AAAA,4BACpD,eAAA,EAAA,EAAgB,KAAA,EAAM,OAAM,IAAA,EAAK,IAAA,EAAM,iBAAO,GAAA,EAAI;AAAA,OAAA,EACrD,CAAA;AAAA,MACC,iCACC,IAAA,CAAC,MAAA,EAAA,EAAO,IAAA,EAAK,IAAA,EAAK,SAAS,aAAA,EACzB,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,IAAA,EAAA,EAAK,WAAU,SAAA,EAAU,CAAA;AAAA,QACzB,MAAA,CAAO;AAAA,OAAA,EACV;AAAA,KAAA,EAEJ;AAAA,GAAA,EACF,CAAA;AAEJ","file":"chunk-36YYHIJU.js","sourcesContent":["import { format } from 'date-fns';\nimport { ChevronLeft, ChevronRight, Plus } from 'lucide-react';\nimport { Button } from './button';\nimport { ToggleGroup, ToggleGroupItem } from './toggle-group';\n\n/** Supported calendar view modes. */\nexport type CalendarView = 'month' | 'week' | 'day';\n\n/** Localizable labels for the calendar toolbar. All have English defaults. */\nexport interface CalendarToolbarLabels {\n /** Label for the \"Today\" button. */\n today?: string;\n /** Label for the \"Month\" view toggle. */\n month?: string;\n /** Label for the \"Week\" view toggle. */\n week?: string;\n /** Label for the \"Day\" view toggle. */\n day?: string;\n /** Label for the \"Create Event\" button. */\n createEvent?: string;\n}\n\nconst defaultLabels: Required<CalendarToolbarLabels> = {\n today: 'Today',\n month: 'Month',\n week: 'Week',\n day: 'Day',\n createEvent: 'Create Event',\n};\n\nexport interface CalendarToolbarProps {\n /** The date currently being viewed. Used for the title display. */\n currentDate: Date;\n /** The active calendar view mode. */\n view: CalendarView;\n /** Callback when the user switches between month/week/day views. */\n onViewChange: (view: CalendarView) => void;\n /** Navigate to the previous period. */\n onPrev: () => void;\n /** Navigate to the next period. */\n onNext: () => void;\n /** Navigate to today. */\n onToday: () => void;\n /** Optional callback for the \"Create Event\" button. Button is hidden when omitted. */\n onCreateEvent?: () => void;\n /** Localizable UI labels with English defaults. */\n labels?: CalendarToolbarLabels;\n /** date-fns format string for the title. Defaults to `\"MMMM yyyy\"` or `\"EEEE, MMMM d, yyyy\"` for day view. */\n titleFormat?: string;\n}\n\n/**\n * Toolbar for calendar views with navigation controls (prev/next/today),\n * view mode toggle (month/week/day), and an optional \"Create Event\" button.\n * Locale-agnostic via the `labels` prop.\n *\n * @example\n * ```tsx\n * <CalendarToolbar\n * currentDate={currentDate}\n * view=\"month\"\n * onViewChange={setView}\n * onPrev={handlePrev}\n * onNext={handleNext}\n * onToday={handleToday}\n * onCreateEvent={() => setDialogOpen(true)}\n * />\n * ```\n */\nexport function CalendarToolbar({\n currentDate,\n view,\n onViewChange,\n onPrev,\n onNext,\n onToday,\n onCreateEvent,\n labels: labelsProp,\n titleFormat: titleFormatProp,\n}: CalendarToolbarProps) {\n const labels = { ...defaultLabels, ...labelsProp };\n\n const titleFormat = titleFormatProp ?? (view === 'day'\n ? 'EEEE, MMMM d, yyyy'\n : 'MMMM yyyy');\n\n return (\n <div className=\"flex items-center justify-between gap-4 flex-wrap\">\n <div className=\"flex items-center gap-2\">\n <Button variant=\"outline\" size=\"sm\" onClick={onToday}>\n {labels.today}\n </Button>\n <div className=\"flex items-center\">\n <Button variant=\"ghost\" size=\"icon\" className=\"w-8 h-8\" onClick={onPrev}>\n <ChevronLeft className=\"w-4 h-4\" />\n </Button>\n <Button variant=\"ghost\" size=\"icon\" className=\"w-8 h-8\" onClick={onNext}>\n <ChevronRight className=\"w-4 h-4\" />\n </Button>\n </div>\n <h2 className=\"text-lg font-semibold\">{format(currentDate, titleFormat)}</h2>\n </div>\n\n <div className=\"flex items-center gap-2\">\n <ToggleGroup type=\"single\" value={view} onValueChange={val => val && onViewChange(val as CalendarView)}>\n <ToggleGroupItem value=\"month\" size=\"sm\">{labels.month}</ToggleGroupItem>\n <ToggleGroupItem value=\"week\" size=\"sm\">{labels.week}</ToggleGroupItem>\n <ToggleGroupItem value=\"day\" size=\"sm\">{labels.day}</ToggleGroupItem>\n </ToggleGroup>\n {onCreateEvent && (\n <Button size=\"sm\" onClick={onCreateEvent}>\n <Plus className=\"w-4 h-4\" />\n {labels.createEvent}\n </Button>\n )}\n </div>\n </div>\n );\n}\n"]}
|
package/dist/chunk-3EOHW4QN.js
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import * as CollapsiblePrimitive from '@radix-ui/react-collapsible';
|
|
2
|
-
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
|
|
4
|
-
// src/components/collapsible.tsx
|
|
5
|
-
function Collapsible({
|
|
6
|
-
...props
|
|
7
|
-
}) {
|
|
8
|
-
return /* @__PURE__ */ jsx(CollapsiblePrimitive.Root, { "data-slot": "collapsible", ...props });
|
|
9
|
-
}
|
|
10
|
-
function CollapsibleTrigger2({
|
|
11
|
-
...props
|
|
12
|
-
}) {
|
|
13
|
-
return /* @__PURE__ */ jsx(
|
|
14
|
-
CollapsiblePrimitive.CollapsibleTrigger,
|
|
15
|
-
{
|
|
16
|
-
"data-slot": "collapsible-trigger",
|
|
17
|
-
...props
|
|
18
|
-
}
|
|
19
|
-
);
|
|
20
|
-
}
|
|
21
|
-
function CollapsibleContent2({
|
|
22
|
-
...props
|
|
23
|
-
}) {
|
|
24
|
-
return /* @__PURE__ */ jsx(
|
|
25
|
-
CollapsiblePrimitive.CollapsibleContent,
|
|
26
|
-
{
|
|
27
|
-
"data-slot": "collapsible-content",
|
|
28
|
-
...props
|
|
29
|
-
}
|
|
30
|
-
);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
export { Collapsible, CollapsibleContent2 as CollapsibleContent, CollapsibleTrigger2 as CollapsibleTrigger };
|
|
34
|
-
//# sourceMappingURL=chunk-3EOHW4QN.js.map
|
|
35
|
-
//# sourceMappingURL=chunk-3EOHW4QN.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/collapsible.tsx"],"names":["CollapsibleTrigger","CollapsibleContent"],"mappings":";;;;AAoBA,SAAS,WAAA,CAAY;AAAA,EACnB,GAAG;AACL,CAAA,EAA2D;AACzD,EAAA,2BAA6B,oBAAA,CAAA,IAAA,EAArB,EAA0B,WAAA,EAAU,aAAA,EAAe,GAAG,KAAA,EAAO,CAAA;AACvE;AAGA,SAASA,mBAAAA,CAAmB;AAAA,EAC1B,GAAG;AACL,CAAA,EAAyE;AACvE,EAAA,uBACE,GAAA;AAAA,IAAsB,oBAAA,CAAA,kBAAA;AAAA,IAArB;AAAA,MACC,WAAA,EAAU,qBAAA;AAAA,MACT,GAAG;AAAA;AAAA,GACN;AAEJ;AAGA,SAASC,mBAAAA,CAAmB;AAAA,EAC1B,GAAG;AACL,CAAA,EAAyE;AACvE,EAAA,uBACE,GAAA;AAAA,IAAsB,oBAAA,CAAA,kBAAA;AAAA,IAArB;AAAA,MACC,WAAA,EAAU,qBAAA;AAAA,MACT,GAAG;AAAA;AAAA,GACN;AAEJ","file":"chunk-3EOHW4QN.js","sourcesContent":["import * as CollapsiblePrimitive from \"@radix-ui/react-collapsible\";\n\n/**\n * Expandable/collapsible container built on Radix Collapsible.\n *\n * Manages open/closed state for a single content region. For multiple\n * collapsible sections, consider using `Accordion` instead.\n *\n * @example\n * ```tsx\n * <Collapsible>\n * <CollapsibleTrigger asChild>\n * <Button variant=\"ghost\">Toggle details</Button>\n * </CollapsibleTrigger>\n * <CollapsibleContent>\n * <p>Hidden content revealed on toggle.</p>\n * </CollapsibleContent>\n * </Collapsible>\n * ```\n */\nfunction Collapsible({\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.Root>) {\n return <CollapsiblePrimitive.Root data-slot=\"collapsible\" {...props} />;\n}\n\n/** Button or element that toggles the collapsible open/closed state. Supports `asChild` for custom trigger elements. */\nfunction CollapsibleTrigger({\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleTrigger>) {\n return (\n <CollapsiblePrimitive.CollapsibleTrigger\n data-slot=\"collapsible-trigger\"\n {...props}\n />\n );\n}\n\n/** Content region that shows/hides when the collapsible is toggled. */\nfunction CollapsibleContent({\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleContent>) {\n return (\n <CollapsiblePrimitive.CollapsibleContent\n data-slot=\"collapsible-content\"\n {...props}\n />\n );\n}\n\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent };\n"]}
|
package/dist/chunk-3UPBCOS4.js
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { inputVariants } from './chunk-3VU56V66.js';
|
|
2
|
-
import { cn } from './chunk-DGPY4WP3.js';
|
|
3
|
-
import * as React from 'react';
|
|
4
|
-
import { EyeOff, Eye } from 'lucide-react';
|
|
5
|
-
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
6
|
-
|
|
7
|
-
var PasswordInput = React.forwardRef(
|
|
8
|
-
({ className, size, ...props }, ref) => {
|
|
9
|
-
const [visible, setVisible] = React.useState(false);
|
|
10
|
-
return /* @__PURE__ */ jsxs("div", { className: "relative", children: [
|
|
11
|
-
/* @__PURE__ */ jsx(
|
|
12
|
-
"input",
|
|
13
|
-
{
|
|
14
|
-
type: visible ? "text" : "password",
|
|
15
|
-
ref,
|
|
16
|
-
"data-slot": "input",
|
|
17
|
-
className: cn(inputVariants({ size, className: cn("pr-10", className) })),
|
|
18
|
-
...props
|
|
19
|
-
}
|
|
20
|
-
),
|
|
21
|
-
/* @__PURE__ */ jsx(
|
|
22
|
-
"button",
|
|
23
|
-
{
|
|
24
|
-
type: "button",
|
|
25
|
-
tabIndex: -1,
|
|
26
|
-
className: "absolute right-0 top-0 flex h-full w-10 items-center justify-center text-muted-foreground hover:text-foreground transition-colors",
|
|
27
|
-
onClick: () => setVisible((v) => !v),
|
|
28
|
-
"aria-label": visible ? "Hide password" : "Show password",
|
|
29
|
-
children: visible ? /* @__PURE__ */ jsx(EyeOff, { className: "h-4 w-4" }) : /* @__PURE__ */ jsx(Eye, { className: "h-4 w-4" })
|
|
30
|
-
}
|
|
31
|
-
)
|
|
32
|
-
] });
|
|
33
|
-
}
|
|
34
|
-
);
|
|
35
|
-
PasswordInput.displayName = "PasswordInput";
|
|
36
|
-
|
|
37
|
-
export { PasswordInput };
|
|
38
|
-
//# sourceMappingURL=chunk-3UPBCOS4.js.map
|
|
39
|
-
//# sourceMappingURL=chunk-3UPBCOS4.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/password-input.tsx"],"names":[],"mappings":";;;;;;AAiCA,IAAM,aAAA,GAAsB,KAAA,CAAA,UAAA;AAAA,EAC1B,CAAC,EAAE,SAAA,EAAW,MAAM,GAAG,KAAA,IAAS,GAAA,KAAQ;AACtC,IAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAU,eAAS,KAAK,CAAA;AAElD,IAAA,uBACE,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,UAAA,EACb,QAAA,EAAA;AAAA,sBAAA,GAAA;AAAA,QAAC,OAAA;AAAA,QAAA;AAAA,UACC,IAAA,EAAM,UAAU,MAAA,GAAS,UAAA;AAAA,UACzB,GAAA;AAAA,UACA,WAAA,EAAU,OAAA;AAAA,UACV,SAAA,EAAW,EAAA,CAAG,aAAA,CAAc,EAAE,IAAA,EAAM,SAAA,EAAW,EAAA,CAAG,OAAA,EAAS,SAAS,CAAA,EAAG,CAAC,CAAA;AAAA,UACvE,GAAG;AAAA;AAAA,OACN;AAAA,sBACA,GAAA;AAAA,QAAC,QAAA;AAAA,QAAA;AAAA,UACC,IAAA,EAAK,QAAA;AAAA,UACL,QAAA,EAAU,EAAA;AAAA,UACV,SAAA,EAAU,mIAAA;AAAA,UACV,SAAS,MAAM,UAAA,CAAW,CAAC,CAAA,KAAM,CAAC,CAAC,CAAA;AAAA,UACnC,YAAA,EAAY,UAAU,eAAA,GAAkB,eAAA;AAAA,UAEvC,QAAA,EAAA,OAAA,uBACE,MAAA,EAAA,EAAO,SAAA,EAAU,WAAU,CAAA,mBAE5B,GAAA,CAAC,GAAA,EAAA,EAAI,SAAA,EAAU,SAAA,EAAU;AAAA;AAAA;AAE7B,KAAA,EACF,CAAA;AAAA,EAEJ;AACF;AACA,aAAA,CAAc,WAAA,GAAc,eAAA","file":"chunk-3UPBCOS4.js","sourcesContent":["import * as React from \"react\";\nimport { type VariantProps } from \"class-variance-authority\";\nimport { Eye, EyeOff } from \"lucide-react\";\n\nimport { cn } from \"../lib/utils\";\nimport { inputVariants } from \"./input\";\n\ninterface PasswordInputProps\n extends Omit<React.ComponentProps<\"input\">, \"type\" | \"size\">,\n VariantProps<typeof inputVariants> {}\n\n/**\n * Password input with a built-in show/hide toggle button.\n *\n * Extends native `<input>` (minus `type` which is managed internally).\n * Shares the same size variants as `Input`.\n *\n * @example\n * ```tsx\n * // Default size\n * <PasswordInput placeholder=\"Enter password\" />\n *\n * // Sizes: xs (24px) | sm (28px) | default (32px) | lg (36px) | xl (44px)\n * <PasswordInput size=\"xl\" placeholder=\"Password\" />\n *\n * // Controlled\n * <PasswordInput\n * value={password}\n * onChange={(e) => setPassword(e.target.value)}\n * placeholder=\"Password\"\n * />\n * ```\n */\nconst PasswordInput = React.forwardRef<HTMLInputElement, PasswordInputProps>(\n ({ className, size, ...props }, ref) => {\n const [visible, setVisible] = React.useState(false);\n\n return (\n <div className=\"relative\">\n <input\n type={visible ? \"text\" : \"password\"}\n ref={ref}\n data-slot=\"input\"\n className={cn(inputVariants({ size, className: cn(\"pr-10\", className) }))}\n {...props}\n />\n <button\n type=\"button\"\n tabIndex={-1}\n className=\"absolute right-0 top-0 flex h-full w-10 items-center justify-center text-muted-foreground hover:text-foreground transition-colors\"\n onClick={() => setVisible((v) => !v)}\n aria-label={visible ? \"Hide password\" : \"Show password\"}\n >\n {visible ? (\n <EyeOff className=\"h-4 w-4\" />\n ) : (\n <Eye className=\"h-4 w-4\" />\n )}\n </button>\n </div>\n );\n },\n);\nPasswordInput.displayName = \"PasswordInput\";\n\nexport { PasswordInput };\nexport type { PasswordInputProps };\n"]}
|
package/dist/chunk-3VU56V66.js
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { cn } from './chunk-DGPY4WP3.js';
|
|
2
|
-
import * as React from 'react';
|
|
3
|
-
import { cva } from 'class-variance-authority';
|
|
4
|
-
import { jsx } from 'react/jsx-runtime';
|
|
5
|
-
|
|
6
|
-
var inputVariants = cva(
|
|
7
|
-
"file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex w-full min-w-0 rounded-md border bg-input-background transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
|
|
8
|
-
{
|
|
9
|
-
variants: {
|
|
10
|
-
size: {
|
|
11
|
-
xs: "h-element-xs px-2 text-xs",
|
|
12
|
-
sm: "h-element-sm px-2.5 text-sm",
|
|
13
|
-
default: "h-element px-3 py-1 text-base md:text-sm",
|
|
14
|
-
lg: "h-element-lg px-4 text-sm",
|
|
15
|
-
xl: "h-element-xl px-4 text-base"
|
|
16
|
-
}
|
|
17
|
-
},
|
|
18
|
-
defaultVariants: {
|
|
19
|
-
size: "default"
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
);
|
|
23
|
-
var Input = React.forwardRef(
|
|
24
|
-
({ className, type, size, ...props }, ref) => {
|
|
25
|
-
return /* @__PURE__ */ jsx(
|
|
26
|
-
"input",
|
|
27
|
-
{
|
|
28
|
-
type,
|
|
29
|
-
ref,
|
|
30
|
-
"data-slot": "input",
|
|
31
|
-
className: cn(inputVariants({ size, className })),
|
|
32
|
-
...props
|
|
33
|
-
}
|
|
34
|
-
);
|
|
35
|
-
}
|
|
36
|
-
);
|
|
37
|
-
Input.displayName = "Input";
|
|
38
|
-
|
|
39
|
-
export { Input, inputVariants };
|
|
40
|
-
//# sourceMappingURL=chunk-3VU56V66.js.map
|
|
41
|
-
//# sourceMappingURL=chunk-3VU56V66.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/input.tsx"],"names":[],"mappings":";;;;;AAKA,IAAM,aAAA,GAAgB,GAAA;AAAA,EACpB,8kBAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,2BAAA;AAAA,QACJ,EAAA,EAAI,6BAAA;AAAA,QACJ,OAAA,EAAS,0CAAA;AAAA,QACT,EAAA,EAAI,2BAAA;AAAA,QACJ,EAAA,EAAI;AAAA;AACN,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAM;AAAA;AACR;AAEJ;AAgCA,IAAM,KAAA,GAAc,KAAA,CAAA,UAAA;AAAA,EAClB,CAAC,EAAE,SAAA,EAAW,IAAA,EAAM,MAAM,GAAG,KAAA,IAAS,GAAA,KAAQ;AAC5C,IAAA,uBACE,GAAA;AAAA,MAAC,OAAA;AAAA,MAAA;AAAA,QACC,IAAA;AAAA,QACA,GAAA;AAAA,QACA,WAAA,EAAU,OAAA;AAAA,QACV,WAAW,EAAA,CAAG,aAAA,CAAc,EAAE,IAAA,EAAM,SAAA,EAAW,CAAC,CAAA;AAAA,QAC/C,GAAG;AAAA;AAAA,KACN;AAAA,EAEJ;AACF;AACA,KAAA,CAAM,WAAA,GAAc,OAAA","file":"chunk-3VU56V66.js","sourcesContent":["import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../lib/utils\";\n\nconst inputVariants = cva(\n \"file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex w-full min-w-0 rounded-md border bg-input-background transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n {\n variants: {\n size: {\n xs: \"h-element-xs px-2 text-xs\",\n sm: \"h-element-sm px-2.5 text-sm\",\n default: \"h-element px-3 py-1 text-base md:text-sm\",\n lg: \"h-element-lg px-4 text-sm\",\n xl: \"h-element-xl px-4 text-base\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n },\n);\n\ninterface InputProps\n extends Omit<React.ComponentProps<\"input\">, \"size\">,\n VariantProps<typeof inputVariants> {}\n\n/**\n * Text input component with multiple size variants.\n *\n * Extends native `<input>` — all standard HTML input attributes are supported.\n *\n * @example\n * ```tsx\n * // Default input\n * <Input placeholder=\"Enter text...\" />\n *\n * // Sizes: xs (24px) | sm (28px) | default (32px) | lg (36px) | xl (44px)\n * <Input size=\"xs\" placeholder=\"Tiny\" />\n * <Input size=\"sm\" placeholder=\"Small\" />\n * <Input size=\"lg\" placeholder=\"Large\" />\n * <Input size=\"xl\" placeholder=\"Extra large\" />\n *\n * // With type\n * <Input type=\"email\" placeholder=\"email@example.com\" />\n * <Input type=\"number\" placeholder=\"0\" />\n * <Input type=\"date\" />\n *\n * // Disabled / invalid\n * <Input disabled placeholder=\"Disabled\" />\n * <Input aria-invalid placeholder=\"Error state\" />\n * ```\n */\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(\n ({ className, type, size, ...props }, ref) => {\n return (\n <input\n type={type}\n ref={ref}\n data-slot=\"input\"\n className={cn(inputVariants({ size, className }))}\n {...props}\n />\n );\n },\n);\nInput.displayName = \"Input\";\n\nexport { Input, inputVariants };\nexport type { InputProps };\n"]}
|
package/dist/chunk-55E7D2HR.js
DELETED
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import { cn } from './chunk-DGPY4WP3.js';
|
|
2
|
-
import * as React from 'react';
|
|
3
|
-
import { Slot } from '@radix-ui/react-slot';
|
|
4
|
-
import { cva } from 'class-variance-authority';
|
|
5
|
-
import { jsx } from 'react/jsx-runtime';
|
|
6
|
-
|
|
7
|
-
var buttonVariants = cva(
|
|
8
|
-
"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
|
|
9
|
-
{
|
|
10
|
-
variants: {
|
|
11
|
-
variant: {
|
|
12
|
-
// Solid — color applied via compoundVariants
|
|
13
|
-
default: "",
|
|
14
|
-
// Legacy — maps to solid + destructive color (backward compatible)
|
|
15
|
-
destructive: "",
|
|
16
|
-
// Color-independent
|
|
17
|
-
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
|
18
|
-
// Color-aware — applied via compoundVariants
|
|
19
|
-
outline: "",
|
|
20
|
-
soft: "",
|
|
21
|
-
ghost: "",
|
|
22
|
-
link: ""
|
|
23
|
-
},
|
|
24
|
-
color: {
|
|
25
|
-
primary: "",
|
|
26
|
-
destructive: "",
|
|
27
|
-
success: "",
|
|
28
|
-
warning: "",
|
|
29
|
-
info: ""
|
|
30
|
-
},
|
|
31
|
-
size: {
|
|
32
|
-
xs: "h-element-xs rounded-md gap-1 px-2 text-xs has-[>svg]:px-1.5",
|
|
33
|
-
sm: "h-element-sm rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",
|
|
34
|
-
default: "h-element px-4 py-2 has-[>svg]:px-3",
|
|
35
|
-
lg: "h-element-lg rounded-md px-6 has-[>svg]:px-4",
|
|
36
|
-
xl: "h-element-xl rounded-md px-8 text-base font-semibold has-[>svg]:px-5",
|
|
37
|
-
icon: "size-element rounded-md"
|
|
38
|
-
}
|
|
39
|
-
},
|
|
40
|
-
compoundVariants: [
|
|
41
|
-
// ── Solid (default variant) × color ──
|
|
42
|
-
{ variant: "default", color: "primary", className: "bg-primary text-primary-foreground hover:bg-primary/90" },
|
|
43
|
-
{ variant: "default", color: "destructive", className: "bg-destructive text-destructive-foreground hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40" },
|
|
44
|
-
{ variant: "default", color: "success", className: "bg-success text-success-foreground hover:bg-success/90 focus-visible:ring-success/20 dark:focus-visible:ring-success/40" },
|
|
45
|
-
{ variant: "default", color: "warning", className: "bg-warning text-warning-foreground hover:bg-warning/90 focus-visible:ring-warning/20 dark:focus-visible:ring-warning/40" },
|
|
46
|
-
{ variant: "default", color: "info", className: "bg-info text-info-foreground hover:bg-info/90 focus-visible:ring-info/20 dark:focus-visible:ring-info/40" },
|
|
47
|
-
// ── Legacy destructive variant (backward compat) ──
|
|
48
|
-
{ variant: "destructive", className: "bg-destructive text-destructive-foreground hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40" },
|
|
49
|
-
// ── Outline × color ──
|
|
50
|
-
{ variant: "outline", color: "primary", className: "border border-input bg-background text-foreground hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50" },
|
|
51
|
-
{ variant: "outline", color: "destructive", className: "border border-destructive/50 text-destructive bg-background hover:bg-destructive/10 focus-visible:ring-destructive/20" },
|
|
52
|
-
{ variant: "outline", color: "success", className: "border border-success/50 text-success bg-background hover:bg-success/10 focus-visible:ring-success/20" },
|
|
53
|
-
{ variant: "outline", color: "warning", className: "border border-warning/50 text-warning bg-background hover:bg-warning/10 focus-visible:ring-warning/20" },
|
|
54
|
-
{ variant: "outline", color: "info", className: "border border-info/50 text-info bg-background hover:bg-info/10 focus-visible:ring-info/20" },
|
|
55
|
-
// ── Soft × color ──
|
|
56
|
-
{ variant: "soft", color: "primary", className: "bg-primary/10 text-primary hover:bg-primary/20" },
|
|
57
|
-
{ variant: "soft", color: "destructive", className: "bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:ring-destructive/20" },
|
|
58
|
-
{ variant: "soft", color: "success", className: "bg-success/10 text-success hover:bg-success/20 focus-visible:ring-success/20" },
|
|
59
|
-
{ variant: "soft", color: "warning", className: "bg-warning/10 text-warning hover:bg-warning/20 focus-visible:ring-warning/20" },
|
|
60
|
-
{ variant: "soft", color: "info", className: "bg-info/10 text-info hover:bg-info/20 focus-visible:ring-info/20" },
|
|
61
|
-
// ── Ghost × color ──
|
|
62
|
-
{ variant: "ghost", color: "primary", className: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50" },
|
|
63
|
-
{ variant: "ghost", color: "destructive", className: "text-destructive hover:bg-destructive/10" },
|
|
64
|
-
{ variant: "ghost", color: "success", className: "text-success hover:bg-success/10" },
|
|
65
|
-
{ variant: "ghost", color: "warning", className: "text-warning hover:bg-warning/10" },
|
|
66
|
-
{ variant: "ghost", color: "info", className: "text-info hover:bg-info/10" },
|
|
67
|
-
// ── Link × color ──
|
|
68
|
-
{ variant: "link", color: "primary", className: "text-primary underline-offset-4 hover:underline" },
|
|
69
|
-
{ variant: "link", color: "destructive", className: "text-destructive underline-offset-4 hover:underline" },
|
|
70
|
-
{ variant: "link", color: "success", className: "text-success underline-offset-4 hover:underline" },
|
|
71
|
-
{ variant: "link", color: "warning", className: "text-warning underline-offset-4 hover:underline" },
|
|
72
|
-
{ variant: "link", color: "info", className: "text-info underline-offset-4 hover:underline" }
|
|
73
|
-
],
|
|
74
|
-
defaultVariants: {
|
|
75
|
-
variant: "default",
|
|
76
|
-
color: "primary",
|
|
77
|
-
size: "default"
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
);
|
|
81
|
-
var Button = React.forwardRef(
|
|
82
|
-
({ className, variant, color, size, asChild = false, block = false, ...props }, ref) => {
|
|
83
|
-
const Comp = asChild ? Slot : "button";
|
|
84
|
-
return /* @__PURE__ */ jsx(
|
|
85
|
-
Comp,
|
|
86
|
-
{
|
|
87
|
-
ref,
|
|
88
|
-
"data-slot": "button",
|
|
89
|
-
className: cn(buttonVariants({ variant, color, size }), block && "w-full", className),
|
|
90
|
-
...props
|
|
91
|
-
}
|
|
92
|
-
);
|
|
93
|
-
}
|
|
94
|
-
);
|
|
95
|
-
Button.displayName = "Button";
|
|
96
|
-
|
|
97
|
-
export { Button, buttonVariants };
|
|
98
|
-
//# sourceMappingURL=chunk-55E7D2HR.js.map
|
|
99
|
-
//# sourceMappingURL=chunk-55E7D2HR.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/button.tsx"],"names":[],"mappings":"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","file":"chunk-55E7D2HR.js","sourcesContent":["import * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../lib/utils\";\nimport type { UIColor } from \"../lib/types\";\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n {\n variants: {\n variant: {\n // Solid — color applied via compoundVariants\n default: \"\",\n // Legacy — maps to solid + destructive color (backward compatible)\n destructive: \"\",\n // Color-independent\n secondary:\n \"bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n // Color-aware — applied via compoundVariants\n outline: \"\",\n soft: \"\",\n ghost: \"\",\n link: \"\",\n },\n color: {\n primary: \"\",\n destructive: \"\",\n success: \"\",\n warning: \"\",\n info: \"\",\n },\n size: {\n xs: \"h-element-xs rounded-md gap-1 px-2 text-xs has-[>svg]:px-1.5\",\n sm: \"h-element-sm rounded-md gap-1.5 px-3 has-[>svg]:px-2.5\",\n default: \"h-element px-4 py-2 has-[>svg]:px-3\",\n lg: \"h-element-lg rounded-md px-6 has-[>svg]:px-4\",\n xl: \"h-element-xl rounded-md px-8 text-base font-semibold has-[>svg]:px-5\",\n icon: \"size-element rounded-md\",\n },\n },\n compoundVariants: [\n // ── Solid (default variant) × color ──\n { variant: \"default\", color: \"primary\", className: \"bg-primary text-primary-foreground hover:bg-primary/90\" },\n { variant: \"default\", color: \"destructive\", className: \"bg-destructive text-destructive-foreground hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40\" },\n { variant: \"default\", color: \"success\", className: \"bg-success text-success-foreground hover:bg-success/90 focus-visible:ring-success/20 dark:focus-visible:ring-success/40\" },\n { variant: \"default\", color: \"warning\", className: \"bg-warning text-warning-foreground hover:bg-warning/90 focus-visible:ring-warning/20 dark:focus-visible:ring-warning/40\" },\n { variant: \"default\", color: \"info\", className: \"bg-info text-info-foreground hover:bg-info/90 focus-visible:ring-info/20 dark:focus-visible:ring-info/40\" },\n\n // ── Legacy destructive variant (backward compat) ──\n { variant: \"destructive\", className: \"bg-destructive text-destructive-foreground hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40\" },\n\n // ── Outline × color ──\n { variant: \"outline\", color: \"primary\", className: \"border border-input bg-background text-foreground hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50\" },\n { variant: \"outline\", color: \"destructive\", className: \"border border-destructive/50 text-destructive bg-background hover:bg-destructive/10 focus-visible:ring-destructive/20\" },\n { variant: \"outline\", color: \"success\", className: \"border border-success/50 text-success bg-background hover:bg-success/10 focus-visible:ring-success/20\" },\n { variant: \"outline\", color: \"warning\", className: \"border border-warning/50 text-warning bg-background hover:bg-warning/10 focus-visible:ring-warning/20\" },\n { variant: \"outline\", color: \"info\", className: \"border border-info/50 text-info bg-background hover:bg-info/10 focus-visible:ring-info/20\" },\n\n // ── Soft × color ──\n { variant: \"soft\", color: \"primary\", className: \"bg-primary/10 text-primary hover:bg-primary/20\" },\n { variant: \"soft\", color: \"destructive\", className: \"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:ring-destructive/20\" },\n { variant: \"soft\", color: \"success\", className: \"bg-success/10 text-success hover:bg-success/20 focus-visible:ring-success/20\" },\n { variant: \"soft\", color: \"warning\", className: \"bg-warning/10 text-warning hover:bg-warning/20 focus-visible:ring-warning/20\" },\n { variant: \"soft\", color: \"info\", className: \"bg-info/10 text-info hover:bg-info/20 focus-visible:ring-info/20\" },\n\n // ── Ghost × color ──\n { variant: \"ghost\", color: \"primary\", className: \"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50\" },\n { variant: \"ghost\", color: \"destructive\", className: \"text-destructive hover:bg-destructive/10\" },\n { variant: \"ghost\", color: \"success\", className: \"text-success hover:bg-success/10\" },\n { variant: \"ghost\", color: \"warning\", className: \"text-warning hover:bg-warning/10\" },\n { variant: \"ghost\", color: \"info\", className: \"text-info hover:bg-info/10\" },\n\n // ── Link × color ──\n { variant: \"link\", color: \"primary\", className: \"text-primary underline-offset-4 hover:underline\" },\n { variant: \"link\", color: \"destructive\", className: \"text-destructive underline-offset-4 hover:underline\" },\n { variant: \"link\", color: \"success\", className: \"text-success underline-offset-4 hover:underline\" },\n { variant: \"link\", color: \"warning\", className: \"text-warning underline-offset-4 hover:underline\" },\n { variant: \"link\", color: \"info\", className: \"text-info underline-offset-4 hover:underline\" },\n ],\n defaultVariants: {\n variant: \"default\",\n color: \"primary\",\n size: \"default\",\n },\n },\n);\n\ninterface ButtonProps\n extends React.ComponentProps<\"button\">,\n Omit<VariantProps<typeof buttonVariants>, \"color\"> {\n /**\n * Semantic color intent. Works with `variant` to produce the final appearance.\n *\n * | Color | Use for |\n * |-------|---------|\n * | `primary` | Main actions (default) |\n * | `destructive` | Delete, errors |\n * | `success` | Approve, confirm |\n * | `warning` | Caution, attention |\n * | `info` | Informational |\n *\n * @default \"primary\"\n * @example\n * ```tsx\n * <Button color=\"success\">Approve</Button>\n * <Button variant=\"outline\" color=\"destructive\">Reject</Button>\n * <Button variant=\"soft\" color=\"warning\">Review</Button>\n * ```\n */\n color?: UIColor;\n /**\n * Render as a child component using Radix Slot.\n * When `true`, the button merges its props onto its single child element.\n * @default false\n */\n asChild?: boolean;\n /**\n * Make the button take the full width of its container.\n * @default false\n * @example\n * ```tsx\n * <Button block>Full Width</Button>\n * <Button size=\"xl\" block>Sign In</Button>\n * ```\n */\n block?: boolean;\n}\n\n/**\n * Button component with semantic colors, visual variants, and standard sizes.\n *\n * Combines `variant` (how it looks) with `color` (what it means) for full flexibility.\n * All existing `variant=\"destructive\"` usage continues to work unchanged.\n *\n * @example\n * ```tsx\n * // Default (solid primary)\n * <Button>Save</Button>\n *\n * // Semantic colors\n * <Button color=\"success\">Approve</Button>\n * <Button color=\"destructive\">Delete</Button>\n * <Button color=\"warning\">Proceed with caution</Button>\n *\n * // Variant × Color combinations\n * <Button variant=\"outline\" color=\"destructive\">Reject</Button>\n * <Button variant=\"soft\" color=\"success\">Approved</Button>\n * <Button variant=\"ghost\" color=\"info\">Learn more</Button>\n *\n * // Legacy (still works)\n * <Button variant=\"destructive\">Delete</Button>\n *\n * // Sizes: xs (24px) | sm (28px) | default (32px) | lg (36px) | xl (44px) | icon (32x32)\n * <Button size=\"xs\">Tiny</Button>\n * <Button size=\"xl\" block>Sign In</Button>\n * <Button size=\"icon\"><PlusIcon /></Button>\n * ```\n */\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, color, size, asChild = false, block = false, ...props }, ref) => {\n const Comp = asChild ? Slot : \"button\";\n\n return (\n <Comp\n ref={ref}\n data-slot=\"button\"\n className={cn(buttonVariants({ variant, color, size }), block && \"w-full\", className)}\n {...props}\n />\n );\n },\n);\n\nButton.displayName = \"Button\";\n\nexport { Button, buttonVariants };\nexport type { ButtonProps };\n"]}
|
package/dist/chunk-67YUL2ZS.js
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { cn } from './chunk-DGPY4WP3.js';
|
|
2
|
-
import * as AvatarPrimitive from '@radix-ui/react-avatar';
|
|
3
|
-
import { jsx } from 'react/jsx-runtime';
|
|
4
|
-
|
|
5
|
-
function Avatar({
|
|
6
|
-
className,
|
|
7
|
-
...props
|
|
8
|
-
}) {
|
|
9
|
-
return /* @__PURE__ */ jsx(
|
|
10
|
-
AvatarPrimitive.Root,
|
|
11
|
-
{
|
|
12
|
-
"data-slot": "avatar",
|
|
13
|
-
className: cn(
|
|
14
|
-
"relative flex size-10 shrink-0 overflow-hidden rounded-full",
|
|
15
|
-
className
|
|
16
|
-
),
|
|
17
|
-
...props
|
|
18
|
-
}
|
|
19
|
-
);
|
|
20
|
-
}
|
|
21
|
-
function AvatarImage({
|
|
22
|
-
className,
|
|
23
|
-
...props
|
|
24
|
-
}) {
|
|
25
|
-
return /* @__PURE__ */ jsx(
|
|
26
|
-
AvatarPrimitive.Image,
|
|
27
|
-
{
|
|
28
|
-
"data-slot": "avatar-image",
|
|
29
|
-
className: cn("aspect-square size-full", className),
|
|
30
|
-
...props
|
|
31
|
-
}
|
|
32
|
-
);
|
|
33
|
-
}
|
|
34
|
-
function AvatarFallback({
|
|
35
|
-
className,
|
|
36
|
-
...props
|
|
37
|
-
}) {
|
|
38
|
-
return /* @__PURE__ */ jsx(
|
|
39
|
-
AvatarPrimitive.Fallback,
|
|
40
|
-
{
|
|
41
|
-
"data-slot": "avatar-fallback",
|
|
42
|
-
className: cn(
|
|
43
|
-
"bg-muted flex size-full items-center justify-center rounded-full",
|
|
44
|
-
className
|
|
45
|
-
),
|
|
46
|
-
...props
|
|
47
|
-
}
|
|
48
|
-
);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
export { Avatar, AvatarFallback, AvatarImage };
|
|
52
|
-
//# sourceMappingURL=chunk-67YUL2ZS.js.map
|
|
53
|
-
//# sourceMappingURL=chunk-67YUL2ZS.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/avatar.tsx"],"names":[],"mappings":";;;;AAyBA,SAAS,MAAA,CAAO;AAAA,EACd,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAgB;AACd,EAAA,uBACE,GAAA;AAAA,IAAiB,eAAA,CAAA,IAAA;AAAA,IAAhB;AAAA,MACC,WAAA,EAAU,QAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,6DAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAaA,SAAS,WAAA,CAAY;AAAA,EACnB,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAqB;AACnB,EAAA,uBACE,GAAA;AAAA,IAAiB,eAAA,CAAA,KAAA;AAAA,IAAhB;AAAA,MACC,WAAA,EAAU,cAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,yBAAA,EAA2B,SAAS,CAAA;AAAA,MACjD,GAAG;AAAA;AAAA,GACN;AAEJ;AAaA,SAAS,cAAA,CAAe;AAAA,EACtB,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAwB;AACtB,EAAA,uBACE,GAAA;AAAA,IAAiB,eAAA,CAAA,QAAA;AAAA,IAAhB;AAAA,MACC,WAAA,EAAU,iBAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,kEAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ","file":"chunk-67YUL2ZS.js","sourcesContent":["import * as React from \"react\";\nimport * as AvatarPrimitive from \"@radix-ui/react-avatar\";\n\nimport { cn } from \"../lib/utils\";\n\ntype AvatarProps = React.ComponentProps<typeof AvatarPrimitive.Root>;\n\n/**\n * Circular container for user profile images or initials.\n * Use with {@link AvatarImage} and {@link AvatarFallback} for graceful loading.\n *\n * @example\n * ```tsx\n * <Avatar>\n * <AvatarImage src=\"/avatar.jpg\" alt=\"User\" />\n * <AvatarFallback>JD</AvatarFallback>\n * </Avatar>\n *\n * // Custom size\n * <Avatar className=\"size-8\">\n * <AvatarImage src=\"/small.jpg\" alt=\"User\" />\n * <AvatarFallback>U</AvatarFallback>\n * </Avatar>\n * ```\n */\nfunction Avatar({\n className,\n ...props\n}: AvatarProps) {\n return (\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n className={cn(\n \"relative flex size-10 shrink-0 overflow-hidden rounded-full\",\n className,\n )}\n {...props}\n />\n );\n}\n\ntype AvatarImageProps = React.ComponentProps<typeof AvatarPrimitive.Image>;\n\n/**\n * Image element rendered inside an {@link Avatar}. Falls back to\n * {@link AvatarFallback} when the image fails to load.\n *\n * @example\n * ```tsx\n * <AvatarImage src=\"/photo.jpg\" alt=\"Jane Doe\" />\n * ```\n */\nfunction AvatarImage({\n className,\n ...props\n}: AvatarImageProps) {\n return (\n <AvatarPrimitive.Image\n data-slot=\"avatar-image\"\n className={cn(\"aspect-square size-full\", className)}\n {...props}\n />\n );\n}\n\ntype AvatarFallbackProps = React.ComponentProps<typeof AvatarPrimitive.Fallback>;\n\n/**\n * Fallback content displayed while the {@link AvatarImage} is loading or\n * if it fails. Typically shows user initials (max 2 characters).\n *\n * @example\n * ```tsx\n * <AvatarFallback>JD</AvatarFallback>\n * ```\n */\nfunction AvatarFallback({\n className,\n ...props\n}: AvatarFallbackProps) {\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-fallback\"\n className={cn(\n \"bg-muted flex size-full items-center justify-center rounded-full\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Avatar, AvatarImage, AvatarFallback };\nexport type { AvatarProps, AvatarImageProps, AvatarFallbackProps };"]}
|