@bloomneo/uikit 1.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/CHANGELOG.md +222 -0
- package/LICENSE +21 -0
- package/README.md +513 -0
- package/bin/commands/build.js +232 -0
- package/bin/commands/bundle.js +587 -0
- package/bin/commands/create.js +768 -0
- package/bin/commands/deploy.js +533 -0
- package/bin/commands/generate.js +673 -0
- package/bin/commands/optimize.js +198 -0
- package/bin/commands/prerender.js +306 -0
- package/bin/commands/serve.js +216 -0
- package/bin/templates/fbca/README.md.template +130 -0
- package/bin/templates/fbca/docs/QUICKSTART_FBCA.md +368 -0
- package/bin/templates/fbca/docs/UIKIT_CLI_GUIDE.md +574 -0
- package/bin/templates/fbca/docs/UIKIT_COMPOSITE_UI_SYSTEM.md +649 -0
- package/bin/templates/fbca/docs/UIKIT_LLM_GUIDE.md +2055 -0
- package/bin/templates/fbca/docs/UIKIT_THEME_GUIDE.md +359 -0
- package/bin/templates/fbca/package.json.template +41 -0
- package/bin/templates/fbca/public/favicon.svg +10 -0
- package/bin/templates/fbca/public/hero_fbca.svg +1 -0
- package/bin/templates/fbca/src/utils/asset.ts +6 -0
- package/bin/templates/fbca/src/web/App.tsx.template +20 -0
- package/bin/templates/fbca/src/web/features/auth/pages/index.tsx.template +157 -0
- package/bin/templates/fbca/src/web/features/docs/pages/[...slug].tsx.template +83 -0
- package/bin/templates/fbca/src/web/features/gallery/hooks/useGallery.ts.template +74 -0
- package/bin/templates/fbca/src/web/features/gallery/pages/index.tsx.template +136 -0
- package/bin/templates/fbca/src/web/features/main/components/CTASection.tsx.template +43 -0
- package/bin/templates/fbca/src/web/features/main/pages/About.tsx.template +374 -0
- package/bin/templates/fbca/src/web/features/main/pages/index.tsx.template +214 -0
- package/bin/templates/fbca/src/web/index.html.template +15 -0
- package/bin/templates/fbca/src/web/lib/page-router.tsx.template +134 -0
- package/bin/templates/fbca/src/web/main.tsx.template +14 -0
- package/bin/templates/fbca/src/web/shared/components/Footer.tsx.template +57 -0
- package/bin/templates/fbca/src/web/shared/components/Header.tsx.template +91 -0
- package/bin/templates/fbca/src/web/shared/components/SEO.tsx.template +24 -0
- package/bin/templates/fbca/src/web/shared/components/index.ts.template +3 -0
- package/bin/templates/fbca/src/web/shared/hooks/useSEO.ts.template +85 -0
- package/bin/templates/fbca/src/web/shared/utils/asset.ts +6 -0
- package/bin/templates/fbca/src/web/styles/index.css.template +8 -0
- package/bin/templates/fbca/src/web/utils/asset.ts +6 -0
- package/bin/templates/fbca/tsconfig.json.template +32 -0
- package/bin/templates/fbca/tsconfig.node.json.template +10 -0
- package/bin/templates/fbca/vite.config.ts.template +38 -0
- package/bin/templates/generate/component/component.tsx.template +79 -0
- package/bin/templates/generate/component/index.ts.template +2 -0
- package/bin/templates/generate/component/types.ts.template +58 -0
- package/bin/templates/generate/feature/index.ts.template +14 -0
- package/bin/templates/generate/feature/list-page.tsx.template +34 -0
- package/bin/templates/generate/feature/main-component.tsx.template +37 -0
- package/bin/templates/generate/feature/main-page.tsx.template +30 -0
- package/bin/templates/generate/feature/types.ts.template +34 -0
- package/bin/templates/generate/hook/hook.ts.template +35 -0
- package/bin/templates/generate/index.css.template +10 -0
- package/bin/templates/generate/main.tsx.template +10 -0
- package/bin/templates/generate/page/index.ts.template +2 -0
- package/bin/templates/generate/page/page.tsx.template +86 -0
- package/bin/templates/generate/theme/README.md +31 -0
- package/bin/templates/generate/theme/theme.js.template +155 -0
- package/bin/templates/multi/README.md.template +120 -0
- package/bin/templates/multi/docs/QUICKSTART_MULTI.md +334 -0
- package/bin/templates/multi/docs/UIKIT_CLI_GUIDE.md +574 -0
- package/bin/templates/multi/docs/UIKIT_COMPOSITE_UI_SYSTEM.md +649 -0
- package/bin/templates/multi/docs/UIKIT_LLM_GUIDE.md +2055 -0
- package/bin/templates/multi/docs/UIKIT_THEME_GUIDE.md +359 -0
- package/bin/templates/multi/index.html.template +58 -0
- package/bin/templates/multi/package.json.template +35 -0
- package/bin/templates/multi/public/favicon.svg +10 -0
- package/bin/templates/multi/public/hero_multi.svg +1 -0
- package/bin/templates/multi/src/App.tsx.template +92 -0
- package/bin/templates/multi/src/components/Footer.tsx.template +58 -0
- package/bin/templates/multi/src/components/Header.tsx.template +103 -0
- package/bin/templates/multi/src/components/SEO.tsx.template +19 -0
- package/bin/templates/multi/src/components/index.ts.template +3 -0
- package/bin/templates/multi/src/hooks/useSEO.ts.template +38 -0
- package/bin/templates/multi/src/index.css.template +7 -0
- package/bin/templates/multi/src/main.tsx.template +14 -0
- package/bin/templates/multi/src/pages/About.tsx.template +276 -0
- package/bin/templates/multi/src/pages/Components.tsx.template +288 -0
- package/bin/templates/multi/src/pages/Contact.tsx.template +348 -0
- package/bin/templates/multi/src/pages/Dashboard.tsx.template +306 -0
- package/bin/templates/multi/src/pages/ErrorPage.tsx.template +37 -0
- package/bin/templates/multi/src/pages/Home.tsx.template +201 -0
- package/bin/templates/multi/src/pages/Login.tsx.template +148 -0
- package/bin/templates/multi/src/pages/Themes.tsx.template +207 -0
- package/bin/templates/multi/src/router.tsx.template +34 -0
- package/bin/templates/multi/src/utils/asset.ts +6 -0
- package/bin/templates/multi/tsconfig.json.template +30 -0
- package/bin/templates/multi/tsconfig.node.json +22 -0
- package/bin/templates/multi/vite.config.ts.template +36 -0
- package/bin/templates/single/README.md.template +131 -0
- package/bin/templates/single/docs/QUICKSTART_SINGLE.md +259 -0
- package/bin/templates/single/docs/UIKIT_CLI_GUIDE.md +574 -0
- package/bin/templates/single/docs/UIKIT_COMPOSITE_UI_SYSTEM.md +649 -0
- package/bin/templates/single/docs/UIKIT_LLM_GUIDE.md +2055 -0
- package/bin/templates/single/docs/UIKIT_THEME_GUIDE.md +359 -0
- package/bin/templates/single/index.html.template +37 -0
- package/bin/templates/single/package.json.template +34 -0
- package/bin/templates/single/public/favicon.svg +10 -0
- package/bin/templates/single/public/hero.svg +1 -0
- package/bin/templates/single/src/App.tsx.template +233 -0
- package/bin/templates/single/src/index.css.template +7 -0
- package/bin/templates/single/src/main.tsx.template +14 -0
- package/bin/templates/single/src/styles/fonts.css +99 -0
- package/bin/templates/single/src/utils/asset.ts +6 -0
- package/bin/templates/single/tsconfig.json +31 -0
- package/bin/templates/single/tsconfig.node.json +22 -0
- package/bin/templates/single/vite.config.ts.template +36 -0
- package/bin/templates/spa/README.md.template +105 -0
- package/bin/templates/spa/components/SEO.tsx.template +19 -0
- package/bin/templates/spa/docs/QUICKSTART_SPA.md +300 -0
- package/bin/templates/spa/docs/UIKIT_CLI_GUIDE.md +574 -0
- package/bin/templates/spa/docs/UIKIT_COMPOSITE_UI_SYSTEM.md +649 -0
- package/bin/templates/spa/docs/UIKIT_LLM_GUIDE.md +2055 -0
- package/bin/templates/spa/docs/UIKIT_THEME_GUIDE.md +359 -0
- package/bin/templates/spa/hooks/useSEO.ts.template +38 -0
- package/bin/templates/spa/index.html.template +58 -0
- package/bin/templates/spa/package.json.template +35 -0
- package/bin/templates/spa/public/favicon.svg +15 -0
- package/bin/templates/spa/public/hero_spa.svg +1 -0
- package/bin/templates/spa/src/App.tsx.template +659 -0
- package/bin/templates/spa/src/index.css.template +7 -0
- package/bin/templates/spa/src/main.tsx.template +14 -0
- package/bin/templates/spa/src/utils/asset.ts +6 -0
- package/bin/templates/spa/tsconfig.json.template +30 -0
- package/bin/templates/spa/tsconfig.node.json +22 -0
- package/bin/templates/spa/vite.config.ts.template +36 -0
- package/bin/uikit.js +133 -0
- package/cookbook/README.md +20 -0
- package/cookbook/crud-page.tsx +99 -0
- package/cookbook/dashboard.tsx +89 -0
- package/cookbook/delete-flow.tsx +59 -0
- package/cookbook/login.tsx +85 -0
- package/cookbook/settings.tsx +113 -0
- package/dist/Combination-C0DFrmJW.js +674 -0
- package/dist/Combination-C0DFrmJW.js.map +1 -0
- package/dist/accordion.js +284 -0
- package/dist/accordion.js.map +1 -0
- package/dist/admin.js +429 -0
- package/dist/admin.js.map +1 -0
- package/dist/alert.js +67 -0
- package/dist/alert.js.map +1 -0
- package/dist/auth.js +178 -0
- package/dist/auth.js.map +1 -0
- package/dist/avatar.js +249 -0
- package/dist/avatar.js.map +1 -0
- package/dist/badge.js +40 -0
- package/dist/badge.js.map +1 -0
- package/dist/blank.js +80 -0
- package/dist/blank.js.map +1 -0
- package/dist/breadcrumb.js +104 -0
- package/dist/breadcrumb.js.map +1 -0
- package/dist/button.js +50 -0
- package/dist/button.js.map +1 -0
- package/dist/calendar.js +2785 -0
- package/dist/calendar.js.map +1 -0
- package/dist/card.js +91 -0
- package/dist/card.js.map +1 -0
- package/dist/check-DXouwtzp.js +12 -0
- package/dist/check-DXouwtzp.js.map +1 -0
- package/dist/checkbox.js +268 -0
- package/dist/checkbox.js.map +1 -0
- package/dist/chevron-down-BORJtX8F.js +14 -0
- package/dist/chevron-down-BORJtX8F.js.map +1 -0
- package/dist/chevron-left-C1pkx4AF.js +14 -0
- package/dist/chevron-left-C1pkx4AF.js.map +1 -0
- package/dist/chevron-right-pz9eCjj-.js +14 -0
- package/dist/chevron-right-pz9eCjj-.js.map +1 -0
- package/dist/circle-DHOdTDQh.js +14 -0
- package/dist/circle-DHOdTDQh.js.map +1 -0
- package/dist/collapsible.js +35 -0
- package/dist/collapsible.js.map +1 -0
- package/dist/command.js +481 -0
- package/dist/command.js.map +1 -0
- package/dist/confirm-dialog.js +129 -0
- package/dist/confirm-dialog.js.map +1 -0
- package/dist/container.js +334 -0
- package/dist/container.js.map +1 -0
- package/dist/createLucideIcon-B45kRl5r.js +80 -0
- package/dist/createLucideIcon-B45kRl5r.js.map +1 -0
- package/dist/data-table.js +574 -0
- package/dist/data-table.js.map +1 -0
- package/dist/detail-page.js +454 -0
- package/dist/detail-page.js.map +1 -0
- package/dist/dialog.js +137 -0
- package/dist/dialog.js.map +1 -0
- package/dist/dropdown-menu.js +424 -0
- package/dist/dropdown-menu.js.map +1 -0
- package/dist/ellipsis-BhAoKPVk.js +16 -0
- package/dist/ellipsis-BhAoKPVk.js.map +1 -0
- package/dist/empty-state.js +54 -0
- package/dist/empty-state.js.map +1 -0
- package/dist/errors.js +36 -0
- package/dist/errors.js.map +1 -0
- package/dist/eye-DDKoW0KS.js +46 -0
- package/dist/eye-DDKoW0KS.js.map +1 -0
- package/dist/fonts/caveat-cyrillic-400-normal.woff +0 -0
- package/dist/fonts/caveat-cyrillic-400-normal.woff2 +0 -0
- package/dist/fonts/caveat-cyrillic-700-normal.woff +0 -0
- package/dist/fonts/caveat-cyrillic-700-normal.woff2 +0 -0
- package/dist/fonts/caveat-cyrillic-ext-400-normal.woff +0 -0
- package/dist/fonts/caveat-cyrillic-ext-400-normal.woff2 +0 -0
- package/dist/fonts/caveat-cyrillic-ext-700-normal.woff +0 -0
- package/dist/fonts/caveat-cyrillic-ext-700-normal.woff2 +0 -0
- package/dist/fonts/caveat-latin-400-normal.woff +0 -0
- package/dist/fonts/caveat-latin-400-normal.woff2 +0 -0
- package/dist/fonts/caveat-latin-700-normal.woff +0 -0
- package/dist/fonts/caveat-latin-700-normal.woff2 +0 -0
- package/dist/fonts/caveat-latin-ext-400-normal.woff +0 -0
- package/dist/fonts/caveat-latin-ext-400-normal.woff2 +0 -0
- package/dist/fonts/caveat-latin-ext-700-normal.woff +0 -0
- package/dist/fonts/caveat-latin-ext-700-normal.woff2 +0 -0
- package/dist/fonts/crimson-text-latin-400-normal.woff +0 -0
- package/dist/fonts/crimson-text-latin-400-normal.woff2 +0 -0
- package/dist/fonts/crimson-text-latin-600-normal.woff +0 -0
- package/dist/fonts/crimson-text-latin-600-normal.woff2 +0 -0
- package/dist/fonts/crimson-text-latin-700-normal.woff +0 -0
- package/dist/fonts/crimson-text-latin-700-normal.woff2 +0 -0
- package/dist/fonts/crimson-text-latin-ext-400-normal.woff +0 -0
- package/dist/fonts/crimson-text-latin-ext-400-normal.woff2 +0 -0
- package/dist/fonts/crimson-text-latin-ext-600-normal.woff +0 -0
- package/dist/fonts/crimson-text-latin-ext-600-normal.woff2 +0 -0
- package/dist/fonts/crimson-text-latin-ext-700-normal.woff +0 -0
- package/dist/fonts/crimson-text-latin-ext-700-normal.woff2 +0 -0
- package/dist/fonts/crimson-text-vietnamese-400-normal.woff +0 -0
- package/dist/fonts/crimson-text-vietnamese-400-normal.woff2 +0 -0
- package/dist/fonts/crimson-text-vietnamese-600-normal.woff +0 -0
- package/dist/fonts/crimson-text-vietnamese-600-normal.woff2 +0 -0
- package/dist/fonts/crimson-text-vietnamese-700-normal.woff +0 -0
- package/dist/fonts/crimson-text-vietnamese-700-normal.woff2 +0 -0
- package/dist/fonts/dm-serif-display-latin-400-normal.woff +0 -0
- package/dist/fonts/dm-serif-display-latin-400-normal.woff2 +0 -0
- package/dist/fonts/dm-serif-display-latin-ext-400-normal.woff +0 -0
- package/dist/fonts/dm-serif-display-latin-ext-400-normal.woff2 +0 -0
- package/dist/fonts/libre-baskerville-latin-400-normal.woff +0 -0
- package/dist/fonts/libre-baskerville-latin-400-normal.woff2 +0 -0
- package/dist/fonts/libre-baskerville-latin-700-normal.woff +0 -0
- package/dist/fonts/libre-baskerville-latin-700-normal.woff2 +0 -0
- package/dist/fonts/libre-baskerville-latin-ext-400-normal.woff +0 -0
- package/dist/fonts/libre-baskerville-latin-ext-400-normal.woff2 +0 -0
- package/dist/fonts/libre-baskerville-latin-ext-700-normal.woff +0 -0
- package/dist/fonts/libre-baskerville-latin-ext-700-normal.woff2 +0 -0
- package/dist/fonts/montserrat-cyrillic-400-normal.woff +0 -0
- package/dist/fonts/montserrat-cyrillic-400-normal.woff2 +0 -0
- package/dist/fonts/montserrat-cyrillic-500-normal.woff +0 -0
- package/dist/fonts/montserrat-cyrillic-500-normal.woff2 +0 -0
- package/dist/fonts/montserrat-cyrillic-600-normal.woff +0 -0
- package/dist/fonts/montserrat-cyrillic-600-normal.woff2 +0 -0
- package/dist/fonts/montserrat-cyrillic-ext-400-normal.woff +0 -0
- package/dist/fonts/montserrat-cyrillic-ext-400-normal.woff2 +0 -0
- package/dist/fonts/montserrat-cyrillic-ext-500-normal.woff +0 -0
- package/dist/fonts/montserrat-cyrillic-ext-500-normal.woff2 +0 -0
- package/dist/fonts/montserrat-cyrillic-ext-600-normal.woff +0 -0
- package/dist/fonts/montserrat-cyrillic-ext-600-normal.woff2 +0 -0
- package/dist/fonts/montserrat-latin-400-normal.woff +0 -0
- package/dist/fonts/montserrat-latin-400-normal.woff2 +0 -0
- package/dist/fonts/montserrat-latin-500-normal.woff +0 -0
- package/dist/fonts/montserrat-latin-500-normal.woff2 +0 -0
- package/dist/fonts/montserrat-latin-600-normal.woff +0 -0
- package/dist/fonts/montserrat-latin-600-normal.woff2 +0 -0
- package/dist/fonts/montserrat-latin-ext-400-normal.woff +0 -0
- package/dist/fonts/montserrat-latin-ext-400-normal.woff2 +0 -0
- package/dist/fonts/montserrat-latin-ext-500-normal.woff +0 -0
- package/dist/fonts/montserrat-latin-ext-500-normal.woff2 +0 -0
- package/dist/fonts/montserrat-latin-ext-600-normal.woff +0 -0
- package/dist/fonts/montserrat-latin-ext-600-normal.woff2 +0 -0
- package/dist/fonts/montserrat-vietnamese-400-normal.woff +0 -0
- package/dist/fonts/montserrat-vietnamese-400-normal.woff2 +0 -0
- package/dist/fonts/montserrat-vietnamese-500-normal.woff +0 -0
- package/dist/fonts/montserrat-vietnamese-500-normal.woff2 +0 -0
- package/dist/fonts/montserrat-vietnamese-600-normal.woff +0 -0
- package/dist/fonts/montserrat-vietnamese-600-normal.woff2 +0 -0
- package/dist/fonts/playfair-display-cyrillic-400-normal.woff +0 -0
- package/dist/fonts/playfair-display-cyrillic-400-normal.woff2 +0 -0
- package/dist/fonts/playfair-display-cyrillic-500-normal.woff +0 -0
- package/dist/fonts/playfair-display-cyrillic-500-normal.woff2 +0 -0
- package/dist/fonts/playfair-display-latin-400-normal.woff +0 -0
- package/dist/fonts/playfair-display-latin-400-normal.woff2 +0 -0
- package/dist/fonts/playfair-display-latin-500-normal.woff +0 -0
- package/dist/fonts/playfair-display-latin-500-normal.woff2 +0 -0
- package/dist/fonts/playfair-display-latin-ext-400-normal.woff +0 -0
- package/dist/fonts/playfair-display-latin-ext-400-normal.woff2 +0 -0
- package/dist/fonts/playfair-display-latin-ext-500-normal.woff +0 -0
- package/dist/fonts/playfair-display-latin-ext-500-normal.woff2 +0 -0
- package/dist/fonts/playfair-display-vietnamese-400-normal.woff +0 -0
- package/dist/fonts/playfair-display-vietnamese-400-normal.woff2 +0 -0
- package/dist/fonts/playfair-display-vietnamese-500-normal.woff +0 -0
- package/dist/fonts/playfair-display-vietnamese-500-normal.woff2 +0 -0
- package/dist/fonts/poppins-devanagari-400-normal.woff +0 -0
- package/dist/fonts/poppins-devanagari-400-normal.woff2 +0 -0
- package/dist/fonts/poppins-devanagari-500-normal.woff +0 -0
- package/dist/fonts/poppins-devanagari-500-normal.woff2 +0 -0
- package/dist/fonts/poppins-devanagari-600-normal.woff +0 -0
- package/dist/fonts/poppins-devanagari-600-normal.woff2 +0 -0
- package/dist/fonts/poppins-latin-400-normal.woff +0 -0
- package/dist/fonts/poppins-latin-400-normal.woff2 +0 -0
- package/dist/fonts/poppins-latin-500-normal.woff +0 -0
- package/dist/fonts/poppins-latin-500-normal.woff2 +0 -0
- package/dist/fonts/poppins-latin-600-normal.woff +0 -0
- package/dist/fonts/poppins-latin-600-normal.woff2 +0 -0
- package/dist/fonts/poppins-latin-ext-400-normal.woff +0 -0
- package/dist/fonts/poppins-latin-ext-400-normal.woff2 +0 -0
- package/dist/fonts/poppins-latin-ext-500-normal.woff +0 -0
- package/dist/fonts/poppins-latin-ext-500-normal.woff2 +0 -0
- package/dist/fonts/poppins-latin-ext-600-normal.woff +0 -0
- package/dist/fonts/poppins-latin-ext-600-normal.woff2 +0 -0
- package/dist/fonts/rubik-arabic-400-normal.woff +0 -0
- package/dist/fonts/rubik-arabic-400-normal.woff2 +0 -0
- package/dist/fonts/rubik-arabic-500-normal.woff +0 -0
- package/dist/fonts/rubik-arabic-500-normal.woff2 +0 -0
- package/dist/fonts/rubik-cyrillic-400-normal.woff +0 -0
- package/dist/fonts/rubik-cyrillic-400-normal.woff2 +0 -0
- package/dist/fonts/rubik-cyrillic-500-normal.woff +0 -0
- package/dist/fonts/rubik-cyrillic-500-normal.woff2 +0 -0
- package/dist/fonts/rubik-cyrillic-ext-400-normal.woff +0 -0
- package/dist/fonts/rubik-cyrillic-ext-400-normal.woff2 +0 -0
- package/dist/fonts/rubik-cyrillic-ext-500-normal.woff +0 -0
- package/dist/fonts/rubik-cyrillic-ext-500-normal.woff2 +0 -0
- package/dist/fonts/rubik-hebrew-400-normal.woff +0 -0
- package/dist/fonts/rubik-hebrew-400-normal.woff2 +0 -0
- package/dist/fonts/rubik-hebrew-500-normal.woff +0 -0
- package/dist/fonts/rubik-hebrew-500-normal.woff2 +0 -0
- package/dist/fonts/rubik-latin-400-normal.woff +0 -0
- package/dist/fonts/rubik-latin-400-normal.woff2 +0 -0
- package/dist/fonts/rubik-latin-500-normal.woff +0 -0
- package/dist/fonts/rubik-latin-500-normal.woff2 +0 -0
- package/dist/fonts/rubik-latin-ext-400-normal.woff +0 -0
- package/dist/fonts/rubik-latin-ext-400-normal.woff2 +0 -0
- package/dist/fonts/rubik-latin-ext-500-normal.woff +0 -0
- package/dist/fonts/rubik-latin-ext-500-normal.woff2 +0 -0
- package/dist/fonts/source-serif-pro-cyrillic-400-normal.woff +0 -0
- package/dist/fonts/source-serif-pro-cyrillic-400-normal.woff2 +0 -0
- package/dist/fonts/source-serif-pro-cyrillic-ext-400-normal.woff +0 -0
- package/dist/fonts/source-serif-pro-cyrillic-ext-400-normal.woff2 +0 -0
- package/dist/fonts/source-serif-pro-greek-400-normal.woff +0 -0
- package/dist/fonts/source-serif-pro-greek-400-normal.woff2 +0 -0
- package/dist/fonts/source-serif-pro-latin-400-normal.woff +0 -0
- package/dist/fonts/source-serif-pro-latin-400-normal.woff2 +0 -0
- package/dist/fonts/source-serif-pro-latin-ext-400-normal.woff +0 -0
- package/dist/fonts/source-serif-pro-latin-ext-400-normal.woff2 +0 -0
- package/dist/fonts/source-serif-pro-vietnamese-400-normal.woff +0 -0
- package/dist/fonts/source-serif-pro-vietnamese-400-normal.woff2 +0 -0
- package/dist/fonts/space-grotesk-latin-400-normal.woff +0 -0
- package/dist/fonts/space-grotesk-latin-400-normal.woff2 +0 -0
- package/dist/fonts/space-grotesk-latin-600-normal.woff +0 -0
- package/dist/fonts/space-grotesk-latin-600-normal.woff2 +0 -0
- package/dist/fonts/space-grotesk-latin-700-normal.woff +0 -0
- package/dist/fonts/space-grotesk-latin-700-normal.woff2 +0 -0
- package/dist/fonts/space-grotesk-latin-ext-400-normal.woff +0 -0
- package/dist/fonts/space-grotesk-latin-ext-400-normal.woff2 +0 -0
- package/dist/fonts/space-grotesk-latin-ext-600-normal.woff +0 -0
- package/dist/fonts/space-grotesk-latin-ext-600-normal.woff2 +0 -0
- package/dist/fonts/space-grotesk-latin-ext-700-normal.woff +0 -0
- package/dist/fonts/space-grotesk-latin-ext-700-normal.woff2 +0 -0
- package/dist/fonts/space-grotesk-vietnamese-400-normal.woff +0 -0
- package/dist/fonts/space-grotesk-vietnamese-400-normal.woff2 +0 -0
- package/dist/fonts/space-grotesk-vietnamese-600-normal.woff +0 -0
- package/dist/fonts/space-grotesk-vietnamese-600-normal.woff2 +0 -0
- package/dist/fonts/space-grotesk-vietnamese-700-normal.woff +0 -0
- package/dist/fonts/space-grotesk-vietnamese-700-normal.woff2 +0 -0
- package/dist/fonts/work-sans-latin-400-normal.woff +0 -0
- package/dist/fonts/work-sans-latin-400-normal.woff2 +0 -0
- package/dist/fonts/work-sans-latin-500-normal.woff +0 -0
- package/dist/fonts/work-sans-latin-500-normal.woff2 +0 -0
- package/dist/fonts/work-sans-latin-ext-400-normal.woff +0 -0
- package/dist/fonts/work-sans-latin-ext-400-normal.woff2 +0 -0
- package/dist/fonts/work-sans-latin-ext-500-normal.woff +0 -0
- package/dist/fonts/work-sans-latin-ext-500-normal.woff2 +0 -0
- package/dist/fonts/work-sans-vietnamese-400-normal.woff +0 -0
- package/dist/fonts/work-sans-vietnamese-400-normal.woff2 +0 -0
- package/dist/fonts/work-sans-vietnamese-500-normal.woff +0 -0
- package/dist/fonts/work-sans-vietnamese-500-normal.woff2 +0 -0
- package/dist/footer.js +308 -0
- package/dist/footer.js.map +1 -0
- package/dist/form-field.js +69 -0
- package/dist/form-field.js.map +1 -0
- package/dist/form.js +732 -0
- package/dist/form.js.map +1 -0
- package/dist/format.js +112 -0
- package/dist/format.js.map +1 -0
- package/dist/fouc.js +28 -0
- package/dist/fouc.js.map +1 -0
- package/dist/header.js +289 -0
- package/dist/header.js.map +1 -0
- package/dist/hooks.js +13 -0
- package/dist/hooks.js.map +1 -0
- package/dist/hover-card.js +210 -0
- package/dist/hover-card.js.map +1 -0
- package/dist/index-0ioNhtNM.js +11 -0
- package/dist/index-0ioNhtNM.js.map +1 -0
- package/dist/index-1QHKgw6D.js +55 -0
- package/dist/index-1QHKgw6D.js.map +1 -0
- package/dist/index-B6sSWi7l.js +747 -0
- package/dist/index-B6sSWi7l.js.map +1 -0
- package/dist/index-BCjJQGh8.js +71 -0
- package/dist/index-BCjJQGh8.js.map +1 -0
- package/dist/index-BGQepRFJ.js +28 -0
- package/dist/index-BGQepRFJ.js.map +1 -0
- package/dist/index-BVRIAMfe.js +37 -0
- package/dist/index-BVRIAMfe.js.map +1 -0
- package/dist/index-BY7PeRJA.js +145 -0
- package/dist/index-BY7PeRJA.js.map +1 -0
- package/dist/index-BZPx6jYI.js +9 -0
- package/dist/index-BZPx6jYI.js.map +1 -0
- package/dist/index-Ba4eHUBD.js +243 -0
- package/dist/index-Ba4eHUBD.js.map +1 -0
- package/dist/index-Bke1qZdk.js +35 -0
- package/dist/index-Bke1qZdk.js.map +1 -0
- package/dist/index-C0UREtMP.js +60 -0
- package/dist/index-C0UREtMP.js.map +1 -0
- package/dist/index-CCKe-Mpx.js +7 -0
- package/dist/index-CCKe-Mpx.js.map +1 -0
- package/dist/index-DFZozV_h.js +69 -0
- package/dist/index-DFZozV_h.js.map +1 -0
- package/dist/index-DFi6WydO.js +180 -0
- package/dist/index-DFi6WydO.js.map +1 -0
- package/dist/index-DQH6odE9.js +83 -0
- package/dist/index-DQH6odE9.js.map +1 -0
- package/dist/index-EO5flKM3.js +119 -0
- package/dist/index-EO5flKM3.js.map +1 -0
- package/dist/index-Lf7yDOXW.js +615 -0
- package/dist/index-Lf7yDOXW.js.map +1 -0
- package/dist/index-dhIqEbxW.js +1541 -0
- package/dist/index-dhIqEbxW.js.map +1 -0
- package/dist/index-pWhlqjff.js +32 -0
- package/dist/index-pWhlqjff.js.map +1 -0
- package/dist/index-rKs9bXHr.js +7 -0
- package/dist/index-rKs9bXHr.js.map +1 -0
- package/dist/index-xqkGMOJ8.js +14 -0
- package/dist/index-xqkGMOJ8.js.map +1 -0
- package/dist/index.js +247 -0
- package/dist/index.js.map +1 -0
- package/dist/input.js +22 -0
- package/dist/input.js.map +1 -0
- package/dist/label.js +36 -0
- package/dist/label.js.map +1 -0
- package/dist/layout-wrapper.js +208 -0
- package/dist/layout-wrapper.js.map +1 -0
- package/dist/llms.txt +1140 -0
- package/dist/menu-DBhEanGo.js +16 -0
- package/dist/menu-DBhEanGo.js.map +1 -0
- package/dist/menubar.js +565 -0
- package/dist/menubar.js.map +1 -0
- package/dist/mobile.js +183 -0
- package/dist/mobile.js.map +1 -0
- package/dist/motion.js +119 -0
- package/dist/motion.js.map +1 -0
- package/dist/page-header.js +47 -0
- package/dist/page-header.js.map +1 -0
- package/dist/page.js +214 -0
- package/dist/page.js.map +1 -0
- package/dist/pagination.js +121 -0
- package/dist/pagination.js.map +1 -0
- package/dist/platform.js +194 -0
- package/dist/platform.js.map +1 -0
- package/dist/popover.js +263 -0
- package/dist/popover.js.map +1 -0
- package/dist/popup.js +335 -0
- package/dist/popup.js.map +1 -0
- package/dist/progress.js +108 -0
- package/dist/progress.js.map +1 -0
- package/dist/radio-group.js +272 -0
- package/dist/radio-group.js.map +1 -0
- package/dist/safe-area.js +42 -0
- package/dist/safe-area.js.map +1 -0
- package/dist/search-CpUwRnG-.js +15 -0
- package/dist/search-CpUwRnG-.js.map +1 -0
- package/dist/select.js +985 -0
- package/dist/select.js.map +1 -0
- package/dist/separator.js +45 -0
- package/dist/separator.js.map +1 -0
- package/dist/sheet.js +127 -0
- package/dist/sheet.js.map +1 -0
- package/dist/skeleton.js +16 -0
- package/dist/skeleton.js.map +1 -0
- package/dist/slider.js +485 -0
- package/dist/slider.js.map +1 -0
- package/dist/sonner.js +52 -0
- package/dist/sonner.js.map +1 -0
- package/dist/styles/fonts.css +253 -0
- package/dist/styles.css +2 -0
- package/dist/switch.js +155 -0
- package/dist/switch.js.map +1 -0
- package/dist/tab-bar.js +110 -0
- package/dist/tab-bar.js.map +1 -0
- package/dist/table.js +115 -0
- package/dist/table.js.map +1 -0
- package/dist/tabs.js +218 -0
- package/dist/tabs.js.map +1 -0
- package/dist/textarea.js +19 -0
- package/dist/textarea.js.map +1 -0
- package/dist/theme-provider.js +154 -0
- package/dist/theme-provider.js.map +1 -0
- package/dist/themes.js +873 -0
- package/dist/themes.js.map +1 -0
- package/dist/toast.js +63 -0
- package/dist/toast.js.map +1 -0
- package/dist/toggle.js +70 -0
- package/dist/toggle.js.map +1 -0
- package/dist/tooltip.js +375 -0
- package/dist/tooltip.js.map +1 -0
- package/dist/types/App.d.ts +3 -0
- package/dist/types/App.d.ts.map +1 -0
- package/dist/types/components/layouts/admin.d.ts +117 -0
- package/dist/types/components/layouts/admin.d.ts.map +1 -0
- package/dist/types/components/layouts/auth.d.ts +17 -0
- package/dist/types/components/layouts/auth.d.ts.map +1 -0
- package/dist/types/components/layouts/blank.d.ts +63 -0
- package/dist/types/components/layouts/blank.d.ts.map +1 -0
- package/dist/types/components/layouts/layout-wrapper.d.ts +130 -0
- package/dist/types/components/layouts/layout-wrapper.d.ts.map +1 -0
- package/dist/types/components/layouts/mobile.d.ts +91 -0
- package/dist/types/components/layouts/mobile.d.ts.map +1 -0
- package/dist/types/components/layouts/page.d.ts +181 -0
- package/dist/types/components/layouts/page.d.ts.map +1 -0
- package/dist/types/components/layouts/popup.d.ts +100 -0
- package/dist/types/components/layouts/popup.d.ts.map +1 -0
- package/dist/types/components/sections/container.d.ts +79 -0
- package/dist/types/components/sections/container.d.ts.map +1 -0
- package/dist/types/components/sections/footer.d.ts +128 -0
- package/dist/types/components/sections/footer.d.ts.map +1 -0
- package/dist/types/components/sections/header.d.ts +72 -0
- package/dist/types/components/sections/header.d.ts.map +1 -0
- package/dist/types/components/sections/safe-area.d.ts +46 -0
- package/dist/types/components/sections/safe-area.d.ts.map +1 -0
- package/dist/types/components/sections/tab-bar.d.ts +61 -0
- package/dist/types/components/sections/tab-bar.d.ts.map +1 -0
- package/dist/types/components/ui/accordion.d.ts +8 -0
- package/dist/types/components/ui/accordion.d.ts.map +1 -0
- package/dist/types/components/ui/alert.d.ts +10 -0
- package/dist/types/components/ui/alert.d.ts.map +1 -0
- package/dist/types/components/ui/avatar.d.ts +7 -0
- package/dist/types/components/ui/avatar.d.ts.map +1 -0
- package/dist/types/components/ui/badge.d.ts +10 -0
- package/dist/types/components/ui/badge.d.ts.map +1 -0
- package/dist/types/components/ui/breadcrumb.d.ts +12 -0
- package/dist/types/components/ui/breadcrumb.d.ts.map +1 -0
- package/dist/types/components/ui/button.d.ts +11 -0
- package/dist/types/components/ui/button.d.ts.map +1 -0
- package/dist/types/components/ui/calendar.d.ts +9 -0
- package/dist/types/components/ui/calendar.d.ts.map +1 -0
- package/dist/types/components/ui/card.d.ts +10 -0
- package/dist/types/components/ui/card.d.ts.map +1 -0
- package/dist/types/components/ui/checkbox.d.ts +5 -0
- package/dist/types/components/ui/checkbox.d.ts.map +1 -0
- package/dist/types/components/ui/collapsible.d.ts +6 -0
- package/dist/types/components/ui/collapsible.d.ts.map +1 -0
- package/dist/types/components/ui/command.d.ts +19 -0
- package/dist/types/components/ui/command.d.ts.map +1 -0
- package/dist/types/components/ui/confirm-dialog.d.ts +72 -0
- package/dist/types/components/ui/confirm-dialog.d.ts.map +1 -0
- package/dist/types/components/ui/data-table.d.ts +211 -0
- package/dist/types/components/ui/data-table.d.ts.map +1 -0
- package/dist/types/components/ui/detail-page.d.ts +119 -0
- package/dist/types/components/ui/detail-page.d.ts.map +1 -0
- package/dist/types/components/ui/dialog.d.ts +16 -0
- package/dist/types/components/ui/dialog.d.ts.map +1 -0
- package/dist/types/components/ui/dropdown-menu.d.ts +26 -0
- package/dist/types/components/ui/dropdown-menu.d.ts.map +1 -0
- package/dist/types/components/ui/empty-state.d.ts +30 -0
- package/dist/types/components/ui/empty-state.d.ts.map +1 -0
- package/dist/types/components/ui/form-field.d.ts +57 -0
- package/dist/types/components/ui/form-field.d.ts.map +1 -0
- package/dist/types/components/ui/form.d.ts +185 -0
- package/dist/types/components/ui/form.d.ts.map +1 -0
- package/dist/types/components/ui/hover-card.d.ts +7 -0
- package/dist/types/components/ui/hover-card.d.ts.map +1 -0
- package/dist/types/components/ui/input.d.ts +4 -0
- package/dist/types/components/ui/input.d.ts.map +1 -0
- package/dist/types/components/ui/label.d.ts +5 -0
- package/dist/types/components/ui/label.d.ts.map +1 -0
- package/dist/types/components/ui/menubar.d.ts +27 -0
- package/dist/types/components/ui/menubar.d.ts.map +1 -0
- package/dist/types/components/ui/motion.d.ts +130 -0
- package/dist/types/components/ui/motion.d.ts.map +1 -0
- package/dist/types/components/ui/page-header.d.ts +45 -0
- package/dist/types/components/ui/page-header.d.ts.map +1 -0
- package/dist/types/components/ui/pagination.d.ts +14 -0
- package/dist/types/components/ui/pagination.d.ts.map +1 -0
- package/dist/types/components/ui/popover.d.ts +8 -0
- package/dist/types/components/ui/popover.d.ts.map +1 -0
- package/dist/types/components/ui/progress.d.ts +5 -0
- package/dist/types/components/ui/progress.d.ts.map +1 -0
- package/dist/types/components/ui/radio-group.d.ts +6 -0
- package/dist/types/components/ui/radio-group.d.ts.map +1 -0
- package/dist/types/components/ui/select.d.ts +16 -0
- package/dist/types/components/ui/select.d.ts.map +1 -0
- package/dist/types/components/ui/separator.d.ts +5 -0
- package/dist/types/components/ui/separator.d.ts.map +1 -0
- package/dist/types/components/ui/sheet.d.ts +14 -0
- package/dist/types/components/ui/sheet.d.ts.map +1 -0
- package/dist/types/components/ui/skeleton.d.ts +3 -0
- package/dist/types/components/ui/skeleton.d.ts.map +1 -0
- package/dist/types/components/ui/slider.d.ts +5 -0
- package/dist/types/components/ui/slider.d.ts.map +1 -0
- package/dist/types/components/ui/sonner.d.ts +4 -0
- package/dist/types/components/ui/sonner.d.ts.map +1 -0
- package/dist/types/components/ui/switch.d.ts +5 -0
- package/dist/types/components/ui/switch.d.ts.map +1 -0
- package/dist/types/components/ui/table.d.ts +11 -0
- package/dist/types/components/ui/table.d.ts.map +1 -0
- package/dist/types/components/ui/tabs.d.ts +8 -0
- package/dist/types/components/ui/tabs.d.ts.map +1 -0
- package/dist/types/components/ui/textarea.d.ts +4 -0
- package/dist/types/components/ui/textarea.d.ts.map +1 -0
- package/dist/types/components/ui/toast.d.ts +70 -0
- package/dist/types/components/ui/toast.d.ts.map +1 -0
- package/dist/types/components/ui/toggle.d.ts +10 -0
- package/dist/types/components/ui/toggle.d.ts.map +1 -0
- package/dist/types/components/ui/tooltip.d.ts +8 -0
- package/dist/types/components/ui/tooltip.d.ts.map +1 -0
- package/dist/types/hooks/index.d.ts +14 -0
- package/dist/types/hooks/index.d.ts.map +1 -0
- package/dist/types/hooks/useApi.d.ts +38 -0
- package/dist/types/hooks/useApi.d.ts.map +1 -0
- package/dist/types/hooks/useBreakpoint.d.ts +35 -0
- package/dist/types/hooks/useBreakpoint.d.ts.map +1 -0
- package/dist/types/hooks/useDataTable.d.ts +59 -0
- package/dist/types/hooks/useDataTable.d.ts.map +1 -0
- package/dist/types/hooks/useMediaQuery.d.ts +12 -0
- package/dist/types/hooks/useMediaQuery.d.ts.map +1 -0
- package/dist/types/hooks/useStorage.d.ts +35 -0
- package/dist/types/hooks/useStorage.d.ts.map +1 -0
- package/dist/types/index.d.ts +75 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/lib/errors.d.ts +37 -0
- package/dist/types/lib/errors.d.ts.map +1 -0
- package/dist/types/lib/format.d.ts +80 -0
- package/dist/types/lib/format.d.ts.map +1 -0
- package/dist/types/lib/fouc.d.ts +64 -0
- package/dist/types/lib/fouc.d.ts.map +1 -0
- package/dist/types/lib/platform.d.ts +156 -0
- package/dist/types/lib/platform.d.ts.map +1 -0
- package/dist/types/lib/utils.d.ts +14 -0
- package/dist/types/lib/utils.d.ts.map +1 -0
- package/dist/types/main.d.ts +2 -0
- package/dist/types/main.d.ts.map +1 -0
- package/dist/types/themes/index.d.ts +499 -0
- package/dist/types/themes/index.d.ts.map +1 -0
- package/dist/types/themes/presets/base.d.ts +108 -0
- package/dist/types/themes/presets/base.d.ts.map +1 -0
- package/dist/types/themes/presets/elegant.d.ts +108 -0
- package/dist/types/themes/presets/elegant.d.ts.map +1 -0
- package/dist/types/themes/presets/metro.d.ts +114 -0
- package/dist/types/themes/presets/metro.d.ts.map +1 -0
- package/dist/types/themes/presets/studio.d.ts +115 -0
- package/dist/types/themes/presets/studio.d.ts.map +1 -0
- package/dist/types/themes/presets/vivid.d.ts +115 -0
- package/dist/types/themes/presets/vivid.d.ts.map +1 -0
- package/dist/types/themes/theme-provider.d.ts +122 -0
- package/dist/types/themes/theme-provider.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +813 -0
- package/dist/types/types/index.d.ts.map +1 -0
- package/dist/uikit.css +1 -0
- package/dist/useDataTable-CPiBpEg-.js +254 -0
- package/dist/useDataTable-CPiBpEg-.js.map +1 -0
- package/dist/utils-CwJPJKOE.js +2278 -0
- package/dist/utils-CwJPJKOE.js.map +1 -0
- package/dist/utils.js +5 -0
- package/dist/utils.js.map +1 -0
- package/dist/wrapper.js +13 -0
- package/dist/wrapper.js.map +1 -0
- package/dist/x-BxwubQiM.js +15 -0
- package/dist/x-BxwubQiM.js.map +1 -0
- package/examples/README.md +18 -0
- package/examples/button.tsx +16 -0
- package/examples/confirm-dialog.tsx +44 -0
- package/examples/data-table.tsx +35 -0
- package/examples/dialog.tsx +34 -0
- package/examples/empty-state.tsx +13 -0
- package/examples/form-field.tsx +22 -0
- package/examples/format.tsx +19 -0
- package/examples/page-header.tsx +17 -0
- package/examples/skeleton.tsx +12 -0
- package/examples/theme-provider.tsx +33 -0
- package/examples/toast.tsx +32 -0
- package/examples/use-breakpoint.tsx +17 -0
- package/llms.txt +1140 -0
- package/package.json +430 -0
package/dist/switch.js
ADDED
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { jsxs as I, jsx as i } from "react/jsx-runtime";
|
|
2
|
+
import * as a from "react";
|
|
3
|
+
import { u as M, c as H } from "./index-C0UREtMP.js";
|
|
4
|
+
import { u as x } from "./index-DQH6odE9.js";
|
|
5
|
+
import { c as j } from "./index-DFZozV_h.js";
|
|
6
|
+
import { u as z } from "./index-BZPx6jYI.js";
|
|
7
|
+
import { u as A } from "./index-BGQepRFJ.js";
|
|
8
|
+
import { P as y } from "./index-BVRIAMfe.js";
|
|
9
|
+
import { c as C } from "./utils-CwJPJKOE.js";
|
|
10
|
+
var m = "Switch", [U, Y] = j(m), [q, L] = U(m), P = a.forwardRef(
|
|
11
|
+
(e, r) => {
|
|
12
|
+
const {
|
|
13
|
+
__scopeSwitch: t,
|
|
14
|
+
name: s,
|
|
15
|
+
checked: o,
|
|
16
|
+
defaultChecked: b,
|
|
17
|
+
required: d,
|
|
18
|
+
disabled: n,
|
|
19
|
+
value: u = "on",
|
|
20
|
+
onCheckedChange: w,
|
|
21
|
+
form: c,
|
|
22
|
+
...k
|
|
23
|
+
} = e, [l, p] = a.useState(null), v = x(r, (f) => p(f)), S = a.useRef(!1), g = l ? c || !!l.closest("form") : !0, [h, B] = M({
|
|
24
|
+
prop: o,
|
|
25
|
+
defaultProp: b ?? !1,
|
|
26
|
+
onChange: w,
|
|
27
|
+
caller: m
|
|
28
|
+
});
|
|
29
|
+
return /* @__PURE__ */ I(q, { scope: t, checked: h, disabled: n, children: [
|
|
30
|
+
/* @__PURE__ */ i(
|
|
31
|
+
y.button,
|
|
32
|
+
{
|
|
33
|
+
type: "button",
|
|
34
|
+
role: "switch",
|
|
35
|
+
"aria-checked": h,
|
|
36
|
+
"aria-required": d,
|
|
37
|
+
"data-state": N(h),
|
|
38
|
+
"data-disabled": n ? "" : void 0,
|
|
39
|
+
disabled: n,
|
|
40
|
+
value: u,
|
|
41
|
+
...k,
|
|
42
|
+
ref: v,
|
|
43
|
+
onClick: H(e.onClick, (f) => {
|
|
44
|
+
B((T) => !T), g && (S.current = f.isPropagationStopped(), S.current || f.stopPropagation());
|
|
45
|
+
})
|
|
46
|
+
}
|
|
47
|
+
),
|
|
48
|
+
g && /* @__PURE__ */ i(
|
|
49
|
+
_,
|
|
50
|
+
{
|
|
51
|
+
control: l,
|
|
52
|
+
bubbles: !S.current,
|
|
53
|
+
name: s,
|
|
54
|
+
value: u,
|
|
55
|
+
checked: h,
|
|
56
|
+
required: d,
|
|
57
|
+
disabled: n,
|
|
58
|
+
form: c,
|
|
59
|
+
style: { transform: "translateX(-100%)" }
|
|
60
|
+
}
|
|
61
|
+
)
|
|
62
|
+
] });
|
|
63
|
+
}
|
|
64
|
+
);
|
|
65
|
+
P.displayName = m;
|
|
66
|
+
var R = "SwitchThumb", E = a.forwardRef(
|
|
67
|
+
(e, r) => {
|
|
68
|
+
const { __scopeSwitch: t, ...s } = e, o = L(R, t);
|
|
69
|
+
return /* @__PURE__ */ i(
|
|
70
|
+
y.span,
|
|
71
|
+
{
|
|
72
|
+
"data-state": N(o.checked),
|
|
73
|
+
"data-disabled": o.disabled ? "" : void 0,
|
|
74
|
+
...s,
|
|
75
|
+
ref: r
|
|
76
|
+
}
|
|
77
|
+
);
|
|
78
|
+
}
|
|
79
|
+
);
|
|
80
|
+
E.displayName = R;
|
|
81
|
+
var O = "SwitchBubbleInput", _ = a.forwardRef(
|
|
82
|
+
({
|
|
83
|
+
__scopeSwitch: e,
|
|
84
|
+
control: r,
|
|
85
|
+
checked: t,
|
|
86
|
+
bubbles: s = !0,
|
|
87
|
+
...o
|
|
88
|
+
}, b) => {
|
|
89
|
+
const d = a.useRef(null), n = x(d, b), u = z(t), w = A(r);
|
|
90
|
+
return a.useEffect(() => {
|
|
91
|
+
const c = d.current;
|
|
92
|
+
if (!c) return;
|
|
93
|
+
const k = window.HTMLInputElement.prototype, p = Object.getOwnPropertyDescriptor(
|
|
94
|
+
k,
|
|
95
|
+
"checked"
|
|
96
|
+
).set;
|
|
97
|
+
if (u !== t && p) {
|
|
98
|
+
const v = new Event("click", { bubbles: s });
|
|
99
|
+
p.call(c, t), c.dispatchEvent(v);
|
|
100
|
+
}
|
|
101
|
+
}, [u, t, s]), /* @__PURE__ */ i(
|
|
102
|
+
"input",
|
|
103
|
+
{
|
|
104
|
+
type: "checkbox",
|
|
105
|
+
"aria-hidden": !0,
|
|
106
|
+
defaultChecked: t,
|
|
107
|
+
...o,
|
|
108
|
+
tabIndex: -1,
|
|
109
|
+
ref: n,
|
|
110
|
+
style: {
|
|
111
|
+
...o.style,
|
|
112
|
+
...w,
|
|
113
|
+
position: "absolute",
|
|
114
|
+
pointerEvents: "none",
|
|
115
|
+
opacity: 0,
|
|
116
|
+
margin: 0
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
);
|
|
120
|
+
}
|
|
121
|
+
);
|
|
122
|
+
_.displayName = O;
|
|
123
|
+
function N(e) {
|
|
124
|
+
return e ? "checked" : "unchecked";
|
|
125
|
+
}
|
|
126
|
+
var D = P, F = E;
|
|
127
|
+
function Z({
|
|
128
|
+
className: e,
|
|
129
|
+
...r
|
|
130
|
+
}) {
|
|
131
|
+
return /* @__PURE__ */ i(
|
|
132
|
+
D,
|
|
133
|
+
{
|
|
134
|
+
"data-slot": "switch",
|
|
135
|
+
className: C(
|
|
136
|
+
"peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",
|
|
137
|
+
e
|
|
138
|
+
),
|
|
139
|
+
...r,
|
|
140
|
+
children: /* @__PURE__ */ i(
|
|
141
|
+
F,
|
|
142
|
+
{
|
|
143
|
+
"data-slot": "switch-thumb",
|
|
144
|
+
className: C(
|
|
145
|
+
"bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0"
|
|
146
|
+
)
|
|
147
|
+
}
|
|
148
|
+
)
|
|
149
|
+
}
|
|
150
|
+
);
|
|
151
|
+
}
|
|
152
|
+
export {
|
|
153
|
+
Z as Switch
|
|
154
|
+
};
|
|
155
|
+
//# sourceMappingURL=switch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"switch.js","sources":["../node_modules/@radix-ui/react-switch/dist/index.mjs","../src/components/ui/switch.tsx"],"sourcesContent":["\"use client\";\n\n// src/switch.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar SWITCH_NAME = \"Switch\";\nvar [createSwitchContext, createSwitchScope] = createContextScope(SWITCH_NAME);\nvar [SwitchProvider, useSwitchContext] = createSwitchContext(SWITCH_NAME);\nvar Switch = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSwitch,\n name,\n checked: checkedProp,\n defaultChecked,\n required,\n disabled,\n value = \"on\",\n onCheckedChange,\n form,\n ...switchProps\n } = props;\n const [button, setButton] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setButton(node));\n const hasConsumerStoppedPropagationRef = React.useRef(false);\n const isFormControl = button ? form || !!button.closest(\"form\") : true;\n const [checked, setChecked] = useControllableState({\n prop: checkedProp,\n defaultProp: defaultChecked ?? false,\n onChange: onCheckedChange,\n caller: SWITCH_NAME\n });\n return /* @__PURE__ */ jsxs(SwitchProvider, { scope: __scopeSwitch, checked, disabled, children: [\n /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n role: \"switch\",\n \"aria-checked\": checked,\n \"aria-required\": required,\n \"data-state\": getState(checked),\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n value,\n ...switchProps,\n ref: composedRefs,\n onClick: composeEventHandlers(props.onClick, (event) => {\n setChecked((prevChecked) => !prevChecked);\n if (isFormControl) {\n hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n }\n })\n }\n ),\n isFormControl && /* @__PURE__ */ jsx(\n SwitchBubbleInput,\n {\n control: button,\n bubbles: !hasConsumerStoppedPropagationRef.current,\n name,\n value,\n checked,\n required,\n disabled,\n form,\n style: { transform: \"translateX(-100%)\" }\n }\n )\n ] });\n }\n);\nSwitch.displayName = SWITCH_NAME;\nvar THUMB_NAME = \"SwitchThumb\";\nvar SwitchThumb = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSwitch, ...thumbProps } = props;\n const context = useSwitchContext(THUMB_NAME, __scopeSwitch);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n \"data-state\": getState(context.checked),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n ...thumbProps,\n ref: forwardedRef\n }\n );\n }\n);\nSwitchThumb.displayName = THUMB_NAME;\nvar BUBBLE_INPUT_NAME = \"SwitchBubbleInput\";\nvar SwitchBubbleInput = React.forwardRef(\n ({\n __scopeSwitch,\n control,\n checked,\n bubbles = true,\n ...props\n }, forwardedRef) => {\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(ref, forwardedRef);\n const prevChecked = usePrevious(checked);\n const controlSize = useSize(control);\n React.useEffect(() => {\n const input = ref.current;\n if (!input) return;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(\n inputProto,\n \"checked\"\n );\n const setChecked = descriptor.set;\n if (prevChecked !== checked && setChecked) {\n const event = new Event(\"click\", { bubbles });\n setChecked.call(input, checked);\n input.dispatchEvent(event);\n }\n }, [prevChecked, checked, bubbles]);\n return /* @__PURE__ */ jsx(\n \"input\",\n {\n type: \"checkbox\",\n \"aria-hidden\": true,\n defaultChecked: checked,\n ...props,\n tabIndex: -1,\n ref: composedRefs,\n style: {\n ...props.style,\n ...controlSize,\n position: \"absolute\",\n pointerEvents: \"none\",\n opacity: 0,\n margin: 0\n }\n }\n );\n }\n);\nSwitchBubbleInput.displayName = BUBBLE_INPUT_NAME;\nfunction getState(checked) {\n return checked ? \"checked\" : \"unchecked\";\n}\nvar Root = Switch;\nvar Thumb = SwitchThumb;\nexport {\n Root,\n Switch,\n SwitchThumb,\n Thumb,\n createSwitchScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as SwitchPrimitive from \"@radix-ui/react-switch\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Switch({\n className,\n ...props\n}: React.ComponentProps<typeof SwitchPrimitive.Root>) {\n return (\n <SwitchPrimitive.Root\n data-slot=\"switch\"\n className={cn(\n \"peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50\",\n className\n )}\n {...props}\n >\n <SwitchPrimitive.Thumb\n data-slot=\"switch-thumb\"\n className={cn(\n \"bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0\"\n )}\n />\n </SwitchPrimitive.Root>\n )\n}\n\nexport { Switch }\n"],"names":["SWITCH_NAME","createSwitchContext","createSwitchScope","createContextScope","SwitchProvider","useSwitchContext","Switch","React","props","forwardedRef","__scopeSwitch","name","checkedProp","defaultChecked","required","disabled","value","onCheckedChange","form","switchProps","button","setButton","composedRefs","useComposedRefs","node","hasConsumerStoppedPropagationRef","isFormControl","checked","setChecked","useControllableState","jsxs","jsx","Primitive","getState","composeEventHandlers","event","prevChecked","SwitchBubbleInput","THUMB_NAME","SwitchThumb","thumbProps","context","BUBBLE_INPUT_NAME","control","bubbles","ref","usePrevious","controlSize","useSize","input","inputProto","Root","Thumb","className","SwitchPrimitive.Root","cn","SwitchPrimitive.Thumb"],"mappings":"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","x_google_ignoreList":[0]}
|
package/dist/tab-bar.js
ADDED
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { jsxs as s, jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import * as y from "react";
|
|
3
|
+
import { forwardRef as w, useState as k } from "react";
|
|
4
|
+
import { c as d } from "./index-Bke1qZdk.js";
|
|
5
|
+
import { c as n } from "./utils-CwJPJKOE.js";
|
|
6
|
+
import { Badge as N } from "./badge.js";
|
|
7
|
+
const B = d(
|
|
8
|
+
"fixed bottom-0 left-0 right-0 z-50 border-t bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60",
|
|
9
|
+
{
|
|
10
|
+
variants: {
|
|
11
|
+
tone: {
|
|
12
|
+
clean: "border-border",
|
|
13
|
+
subtle: "border-muted bg-muted/10",
|
|
14
|
+
brand: "border-primary/20 bg-primary/5",
|
|
15
|
+
contrast: "border-zinc-700 bg-zinc-900 text-zinc-100"
|
|
16
|
+
},
|
|
17
|
+
variant: {
|
|
18
|
+
default: "",
|
|
19
|
+
floating: "bottom-4 left-4 right-4 rounded-2xl border-2 shadow-lg",
|
|
20
|
+
minimal: "border-0 bg-transparent backdrop-blur-none"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
defaultVariants: {
|
|
24
|
+
tone: "clean",
|
|
25
|
+
variant: "default"
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
), j = d(
|
|
29
|
+
"flex flex-col items-center justify-center gap-1 rounded-lg transition-all duration-200",
|
|
30
|
+
{
|
|
31
|
+
variants: {
|
|
32
|
+
size: {
|
|
33
|
+
sm: "px-2 py-1.5 text-[10px] min-w-[50px]",
|
|
34
|
+
md: "px-2.5 py-2 text-xs min-w-[60px]",
|
|
35
|
+
lg: "px-3 py-2 text-xs min-w-[70px]",
|
|
36
|
+
xl: "px-4 py-2.5 text-sm min-w-[80px]",
|
|
37
|
+
full: "px-4 py-3 text-sm min-w-[90px]"
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
defaultVariants: {
|
|
41
|
+
size: "md"
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
), T = w(({
|
|
45
|
+
tabs: l,
|
|
46
|
+
activeTab: o,
|
|
47
|
+
defaultActiveTab: m,
|
|
48
|
+
onTabClick: c,
|
|
49
|
+
tone: p = "clean",
|
|
50
|
+
size: e = "md",
|
|
51
|
+
variant: i = "default",
|
|
52
|
+
showLabels: u = !0,
|
|
53
|
+
className: x
|
|
54
|
+
}, f) => {
|
|
55
|
+
const [b, g] = k(m || l[0]?.key), h = o !== void 0 ? o : b, v = (t) => {
|
|
56
|
+
o === void 0 && g(t), c?.(t);
|
|
57
|
+
};
|
|
58
|
+
return /* @__PURE__ */ s("div", { ref: f, className: n(B({ tone: p, variant: i }), x), children: [
|
|
59
|
+
/* @__PURE__ */ r("div", { className: n(
|
|
60
|
+
"flex items-center",
|
|
61
|
+
i === "floating" ? "justify-around px-2 h-14" : "justify-around h-16 px-2"
|
|
62
|
+
), children: l.map((t) => {
|
|
63
|
+
const a = h === t.key;
|
|
64
|
+
return /* @__PURE__ */ s(
|
|
65
|
+
"button",
|
|
66
|
+
{
|
|
67
|
+
onClick: () => v(t.key),
|
|
68
|
+
className: n(
|
|
69
|
+
j({ size: e }),
|
|
70
|
+
"relative font-medium",
|
|
71
|
+
a ? "text-primary" : "text-muted-foreground hover:text-foreground active:scale-95"
|
|
72
|
+
),
|
|
73
|
+
"aria-label": t.label,
|
|
74
|
+
"aria-current": a ? "page" : void 0,
|
|
75
|
+
children: [
|
|
76
|
+
t.icon && /* @__PURE__ */ s("span", { className: n(
|
|
77
|
+
"relative transition-transform",
|
|
78
|
+
a && "scale-110",
|
|
79
|
+
e === "sm" ? "h-4 w-4" : e === "md" ? "h-5 w-5" : "h-6 w-6"
|
|
80
|
+
), children: [
|
|
81
|
+
y.createElement(t.icon, {
|
|
82
|
+
className: e === "sm" ? "h-4 w-4" : e === "md" ? "h-5 w-5" : "h-6 w-6"
|
|
83
|
+
}),
|
|
84
|
+
t.badge && /* @__PURE__ */ r(
|
|
85
|
+
N,
|
|
86
|
+
{
|
|
87
|
+
variant: "destructive",
|
|
88
|
+
className: "absolute -right-2 -top-2 h-4 min-w-[16px] px-1 text-[10px] font-bold",
|
|
89
|
+
children: t.badge
|
|
90
|
+
}
|
|
91
|
+
)
|
|
92
|
+
] }),
|
|
93
|
+
u && /* @__PURE__ */ r("span", { className: n(
|
|
94
|
+
"truncate max-w-full transition-all",
|
|
95
|
+
a && "font-semibold"
|
|
96
|
+
), children: t.label }),
|
|
97
|
+
a && /* @__PURE__ */ r("span", { className: "absolute -top-px left-1/2 h-0.5 w-8 -translate-x-1/2 rounded-full bg-primary" })
|
|
98
|
+
]
|
|
99
|
+
},
|
|
100
|
+
t.key
|
|
101
|
+
);
|
|
102
|
+
}) }),
|
|
103
|
+
i !== "floating" && /* @__PURE__ */ r("div", { className: "h-safe-bottom", style: { paddingBottom: "env(safe-area-inset-bottom)" } })
|
|
104
|
+
] });
|
|
105
|
+
});
|
|
106
|
+
T.displayName = "TabBar";
|
|
107
|
+
export {
|
|
108
|
+
T as TabBar
|
|
109
|
+
};
|
|
110
|
+
//# sourceMappingURL=tab-bar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tab-bar.js","sources":["../src/components/sections/tab-bar.tsx"],"sourcesContent":["/**\n * TabBar Section - Mobile bottom navigation tabs\n * @module @bloomneo/uikit\n * @file src/components/sections/tab-bar.tsx\n */\n\nimport * as React from 'react';\nimport { forwardRef, useState } from 'react';\nimport { cva } from 'class-variance-authority';\nimport { cn } from '@/lib/utils';\nimport { Badge } from '@/components/ui/badge';\nimport type { NavigationItem, Size, Tone } from '@/types';\n\n/**\n * TabBar variant styles\n */\nexport type TabBarVariant = 'default' | 'floating' | 'minimal';\n\n/**\n * TabBar container variants\n */\nconst tabBarVariants = cva(\n 'fixed bottom-0 left-0 right-0 z-50 border-t bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60',\n {\n variants: {\n tone: {\n clean: 'border-border',\n subtle: 'border-muted bg-muted/10',\n brand: 'border-primary/20 bg-primary/5',\n contrast: 'border-zinc-700 bg-zinc-900 text-zinc-100'\n },\n variant: {\n default: '',\n floating: 'bottom-4 left-4 right-4 rounded-2xl border-2 shadow-lg',\n minimal: 'border-0 bg-transparent backdrop-blur-none'\n }\n },\n defaultVariants: {\n tone: 'clean',\n variant: 'default'\n }\n }\n);\n\n/**\n * Tab button variants based on size\n */\nconst tabButtonVariants = cva(\n 'flex flex-col items-center justify-center gap-1 rounded-lg transition-all duration-200',\n {\n variants: {\n size: {\n sm: 'px-2 py-1.5 text-[10px] min-w-[50px]',\n md: 'px-2.5 py-2 text-xs min-w-[60px]',\n lg: 'px-3 py-2 text-xs min-w-[70px]',\n xl: 'px-4 py-2.5 text-sm min-w-[80px]',\n full: 'px-4 py-3 text-sm min-w-[90px]'\n }\n },\n defaultVariants: {\n size: 'md'\n }\n }\n);\n\n/**\n * TabBar Component Props\n */\nexport interface TabBarProps {\n /** REQUIRED: Navigation tabs */\n tabs: NavigationItem[];\n /** OPTIONAL: Currently active tab ID */\n activeTab?: string;\n /** OPTIONAL: Default active tab ID */\n defaultActiveTab?: string;\n /** OPTIONAL: Tab click handler */\n onTabClick?: (tabId: string) => void;\n /** OPTIONAL: Visual styling tone (default: \"clean\") */\n tone?: Tone;\n /** OPTIONAL: Tab size (default: \"md\") */\n size?: Size;\n /** OPTIONAL: Tab bar variant (default: \"default\") */\n variant?: TabBarVariant;\n /** OPTIONAL: Show labels (default: true) */\n showLabels?: boolean;\n /** OPTIONAL: Additional CSS classes */\n className?: string;\n}\n\n/**\n * TabBar - Mobile bottom navigation tabs\n * Supports icons, badges, and multiple visual variants\n *\n * @llm-usage\n * <TabBar\n * tabs={[\n * { id: 'home', label: 'Home', icon: <HomeIcon />, badge: 3 },\n * { id: 'profile', label: 'Profile', icon: <UserIcon /> }\n * ]}\n * activeTab=\"home\"\n * onTabClick={(id) => navigate(`/${id}`)}\n * tone=\"clean\"\n * size=\"md\"\n * />\n *\n * @example Default tab bar\n * <TabBar tabs={tabs} activeTab=\"home\" onTabClick={handleTabClick} />\n *\n * @example Floating variant\n * <TabBar tabs={tabs} variant=\"floating\" tone=\"brand\" />\n *\n * @example Minimal (icons only)\n * <TabBar tabs={tabs} variant=\"minimal\" showLabels={false} />\n */\nexport const TabBar = forwardRef<HTMLDivElement, TabBarProps>(({\n tabs,\n activeTab: controlledActiveTab,\n defaultActiveTab,\n onTabClick,\n tone = 'clean',\n size = 'md',\n variant = 'default',\n showLabels = true,\n className,\n}, ref) => {\n // Controlled or uncontrolled state\n const [internalActiveTab, setInternalActiveTab] = useState(defaultActiveTab || tabs[0]?.key);\n const activeTab = controlledActiveTab !== undefined ? controlledActiveTab : internalActiveTab;\n\n const handleTabClick = (tabId: string) => {\n if (controlledActiveTab === undefined) {\n setInternalActiveTab(tabId);\n }\n onTabClick?.(tabId);\n };\n\n return (\n <div ref={ref} className={cn(tabBarVariants({ tone, variant }), className)}>\n <div className={cn(\n 'flex items-center',\n variant === 'floating' ? 'justify-around px-2 h-14' : 'justify-around h-16 px-2'\n )}>\n {tabs.map((tab) => {\n const isActive = activeTab === tab.key;\n\n return (\n <button\n key={tab.key}\n onClick={() => handleTabClick(tab.key)}\n className={cn(\n tabButtonVariants({ size }),\n 'relative font-medium',\n isActive\n ? 'text-primary'\n : 'text-muted-foreground hover:text-foreground active:scale-95'\n )}\n aria-label={tab.label}\n aria-current={isActive ? 'page' : undefined}\n >\n {/* Icon */}\n {tab.icon && (\n <span className={cn(\n 'relative transition-transform',\n isActive && 'scale-110',\n size === 'sm' ? 'h-4 w-4' : size === 'md' ? 'h-5 w-5' : 'h-6 w-6'\n )}>\n {React.createElement(tab.icon, {\n className: size === 'sm' ? 'h-4 w-4' : size === 'md' ? 'h-5 w-5' : 'h-6 w-6'\n })}\n\n {/* Badge */}\n {tab.badge && (\n <Badge\n variant=\"destructive\"\n className=\"absolute -right-2 -top-2 h-4 min-w-[16px] px-1 text-[10px] font-bold\"\n >\n {tab.badge}\n </Badge>\n )}\n </span>\n )}\n\n {/* Label */}\n {showLabels && (\n <span className={cn(\n 'truncate max-w-full transition-all',\n isActive && 'font-semibold'\n )}>\n {tab.label}\n </span>\n )}\n\n {/* Active indicator */}\n {isActive && (\n <span className=\"absolute -top-px left-1/2 h-0.5 w-8 -translate-x-1/2 rounded-full bg-primary\" />\n )}\n </button>\n );\n })}\n </div>\n\n {/* Safe area for iOS home indicator */}\n {variant !== 'floating' && (\n <div className=\"h-safe-bottom\" style={{ paddingBottom: 'env(safe-area-inset-bottom)' }} />\n )}\n </div>\n );\n});\n\nTabBar.displayName = 'TabBar';\n"],"names":["tabBarVariants","cva","tabButtonVariants","TabBar","forwardRef","tabs","controlledActiveTab","defaultActiveTab","onTabClick","tone","size","variant","showLabels","className","ref","internalActiveTab","setInternalActiveTab","useState","activeTab","handleTabClick","tabId","jsxs","cn","jsx","tab","isActive","React","Badge"],"mappings":"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"}
|
package/dist/table.js
ADDED
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { jsx as a } from "react/jsx-runtime";
|
|
2
|
+
import { c as o } from "./utils-CwJPJKOE.js";
|
|
3
|
+
function n({ className: t, ...e }) {
|
|
4
|
+
return /* @__PURE__ */ a(
|
|
5
|
+
"div",
|
|
6
|
+
{
|
|
7
|
+
"data-slot": "table-container",
|
|
8
|
+
className: "relative w-full overflow-x-auto",
|
|
9
|
+
children: /* @__PURE__ */ a(
|
|
10
|
+
"table",
|
|
11
|
+
{
|
|
12
|
+
"data-slot": "table",
|
|
13
|
+
className: o("w-full caption-bottom text-sm", t),
|
|
14
|
+
...e
|
|
15
|
+
}
|
|
16
|
+
)
|
|
17
|
+
}
|
|
18
|
+
);
|
|
19
|
+
}
|
|
20
|
+
function s({ className: t, ...e }) {
|
|
21
|
+
return /* @__PURE__ */ a(
|
|
22
|
+
"thead",
|
|
23
|
+
{
|
|
24
|
+
"data-slot": "table-header",
|
|
25
|
+
className: o("[&_tr]:border-b", t),
|
|
26
|
+
...e
|
|
27
|
+
}
|
|
28
|
+
);
|
|
29
|
+
}
|
|
30
|
+
function d({ className: t, ...e }) {
|
|
31
|
+
return /* @__PURE__ */ a(
|
|
32
|
+
"tbody",
|
|
33
|
+
{
|
|
34
|
+
"data-slot": "table-body",
|
|
35
|
+
className: o("[&_tr:last-child]:border-0", t),
|
|
36
|
+
...e
|
|
37
|
+
}
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
function c({ className: t, ...e }) {
|
|
41
|
+
return /* @__PURE__ */ a(
|
|
42
|
+
"tfoot",
|
|
43
|
+
{
|
|
44
|
+
"data-slot": "table-footer",
|
|
45
|
+
className: o(
|
|
46
|
+
"bg-muted/50 border-t font-medium [&>tr]:last:border-b-0",
|
|
47
|
+
t
|
|
48
|
+
),
|
|
49
|
+
...e
|
|
50
|
+
}
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
function b({ className: t, ...e }) {
|
|
54
|
+
return /* @__PURE__ */ a(
|
|
55
|
+
"tr",
|
|
56
|
+
{
|
|
57
|
+
"data-slot": "table-row",
|
|
58
|
+
className: o(
|
|
59
|
+
"hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",
|
|
60
|
+
t
|
|
61
|
+
),
|
|
62
|
+
...e
|
|
63
|
+
}
|
|
64
|
+
);
|
|
65
|
+
}
|
|
66
|
+
function i({ className: t, ...e }) {
|
|
67
|
+
return /* @__PURE__ */ a(
|
|
68
|
+
"th",
|
|
69
|
+
{
|
|
70
|
+
"data-slot": "table-head",
|
|
71
|
+
className: o(
|
|
72
|
+
"text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
|
|
73
|
+
t
|
|
74
|
+
),
|
|
75
|
+
...e
|
|
76
|
+
}
|
|
77
|
+
);
|
|
78
|
+
}
|
|
79
|
+
function m({ className: t, ...e }) {
|
|
80
|
+
return /* @__PURE__ */ a(
|
|
81
|
+
"td",
|
|
82
|
+
{
|
|
83
|
+
"data-slot": "table-cell",
|
|
84
|
+
className: o(
|
|
85
|
+
"p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
|
|
86
|
+
t
|
|
87
|
+
),
|
|
88
|
+
...e
|
|
89
|
+
}
|
|
90
|
+
);
|
|
91
|
+
}
|
|
92
|
+
function u({
|
|
93
|
+
className: t,
|
|
94
|
+
...e
|
|
95
|
+
}) {
|
|
96
|
+
return /* @__PURE__ */ a(
|
|
97
|
+
"caption",
|
|
98
|
+
{
|
|
99
|
+
"data-slot": "table-caption",
|
|
100
|
+
className: o("text-muted-foreground mt-4 text-sm", t),
|
|
101
|
+
...e
|
|
102
|
+
}
|
|
103
|
+
);
|
|
104
|
+
}
|
|
105
|
+
export {
|
|
106
|
+
n as Table,
|
|
107
|
+
d as TableBody,
|
|
108
|
+
u as TableCaption,
|
|
109
|
+
m as TableCell,
|
|
110
|
+
c as TableFooter,
|
|
111
|
+
i as TableHead,
|
|
112
|
+
s as TableHeader,
|
|
113
|
+
b as TableRow
|
|
114
|
+
};
|
|
115
|
+
//# sourceMappingURL=table.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table.js","sources":["../src/components/ui/table.tsx"],"sourcesContent":["import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Table({ className, ...props }: React.ComponentProps<\"table\">) {\n return (\n <div\n data-slot=\"table-container\"\n className=\"relative w-full overflow-x-auto\"\n >\n <table\n data-slot=\"table\"\n className={cn(\"w-full caption-bottom text-sm\", className)}\n {...props}\n />\n </div>\n )\n}\n\nfunction TableHeader({ className, ...props }: React.ComponentProps<\"thead\">) {\n return (\n <thead\n data-slot=\"table-header\"\n className={cn(\"[&_tr]:border-b\", className)}\n {...props}\n />\n )\n}\n\nfunction TableBody({ className, ...props }: React.ComponentProps<\"tbody\">) {\n return (\n <tbody\n data-slot=\"table-body\"\n className={cn(\"[&_tr:last-child]:border-0\", className)}\n {...props}\n />\n )\n}\n\nfunction TableFooter({ className, ...props }: React.ComponentProps<\"tfoot\">) {\n return (\n <tfoot\n data-slot=\"table-footer\"\n className={cn(\n \"bg-muted/50 border-t font-medium [&>tr]:last:border-b-0\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction TableRow({ className, ...props }: React.ComponentProps<\"tr\">) {\n return (\n <tr\n data-slot=\"table-row\"\n className={cn(\n \"hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction TableHead({ className, ...props }: React.ComponentProps<\"th\">) {\n return (\n <th\n data-slot=\"table-head\"\n className={cn(\n \"text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction TableCell({ className, ...props }: React.ComponentProps<\"td\">) {\n return (\n <td\n data-slot=\"table-cell\"\n className={cn(\n \"p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction TableCaption({\n className,\n ...props\n}: React.ComponentProps<\"caption\">) {\n return (\n <caption\n data-slot=\"table-caption\"\n className={cn(\"text-muted-foreground mt-4 text-sm\", className)}\n {...props}\n />\n )\n}\n\nexport {\n Table,\n TableHeader,\n TableBody,\n TableFooter,\n TableHead,\n TableRow,\n TableCell,\n TableCaption,\n}\n"],"names":["Table","className","props","jsx","cn","TableHeader","TableBody","TableFooter","TableRow","TableHead","TableCell","TableCaption"],"mappings":";;AAIA,SAASA,EAAM,EAAE,WAAAC,GAAW,GAAGC,KAAwC;AACrE,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAU;AAAA,MAEV,UAAA,gBAAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,aAAU;AAAA,UACV,WAAWC,EAAG,iCAAiCH,CAAS;AAAA,UACvD,GAAGC;AAAA,QAAA;AAAA,MAAA;AAAA,IACN;AAAA,EAAA;AAGN;AAEA,SAASG,EAAY,EAAE,WAAAJ,GAAW,GAAGC,KAAwC;AAC3E,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC,EAAG,mBAAmBH,CAAS;AAAA,MACzC,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASI,EAAU,EAAE,WAAAL,GAAW,GAAGC,KAAwC;AACzE,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC,EAAG,8BAA8BH,CAAS;AAAA,MACpD,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASK,EAAY,EAAE,WAAAN,GAAW,GAAGC,KAAwC;AAC3E,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACAH;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASM,EAAS,EAAE,WAAAP,GAAW,GAAGC,KAAqC;AACrE,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACAH;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASO,EAAU,EAAE,WAAAR,GAAW,GAAGC,KAAqC;AACtE,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACAH;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASQ,EAAU,EAAE,WAAAT,GAAW,GAAGC,KAAqC;AACtE,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACAH;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASS,EAAa;AAAA,EACpB,WAAAV;AAAA,EACA,GAAGC;AACL,GAAoC;AAClC,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC,EAAG,sCAAsCH,CAAS;AAAA,MAC5D,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;"}
|
package/dist/tabs.js
ADDED
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
import { jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import * as f from "react";
|
|
3
|
+
import { u as M, c as T } from "./index-C0UREtMP.js";
|
|
4
|
+
import { c as k } from "./index-DFZozV_h.js";
|
|
5
|
+
import { c as h, R as E, I as F } from "./index-DFi6WydO.js";
|
|
6
|
+
import { P as $ } from "./index-BCjJQGh8.js";
|
|
7
|
+
import { P as m } from "./index-BVRIAMfe.js";
|
|
8
|
+
import { u as D } from "./index-1QHKgw6D.js";
|
|
9
|
+
import { u as V } from "./index-xqkGMOJ8.js";
|
|
10
|
+
import { c as p } from "./utils-CwJPJKOE.js";
|
|
11
|
+
var g = "Tabs", [G, Z] = k(g, [
|
|
12
|
+
h
|
|
13
|
+
]), C = h(), [L, x] = G(g), I = f.forwardRef(
|
|
14
|
+
(e, t) => {
|
|
15
|
+
const {
|
|
16
|
+
__scopeTabs: c,
|
|
17
|
+
value: a,
|
|
18
|
+
onValueChange: i,
|
|
19
|
+
defaultValue: d,
|
|
20
|
+
orientation: o = "horizontal",
|
|
21
|
+
dir: u,
|
|
22
|
+
activationMode: b = "automatic",
|
|
23
|
+
...v
|
|
24
|
+
} = e, s = D(u), [n, l] = M({
|
|
25
|
+
prop: a,
|
|
26
|
+
onChange: i,
|
|
27
|
+
defaultProp: d ?? "",
|
|
28
|
+
caller: g
|
|
29
|
+
});
|
|
30
|
+
return /* @__PURE__ */ r(
|
|
31
|
+
L,
|
|
32
|
+
{
|
|
33
|
+
scope: c,
|
|
34
|
+
baseId: V(),
|
|
35
|
+
value: n,
|
|
36
|
+
onValueChange: l,
|
|
37
|
+
orientation: o,
|
|
38
|
+
dir: s,
|
|
39
|
+
activationMode: b,
|
|
40
|
+
children: /* @__PURE__ */ r(
|
|
41
|
+
m.div,
|
|
42
|
+
{
|
|
43
|
+
dir: s,
|
|
44
|
+
"data-orientation": o,
|
|
45
|
+
...v,
|
|
46
|
+
ref: t
|
|
47
|
+
}
|
|
48
|
+
)
|
|
49
|
+
}
|
|
50
|
+
);
|
|
51
|
+
}
|
|
52
|
+
);
|
|
53
|
+
I.displayName = g;
|
|
54
|
+
var y = "TabsList", _ = f.forwardRef(
|
|
55
|
+
(e, t) => {
|
|
56
|
+
const { __scopeTabs: c, loop: a = !0, ...i } = e, d = x(y, c), o = C(c);
|
|
57
|
+
return /* @__PURE__ */ r(
|
|
58
|
+
E,
|
|
59
|
+
{
|
|
60
|
+
asChild: !0,
|
|
61
|
+
...o,
|
|
62
|
+
orientation: d.orientation,
|
|
63
|
+
dir: d.dir,
|
|
64
|
+
loop: a,
|
|
65
|
+
children: /* @__PURE__ */ r(
|
|
66
|
+
m.div,
|
|
67
|
+
{
|
|
68
|
+
role: "tablist",
|
|
69
|
+
"aria-orientation": d.orientation,
|
|
70
|
+
...i,
|
|
71
|
+
ref: t
|
|
72
|
+
}
|
|
73
|
+
)
|
|
74
|
+
}
|
|
75
|
+
);
|
|
76
|
+
}
|
|
77
|
+
);
|
|
78
|
+
_.displayName = y;
|
|
79
|
+
var N = "TabsTrigger", R = f.forwardRef(
|
|
80
|
+
(e, t) => {
|
|
81
|
+
const { __scopeTabs: c, value: a, disabled: i = !1, ...d } = e, o = x(N, c), u = C(c), b = P(o.baseId, a), v = S(o.baseId, a), s = a === o.value;
|
|
82
|
+
return /* @__PURE__ */ r(
|
|
83
|
+
F,
|
|
84
|
+
{
|
|
85
|
+
asChild: !0,
|
|
86
|
+
...u,
|
|
87
|
+
focusable: !i,
|
|
88
|
+
active: s,
|
|
89
|
+
children: /* @__PURE__ */ r(
|
|
90
|
+
m.button,
|
|
91
|
+
{
|
|
92
|
+
type: "button",
|
|
93
|
+
role: "tab",
|
|
94
|
+
"aria-selected": s,
|
|
95
|
+
"aria-controls": v,
|
|
96
|
+
"data-state": s ? "active" : "inactive",
|
|
97
|
+
"data-disabled": i ? "" : void 0,
|
|
98
|
+
disabled: i,
|
|
99
|
+
id: b,
|
|
100
|
+
...d,
|
|
101
|
+
ref: t,
|
|
102
|
+
onMouseDown: T(e.onMouseDown, (n) => {
|
|
103
|
+
!i && n.button === 0 && n.ctrlKey === !1 ? o.onValueChange(a) : n.preventDefault();
|
|
104
|
+
}),
|
|
105
|
+
onKeyDown: T(e.onKeyDown, (n) => {
|
|
106
|
+
[" ", "Enter"].includes(n.key) && o.onValueChange(a);
|
|
107
|
+
}),
|
|
108
|
+
onFocus: T(e.onFocus, () => {
|
|
109
|
+
const n = o.activationMode !== "manual";
|
|
110
|
+
!s && !i && n && o.onValueChange(a);
|
|
111
|
+
})
|
|
112
|
+
}
|
|
113
|
+
)
|
|
114
|
+
}
|
|
115
|
+
);
|
|
116
|
+
}
|
|
117
|
+
);
|
|
118
|
+
R.displayName = N;
|
|
119
|
+
var w = "TabsContent", A = f.forwardRef(
|
|
120
|
+
(e, t) => {
|
|
121
|
+
const { __scopeTabs: c, value: a, forceMount: i, children: d, ...o } = e, u = x(w, c), b = P(u.baseId, a), v = S(u.baseId, a), s = a === u.value, n = f.useRef(s);
|
|
122
|
+
return f.useEffect(() => {
|
|
123
|
+
const l = requestAnimationFrame(() => n.current = !1);
|
|
124
|
+
return () => cancelAnimationFrame(l);
|
|
125
|
+
}, []), /* @__PURE__ */ r($, { present: i || s, children: ({ present: l }) => /* @__PURE__ */ r(
|
|
126
|
+
m.div,
|
|
127
|
+
{
|
|
128
|
+
"data-state": s ? "active" : "inactive",
|
|
129
|
+
"data-orientation": u.orientation,
|
|
130
|
+
role: "tabpanel",
|
|
131
|
+
"aria-labelledby": b,
|
|
132
|
+
hidden: !l,
|
|
133
|
+
id: v,
|
|
134
|
+
tabIndex: 0,
|
|
135
|
+
...o,
|
|
136
|
+
ref: t,
|
|
137
|
+
style: {
|
|
138
|
+
...e.style,
|
|
139
|
+
animationDuration: n.current ? "0s" : void 0
|
|
140
|
+
},
|
|
141
|
+
children: l && d
|
|
142
|
+
}
|
|
143
|
+
) });
|
|
144
|
+
}
|
|
145
|
+
);
|
|
146
|
+
A.displayName = w;
|
|
147
|
+
function P(e, t) {
|
|
148
|
+
return `${e}-trigger-${t}`;
|
|
149
|
+
}
|
|
150
|
+
function S(e, t) {
|
|
151
|
+
return `${e}-content-${t}`;
|
|
152
|
+
}
|
|
153
|
+
var j = I, z = _, K = R, B = A;
|
|
154
|
+
function ee({
|
|
155
|
+
className: e,
|
|
156
|
+
...t
|
|
157
|
+
}) {
|
|
158
|
+
return /* @__PURE__ */ r(
|
|
159
|
+
j,
|
|
160
|
+
{
|
|
161
|
+
"data-slot": "tabs",
|
|
162
|
+
className: p("flex flex-col gap-2", e),
|
|
163
|
+
...t
|
|
164
|
+
}
|
|
165
|
+
);
|
|
166
|
+
}
|
|
167
|
+
function te({
|
|
168
|
+
className: e,
|
|
169
|
+
...t
|
|
170
|
+
}) {
|
|
171
|
+
return /* @__PURE__ */ r(
|
|
172
|
+
z,
|
|
173
|
+
{
|
|
174
|
+
"data-slot": "tabs-list",
|
|
175
|
+
className: p(
|
|
176
|
+
"bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]",
|
|
177
|
+
e
|
|
178
|
+
),
|
|
179
|
+
...t
|
|
180
|
+
}
|
|
181
|
+
);
|
|
182
|
+
}
|
|
183
|
+
function ae({
|
|
184
|
+
className: e,
|
|
185
|
+
...t
|
|
186
|
+
}) {
|
|
187
|
+
return /* @__PURE__ */ r(
|
|
188
|
+
K,
|
|
189
|
+
{
|
|
190
|
+
"data-slot": "tabs-trigger",
|
|
191
|
+
className: p(
|
|
192
|
+
"data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
193
|
+
e
|
|
194
|
+
),
|
|
195
|
+
...t
|
|
196
|
+
}
|
|
197
|
+
);
|
|
198
|
+
}
|
|
199
|
+
function oe({
|
|
200
|
+
className: e,
|
|
201
|
+
...t
|
|
202
|
+
}) {
|
|
203
|
+
return /* @__PURE__ */ r(
|
|
204
|
+
B,
|
|
205
|
+
{
|
|
206
|
+
"data-slot": "tabs-content",
|
|
207
|
+
className: p("flex-1 outline-none", e),
|
|
208
|
+
...t
|
|
209
|
+
}
|
|
210
|
+
);
|
|
211
|
+
}
|
|
212
|
+
export {
|
|
213
|
+
ee as Tabs,
|
|
214
|
+
oe as TabsContent,
|
|
215
|
+
te as TabsList,
|
|
216
|
+
ae as TabsTrigger
|
|
217
|
+
};
|
|
218
|
+
//# sourceMappingURL=tabs.js.map
|