@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
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `useDataTable` — headless table state for @bloomneo/uikit.
|
|
3
|
+
*
|
|
4
|
+
* Provides the search / sort / filter / pagination state machine that the
|
|
5
|
+
* built-in `<DataTable>` component uses internally, in case you want to ship
|
|
6
|
+
* a custom-rendered table (treegrid, virtualized, gantt) but still benefit
|
|
7
|
+
* from the standard state shape.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* const table = useDataTable({
|
|
11
|
+
* data: users,
|
|
12
|
+
* columns: [{ id: 'name', accessorKey: 'name' }],
|
|
13
|
+
* pageSize: 25,
|
|
14
|
+
* });
|
|
15
|
+
*
|
|
16
|
+
* <Input value={table.search} onChange={(e) => table.setSearch(e.target.value)} />
|
|
17
|
+
* {table.rows.map((row) => <CustomRow key={row.id} row={row} />)}
|
|
18
|
+
*/
|
|
19
|
+
import type { DataTableColumn, DataTableFilterValue, FilterConfig, SortConfig } from '@/components/ui/data-table';
|
|
20
|
+
export interface UseDataTableOptions<T> {
|
|
21
|
+
data: T[];
|
|
22
|
+
columns: DataTableColumn<T>[];
|
|
23
|
+
/** Initial page (0-indexed). Default: 0. */
|
|
24
|
+
initialPage?: number;
|
|
25
|
+
/** Page size. Default: 10. */
|
|
26
|
+
pageSize?: number;
|
|
27
|
+
/** Initial search string. Default: "". */
|
|
28
|
+
initialSearch?: string;
|
|
29
|
+
/** Initial sort config. */
|
|
30
|
+
initialSort?: SortConfig[];
|
|
31
|
+
/** Row id extractor. Default: index.toString(). */
|
|
32
|
+
getRowId?: (row: T, index: number) => string;
|
|
33
|
+
}
|
|
34
|
+
export interface UseDataTableReturn<T> {
|
|
35
|
+
/** The visible rows for the current page after search/filter/sort. */
|
|
36
|
+
rows: T[];
|
|
37
|
+
/** All rows after search/filter/sort but before pagination. */
|
|
38
|
+
filteredRows: T[];
|
|
39
|
+
/** Stable string id for each visible row. */
|
|
40
|
+
getRowId: (row: T, index: number) => string;
|
|
41
|
+
search: string;
|
|
42
|
+
setSearch: (value: string) => void;
|
|
43
|
+
sort: SortConfig[];
|
|
44
|
+
setSort: (value: SortConfig[]) => void;
|
|
45
|
+
toggleSort: (columnId: string) => void;
|
|
46
|
+
filters: FilterConfig;
|
|
47
|
+
setFilter: (columnId: string, value: DataTableFilterValue | null) => void;
|
|
48
|
+
clearFilters: () => void;
|
|
49
|
+
page: number;
|
|
50
|
+
pageSize: number;
|
|
51
|
+
pageCount: number;
|
|
52
|
+
setPage: (page: number) => void;
|
|
53
|
+
nextPage: () => void;
|
|
54
|
+
prevPage: () => void;
|
|
55
|
+
canNextPage: boolean;
|
|
56
|
+
canPrevPage: boolean;
|
|
57
|
+
}
|
|
58
|
+
export declare function useDataTable<T>(options: UseDataTableOptions<T>): UseDataTableReturn<T>;
|
|
59
|
+
//# sourceMappingURL=useDataTable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDataTable.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDataTable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,OAAO,KAAK,EACV,eAAe,EACf,oBAAoB,EACpB,YAAY,EACZ,UAAU,EACX,MAAM,4BAA4B,CAAC;AAEpC,MAAM,WAAW,mBAAmB,CAAC,CAAC;IACpC,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9B,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2BAA2B;IAC3B,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,mDAAmD;IACnD,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CAC9C;AAED,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,sEAAsE;IACtE,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,+DAA+D;IAC/D,YAAY,EAAE,CAAC,EAAE,CAAC;IAClB,6CAA6C;IAC7C,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAG5C,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAGnC,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,IAAI,CAAC;IACvC,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAGvC,OAAO,EAAE,YAAY,CAAC;IACtB,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB,GAAG,IAAI,KAAK,IAAI,CAAC;IAC1E,YAAY,EAAE,MAAM,IAAI,CAAC;IAGzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAmJtF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `useMediaQuery` — subscribe a component to a CSS media query.
|
|
3
|
+
*
|
|
4
|
+
* SSR-safe (returns `false` on the server, hydrates correctly on the client).
|
|
5
|
+
* Cleans up its listener on unmount. No external dependencies.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* const isWide = useMediaQuery('(min-width: 1024px)');
|
|
9
|
+
* const reduced = useMediaQuery('(prefers-reduced-motion: reduce)');
|
|
10
|
+
*/
|
|
11
|
+
export declare function useMediaQuery(query: string): boolean;
|
|
12
|
+
//# sourceMappingURL=useMediaQuery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMediaQuery.d.ts","sourceRoot":"","sources":["../../../src/hooks/useMediaQuery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CA8BpD"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* useLocalStorage Hook - Persistent state with localStorage
|
|
3
|
+
* @module @bloomneo/uikit
|
|
4
|
+
* @file src/hooks/useStorage.ts
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* @llm-rule Storage hook for persisting state to localStorage
|
|
8
|
+
* Handles SSR, JSON parsing errors, and storage unavailability
|
|
9
|
+
*/
|
|
10
|
+
export type UseLocalStorageReturn<T> = [
|
|
11
|
+
value: T,
|
|
12
|
+
setValue: (value: T | ((prev: T) => T)) => void,
|
|
13
|
+
removeValue: () => void
|
|
14
|
+
];
|
|
15
|
+
/**
|
|
16
|
+
* Hook to persist state in localStorage with automatic JSON serialization
|
|
17
|
+
*
|
|
18
|
+
* @param key - localStorage key
|
|
19
|
+
* @param initialValue - Default value if no stored value exists
|
|
20
|
+
* @returns [value, setValue, removeValue] tuple
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```tsx
|
|
24
|
+
* const [user, setUser, removeUser] = useLocalStorage('user', null);
|
|
25
|
+
* const [settings, setSettings] = useLocalStorage('settings', { theme: 'light' });
|
|
26
|
+
*
|
|
27
|
+
* // Update value
|
|
28
|
+
* setUser({ name: 'John', email: 'john@example.com' });
|
|
29
|
+
*
|
|
30
|
+
* // Remove value (resets to initialValue)
|
|
31
|
+
* removeUser();
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export declare function useLocalStorage<T>(key: string, initialValue: T): UseLocalStorageReturn<T>;
|
|
35
|
+
//# sourceMappingURL=useStorage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useStorage.d.ts","sourceRoot":"","sources":["../../../src/hooks/useStorage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;;GAGG;AAEH,MAAM,MAAM,qBAAqB,CAAC,CAAC,IAAI;IACrC,KAAK,EAAE,CAAC;IACR,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI;IAC/C,WAAW,EAAE,MAAM,IAAI;CACxB,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAC/B,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,CAAC,GACd,qBAAqB,CAAC,CAAC,CAAC,CAwE1B"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Main entry point for @bloomneo/uikit
|
|
3
|
+
* @module @bloomneo/uikit
|
|
4
|
+
* @file src/index.ts
|
|
5
|
+
*/
|
|
6
|
+
export { cn } from './lib/utils';
|
|
7
|
+
export type * from './types';
|
|
8
|
+
import './styles/globals.css';
|
|
9
|
+
export { Button } from './components/ui/button';
|
|
10
|
+
export { Input } from './components/ui/input';
|
|
11
|
+
export { Textarea } from './components/ui/textarea';
|
|
12
|
+
export { Label } from './components/ui/label';
|
|
13
|
+
export { Checkbox } from './components/ui/checkbox';
|
|
14
|
+
export { RadioGroup, RadioGroupItem } from './components/ui/radio-group';
|
|
15
|
+
export { Switch } from './components/ui/switch';
|
|
16
|
+
export { Slider } from './components/ui/slider';
|
|
17
|
+
export { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, SelectGroup, SelectLabel, } from './components/ui/select';
|
|
18
|
+
export { Form, FormControl, FormDescription, FormField as FormController, FormItem, FormLabel, FormMessage, } from './components/ui/form';
|
|
19
|
+
export { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, } from './components/ui/card';
|
|
20
|
+
export { Badge } from './components/ui/badge';
|
|
21
|
+
export { Avatar, AvatarFallback, AvatarImage } from './components/ui/avatar';
|
|
22
|
+
export { Separator } from './components/ui/separator';
|
|
23
|
+
export { Progress } from './components/ui/progress';
|
|
24
|
+
export { Skeleton } from './components/ui/skeleton';
|
|
25
|
+
export { Alert, AlertDescription, AlertTitle } from './components/ui/alert';
|
|
26
|
+
export { Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, } from './components/ui/breadcrumb';
|
|
27
|
+
export { Tabs, TabsContent, TabsList, TabsTrigger } from './components/ui/tabs';
|
|
28
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, } from './components/ui/accordion';
|
|
29
|
+
export { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, DropdownMenuGroup, DropdownMenuPortal, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuCheckboxItem, DropdownMenuShortcut, } from './components/ui/dropdown-menu';
|
|
30
|
+
export { Menubar, MenubarContent, MenubarItem, MenubarMenu, MenubarSeparator, MenubarShortcut, MenubarTrigger, MenubarCheckboxItem, MenubarRadioGroup, MenubarRadioItem, MenubarLabel, MenubarSub, MenubarSubContent, MenubarSubTrigger, } from './components/ui/menubar';
|
|
31
|
+
export { Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, } from './components/ui/pagination';
|
|
32
|
+
export { Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, } from './components/ui/command';
|
|
33
|
+
export { Collapsible, CollapsibleContent, CollapsibleTrigger, } from './components/ui/collapsible';
|
|
34
|
+
export { Toggle } from './components/ui/toggle';
|
|
35
|
+
export { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle, DialogTrigger, DialogFooter, } from './components/ui/dialog';
|
|
36
|
+
export { Sheet, SheetContent, SheetDescription, SheetHeader, SheetTitle, SheetTrigger, SheetFooter, SheetClose, } from './components/ui/sheet';
|
|
37
|
+
export { Popover, PopoverContent, PopoverTrigger } from './components/ui/popover';
|
|
38
|
+
export { HoverCard, HoverCardContent, HoverCardTrigger, } from './components/ui/hover-card';
|
|
39
|
+
export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, } from './components/ui/tooltip';
|
|
40
|
+
export { Table, TableBody, TableCaption, TableCell, TableHead, TableHeader, TableRow, } from './components/ui/table';
|
|
41
|
+
export { DataTable } from './components/ui/data-table';
|
|
42
|
+
export type { DataTableColumn, DataTableProps, DataTableCellValue, DataTableFilterValue, FilterConfig, FilterOperator, RowAction, SortConfig, } from './components/ui/data-table';
|
|
43
|
+
export { Calendar } from './components/ui/calendar';
|
|
44
|
+
export { Toaster } from './components/ui/sonner';
|
|
45
|
+
export { EmptyState } from './components/ui/empty-state';
|
|
46
|
+
export type { EmptyStateProps } from './components/ui/empty-state';
|
|
47
|
+
export { PageHeader } from './components/ui/page-header';
|
|
48
|
+
export type { PageHeaderProps, PageHeaderCrumb } from './components/ui/page-header';
|
|
49
|
+
export { FormField, PasswordInput } from './components/ui/form-field';
|
|
50
|
+
export type { FormFieldProps, PasswordInputProps } from './components/ui/form-field';
|
|
51
|
+
export { ToastProvider, toast, useToast, } from './components/ui/toast';
|
|
52
|
+
export type { ToastProviderProps, ToastOptions, ToastAction, ToastPosition, } from './components/ui/toast';
|
|
53
|
+
export { ConfirmProvider, useConfirm, ConfirmDialog, } from './components/ui/confirm-dialog';
|
|
54
|
+
export type { ConfirmOptions, DestructiveConfirmOptions, ConfirmDialogProps, UseConfirmReturn, } from './components/ui/confirm-dialog';
|
|
55
|
+
export { formatCurrency, formatNumber, formatDate, timeAgo, formatBytes, Time, } from './lib/format';
|
|
56
|
+
export type { FormatCurrencyOptions, FormatNumberOptions, FormatDateOptions, FormatBytesOptions, TimeAgoOptions, TimeProps, Nullable, DateInput, } from './lib/format';
|
|
57
|
+
export { foucScript, foucScriptTag } from './lib/fouc';
|
|
58
|
+
export type { FoucScriptOptions } from './lib/fouc';
|
|
59
|
+
export { UIKitError, requireProp, requireArrayProp, warnInDev } from './lib/errors';
|
|
60
|
+
export { PageLayout } from './components/layouts/page';
|
|
61
|
+
export { AdminLayout } from './components/layouts/admin';
|
|
62
|
+
export { AuthLayout } from './components/layouts/auth';
|
|
63
|
+
export { BlankLayout } from './components/layouts/blank';
|
|
64
|
+
export { PopupLayout } from './components/layouts/popup';
|
|
65
|
+
export { MobileLayout, useMobileLayout } from './components/layouts/mobile';
|
|
66
|
+
export { LayoutWrapper } from './components/layouts/layout-wrapper';
|
|
67
|
+
export { Header, HeaderLogo, HeaderNav } from './components/sections/header';
|
|
68
|
+
export { Footer } from './components/sections/footer';
|
|
69
|
+
export { Container } from './components/sections/container';
|
|
70
|
+
export { SafeArea } from './components/sections/safe-area';
|
|
71
|
+
export { TabBar } from './components/sections/tab-bar';
|
|
72
|
+
export { ThemeProvider, useTheme, type Theme, type Mode } from './themes/theme-provider';
|
|
73
|
+
export { useApi, useBackendStatus, useLocalStorage, useMediaQuery, useBreakpoint, useActiveBreakpoint, breakpointQuery, BREAKPOINTS, useDataTable, } from './hooks';
|
|
74
|
+
export type { ApiResponse, ApiOptions, UseApiReturn, UseLocalStorageReturn, Breakpoint, BreakpointDirection, UseDataTableOptions, UseDataTableReturn, } from './hooks';
|
|
75
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Educational runtime errors for @bloomneo/uikit.
|
|
3
|
+
*
|
|
4
|
+
* Components throw these instead of generic TypeErrors so that both humans
|
|
5
|
+
* and AI coding agents get an actionable message naming the missing prop and
|
|
6
|
+
* pointing at the canonical doc entry. The format is intentionally consistent:
|
|
7
|
+
*
|
|
8
|
+
* [@bloomneo/uikit] <Component> requires `<prop>`. <reason>.
|
|
9
|
+
* See: https://bloomneo.github.io/uikit/llms#<slug>
|
|
10
|
+
*
|
|
11
|
+
* The trailing URL is the entry inside the generated `llms.txt`. Agents that
|
|
12
|
+
* read tool errors and self-correct will fetch that link and recover on the
|
|
13
|
+
* next iteration.
|
|
14
|
+
*/
|
|
15
|
+
export declare class UIKitError extends Error {
|
|
16
|
+
readonly component: string;
|
|
17
|
+
readonly docsUrl: string;
|
|
18
|
+
constructor(component: string, message: string, slug?: string);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Throw if a required prop is missing or wrongly typed. Designed to fire at
|
|
22
|
+
* the very top of a component's render so consumers see the message before
|
|
23
|
+
* any downstream null-deref.
|
|
24
|
+
*/
|
|
25
|
+
export declare function requireProp<T>(component: string, prop: string, value: T | undefined | null, hint?: string): T;
|
|
26
|
+
/**
|
|
27
|
+
* Throw if `value` is not an array. Catches the most common DataTable misuse:
|
|
28
|
+
* passing a single object or `undefined` while data is loading.
|
|
29
|
+
*/
|
|
30
|
+
export declare function requireArrayProp<T>(component: string, prop: string, value: unknown, hint?: string): T[];
|
|
31
|
+
/**
|
|
32
|
+
* Lighter-weight version that only warns in development. Use for nice-to-have
|
|
33
|
+
* conventions (e.g. "every column should have a unique id") that shouldn't
|
|
34
|
+
* crash a production app.
|
|
35
|
+
*/
|
|
36
|
+
export declare function warnInDev(component: string, message: string, slug?: string): void;
|
|
37
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/lib/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,qBAAa,UAAW,SAAQ,KAAK;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;gBAEb,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;CAO9D;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAC3B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,CAAC,GAAG,SAAS,GAAG,IAAI,EAC3B,IAAI,CAAC,EAAE,MAAM,GACZ,CAAC,CAQH;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,IAAI,CAAC,EAAE,MAAM,GACZ,CAAC,EAAE,CASL;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAOjF"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Locale-aware formatters for @bloomneo/uikit.
|
|
3
|
+
*
|
|
4
|
+
* Thin, zero-dependency wrappers around the platform `Intl.*` APIs and the
|
|
5
|
+
* Web `Date` constructor. Importing this module never pulls in another
|
|
6
|
+
* library; the only cost is the formatter functions themselves.
|
|
7
|
+
*
|
|
8
|
+
* Every formatter is safe to call with `null` / `undefined` — it returns an
|
|
9
|
+
* empty string instead of crashing — so cell renderers and inline JSX can use
|
|
10
|
+
* them without defensive null checks.
|
|
11
|
+
*/
|
|
12
|
+
import * as React from 'react';
|
|
13
|
+
export type Nullable<T> = T | null | undefined;
|
|
14
|
+
export interface FormatCurrencyOptions {
|
|
15
|
+
/** ISO 4217 currency code. Default: "USD". */
|
|
16
|
+
currency?: string;
|
|
17
|
+
/** BCP 47 locale tag. Default: "en-US". */
|
|
18
|
+
locale?: string;
|
|
19
|
+
/** Minimum fraction digits. Default: 2. */
|
|
20
|
+
minimumFractionDigits?: number;
|
|
21
|
+
/** Maximum fraction digits. Default: 2. */
|
|
22
|
+
maximumFractionDigits?: number;
|
|
23
|
+
}
|
|
24
|
+
/** Format a number as currency. Returns "" for null/undefined/NaN. */
|
|
25
|
+
export declare function formatCurrency(value: Nullable<number>, options?: FormatCurrencyOptions): string;
|
|
26
|
+
export interface FormatNumberOptions {
|
|
27
|
+
locale?: string;
|
|
28
|
+
minimumFractionDigits?: number;
|
|
29
|
+
maximumFractionDigits?: number;
|
|
30
|
+
/** Render as percentage (multiplies by 100). Default: false. */
|
|
31
|
+
percent?: boolean;
|
|
32
|
+
}
|
|
33
|
+
/** Format a plain number with locale grouping. */
|
|
34
|
+
export declare function formatNumber(value: Nullable<number>, options?: FormatNumberOptions): string;
|
|
35
|
+
export type DateInput = Nullable<Date | string | number>;
|
|
36
|
+
export interface FormatDateOptions {
|
|
37
|
+
locale?: string;
|
|
38
|
+
/** Intl.DateTimeFormat options, or one of the named presets. */
|
|
39
|
+
preset?: 'short' | 'medium' | 'long' | 'full' | 'datetime' | 'time';
|
|
40
|
+
}
|
|
41
|
+
/** Format a date with a sensible preset. */
|
|
42
|
+
export declare function formatDate(input: DateInput, options?: FormatDateOptions): string;
|
|
43
|
+
export interface TimeAgoOptions {
|
|
44
|
+
locale?: string;
|
|
45
|
+
/** Reference point. Default: Date.now(). */
|
|
46
|
+
now?: Date | number;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Returns a relative time string like "3 minutes ago" or "in 2 days".
|
|
50
|
+
* Uses Intl.RelativeTimeFormat for proper locale support.
|
|
51
|
+
*/
|
|
52
|
+
export declare function timeAgo(input: DateInput, options?: TimeAgoOptions): string;
|
|
53
|
+
export interface FormatBytesOptions {
|
|
54
|
+
/** Number of decimal places. Default: 1. */
|
|
55
|
+
decimals?: number;
|
|
56
|
+
/** Use binary (1024) or decimal (1000) base. Default: decimal. */
|
|
57
|
+
binary?: boolean;
|
|
58
|
+
}
|
|
59
|
+
/** Format a byte count as a human-readable string ("1.4 MB", "512 KB"). */
|
|
60
|
+
export declare function formatBytes(value: Nullable<number>, options?: FormatBytesOptions): string;
|
|
61
|
+
export interface TimeProps extends Omit<React.HTMLAttributes<HTMLTimeElement>, 'children'> {
|
|
62
|
+
/** Timestamp to format. */
|
|
63
|
+
date: DateInput;
|
|
64
|
+
/** "relative" → "3 minutes ago"; "absolute" → "Jan 5, 2026". Default: "relative". */
|
|
65
|
+
mode?: 'relative' | 'absolute';
|
|
66
|
+
/** Update interval in milliseconds for relative mode. Default: 60_000. */
|
|
67
|
+
updateInterval?: number;
|
|
68
|
+
/** Locale tag. */
|
|
69
|
+
locale?: string;
|
|
70
|
+
/** Preset for absolute mode. */
|
|
71
|
+
preset?: FormatDateOptions['preset'];
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* `<Time />` renders a `<time>` element whose contents update on an interval
|
|
75
|
+
* (relative mode) or once (absolute mode). Use this in chat threads, activity
|
|
76
|
+
* feeds, dashboards — anywhere you want "5 minutes ago" to become "6 minutes
|
|
77
|
+
* ago" without re-rendering the parent.
|
|
78
|
+
*/
|
|
79
|
+
export declare function Time({ date, mode, updateInterval, locale, preset, ...rest }: TimeProps): React.JSX.Element;
|
|
80
|
+
//# sourceMappingURL=format.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../src/lib/format.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;AAE/C,MAAM,WAAW,qBAAqB;IACpC,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2CAA2C;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,2CAA2C;IAC3C,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,sEAAsE;AACtE,wBAAgB,cAAc,CAC5B,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EACvB,OAAO,GAAE,qBAA0B,GAClC,MAAM,CAcR;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,gEAAgE;IAChE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,kDAAkD;AAClD,wBAAgB,YAAY,CAC1B,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EACvB,OAAO,GAAE,mBAAwB,GAChC,MAAM,CAaR;AAED,MAAM,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC;AAEzD,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,MAAM,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;CACrE;AAuBD,4CAA4C;AAC5C,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,GAAE,iBAAsB,GAAG,MAAM,CAKpF;AAYD,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4CAA4C;IAC5C,GAAG,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,GAAE,cAAmB,GAAG,MAAM,CAe9E;AAID,MAAM,WAAW,kBAAkB;IACjC,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,2EAA2E;AAC3E,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,GAAE,kBAAuB,GAAG,MAAM,CAQ7F;AAMD,MAAM,WAAW,SAAU,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC;IACxF,2BAA2B;IAC3B,IAAI,EAAE,SAAS,CAAC;IAChB,qFAAqF;IACrF,IAAI,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;IAC/B,0EAA0E;IAC1E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gCAAgC;IAChC,MAAM,CAAC,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;CACtC;AAED;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,EACnB,IAAI,EACJ,IAAiB,EACjB,cAAuB,EACvB,MAAM,EACN,MAAM,EACN,GAAG,IAAI,EACR,EAAE,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAoB/B"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FOUC (Flash of Unstyled Content) prevention helper for @bloomneo/uikit themes.
|
|
3
|
+
*
|
|
4
|
+
* The problem: <ThemeProvider> can only apply theme classes once React mounts.
|
|
5
|
+
* On first paint the page briefly renders with the default theme (sky blue),
|
|
6
|
+
* then snaps to the user's theme. Visible flash on every load.
|
|
7
|
+
*
|
|
8
|
+
* The fix: run a tiny script BEFORE the React bundle parses, reading the
|
|
9
|
+
* persisted theme out of localStorage and writing the matching classes onto
|
|
10
|
+
* <html> synchronously. By the time React mounts, the DOM is already correct.
|
|
11
|
+
*
|
|
12
|
+
* Usage in plain Vite / CRA:
|
|
13
|
+
*
|
|
14
|
+
* // index.html
|
|
15
|
+
* <head>
|
|
16
|
+
* <script>{`__BLOOMNEO_UIKIT_FOUC__`}</script>
|
|
17
|
+
* </head>
|
|
18
|
+
*
|
|
19
|
+
* Or copy the output of `foucScript()` directly into a literal <script> tag.
|
|
20
|
+
*
|
|
21
|
+
* Usage in Next.js (app router):
|
|
22
|
+
*
|
|
23
|
+
* // app/layout.tsx
|
|
24
|
+
* import { foucScript } from '@bloomneo/uikit/fouc';
|
|
25
|
+
*
|
|
26
|
+
* export default function RootLayout({ children }) {
|
|
27
|
+
* return (
|
|
28
|
+
* <html>
|
|
29
|
+
* <head>
|
|
30
|
+
* <script dangerouslySetInnerHTML={{ __html: foucScript() }} />
|
|
31
|
+
* </head>
|
|
32
|
+
* <body>{children}</body>
|
|
33
|
+
* </html>
|
|
34
|
+
* );
|
|
35
|
+
* }
|
|
36
|
+
*
|
|
37
|
+
* Both forms must be passed the same `storageKey` and `defaultTheme` /
|
|
38
|
+
* `defaultMode` you give to <ThemeProvider>, otherwise the inline script and
|
|
39
|
+
* the React provider will disagree on first paint.
|
|
40
|
+
*/
|
|
41
|
+
export interface FoucScriptOptions {
|
|
42
|
+
/** Storage key used by ThemeProvider. Default: "uikit-theme" */
|
|
43
|
+
storageKey?: string;
|
|
44
|
+
/** Theme to fall back to when nothing is stored. Default: "base" */
|
|
45
|
+
defaultTheme?: string;
|
|
46
|
+
/** Mode to fall back to when nothing is stored. Default: "light" */
|
|
47
|
+
defaultMode?: 'light' | 'dark';
|
|
48
|
+
/** Whether to honor `prefers-color-scheme` when no value is stored. Default: true */
|
|
49
|
+
detectSystem?: boolean;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Returns a self-contained JavaScript snippet (no imports, no globals) that
|
|
53
|
+
* applies the persisted theme + mode classes onto <html> synchronously.
|
|
54
|
+
*
|
|
55
|
+
* The snippet is intentionally tiny (~600 bytes minified) and uses no template
|
|
56
|
+
* literals so it can be safely embedded in HTML without escaping pitfalls.
|
|
57
|
+
*/
|
|
58
|
+
export declare function foucScript(options?: FoucScriptOptions): string;
|
|
59
|
+
/**
|
|
60
|
+
* Convenience: returns the full <script> tag string. Use when concatenating
|
|
61
|
+
* into raw HTML rather than via React's `dangerouslySetInnerHTML`.
|
|
62
|
+
*/
|
|
63
|
+
export declare function foucScriptTag(options?: FoucScriptOptions): string;
|
|
64
|
+
//# sourceMappingURL=fouc.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fouc.d.ts","sourceRoot":"","sources":["../../../src/lib/fouc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,MAAM,WAAW,iBAAiB;IAChC,gEAAgE;IAChE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oEAAoE;IACpE,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC/B,qFAAqF;IACrF,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,MAAM,CAyBlE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,iBAAsB,GAAG,MAAM,CAErE"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Platform detection utilities for @bloomneo/uikit
|
|
3
|
+
* @description Detects runtime platform for adaptive component rendering with TypeScript support
|
|
4
|
+
* @package @bloomneo/uikit
|
|
5
|
+
* @file /src/lib/platform.ts
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Extend Window interface to include Tauri globals
|
|
9
|
+
*/
|
|
10
|
+
declare global {
|
|
11
|
+
interface Window {
|
|
12
|
+
__TAURI__?: any;
|
|
13
|
+
__TAURI_IPC__?: any;
|
|
14
|
+
__TAURI_INVOKE__?: any;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Available platforms enum for type safety
|
|
19
|
+
*/
|
|
20
|
+
export declare const PLATFORMS: {
|
|
21
|
+
readonly WEB: "web";
|
|
22
|
+
readonly NATIVE: "native";
|
|
23
|
+
readonly TAURI: "tauri";
|
|
24
|
+
readonly UNKNOWN: "unknown";
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Platform type derived from PLATFORMS values
|
|
28
|
+
*/
|
|
29
|
+
export type Platform = typeof PLATFORMS[keyof typeof PLATFORMS];
|
|
30
|
+
/**
|
|
31
|
+
* Browser information interface
|
|
32
|
+
*/
|
|
33
|
+
export interface BrowserInfo {
|
|
34
|
+
name: string;
|
|
35
|
+
version: string;
|
|
36
|
+
platform: Platform;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Platform capabilities interface
|
|
40
|
+
*/
|
|
41
|
+
export interface PlatformCapabilities {
|
|
42
|
+
hasClipboard: boolean;
|
|
43
|
+
hasNotifications: boolean;
|
|
44
|
+
hasGeolocation: boolean;
|
|
45
|
+
hasCamera: boolean;
|
|
46
|
+
hasFileSystem: boolean;
|
|
47
|
+
hasLocalStorage: boolean;
|
|
48
|
+
hasWebGL: boolean;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Detects the current platform with type safety
|
|
52
|
+
* @returns {Platform} Platform identifier from PLATFORMS
|
|
53
|
+
*/
|
|
54
|
+
export declare function detectPlatform(): Platform;
|
|
55
|
+
/**
|
|
56
|
+
* Determines if code is running in browser environment
|
|
57
|
+
* @returns {boolean} True if running in browser
|
|
58
|
+
*/
|
|
59
|
+
export declare function isBrowser(): boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Determines if code is running in React Native environment
|
|
62
|
+
* @returns {boolean} True if running in React Native
|
|
63
|
+
*/
|
|
64
|
+
export declare function isNative(): boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Determines if code is running in Tauri environment
|
|
67
|
+
* @returns {boolean} True if running in Tauri
|
|
68
|
+
*/
|
|
69
|
+
export declare function isTauri(): boolean;
|
|
70
|
+
/**
|
|
71
|
+
* Determines if code is running in Node.js environment
|
|
72
|
+
* @returns {boolean} True if running in Node.js
|
|
73
|
+
*/
|
|
74
|
+
export declare function isNode(): boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Determines if code is running server-side (SSR)
|
|
77
|
+
* @returns {boolean} True if running server-side
|
|
78
|
+
*/
|
|
79
|
+
export declare function isSSR(): boolean;
|
|
80
|
+
/**
|
|
81
|
+
* Gets basic browser information
|
|
82
|
+
* @returns {BrowserInfo} Browser information object
|
|
83
|
+
*/
|
|
84
|
+
export declare function getBrowserInfo(): BrowserInfo;
|
|
85
|
+
/**
|
|
86
|
+
* Detects platform capabilities
|
|
87
|
+
* @returns {PlatformCapabilities} Object describing platform capabilities
|
|
88
|
+
*/
|
|
89
|
+
export declare function getPlatformCapabilities(): PlatformCapabilities;
|
|
90
|
+
/**
|
|
91
|
+
* Gets the operating system from user agent
|
|
92
|
+
* @returns {string} Operating system name
|
|
93
|
+
*/
|
|
94
|
+
export declare function getOperatingSystem(): string;
|
|
95
|
+
/**
|
|
96
|
+
* Checks if the current device is mobile
|
|
97
|
+
* @returns {boolean} True if running on mobile device
|
|
98
|
+
*/
|
|
99
|
+
export declare function isMobile(): boolean;
|
|
100
|
+
/**
|
|
101
|
+
* Checks if the current device is tablet
|
|
102
|
+
* @returns {boolean} True if running on tablet device
|
|
103
|
+
*/
|
|
104
|
+
export declare function isTablet(): boolean;
|
|
105
|
+
/**
|
|
106
|
+
* Checks if the current device is desktop
|
|
107
|
+
* @returns {boolean} True if running on desktop device
|
|
108
|
+
*/
|
|
109
|
+
export declare function isDesktop(): boolean;
|
|
110
|
+
/**
|
|
111
|
+
* Gets device type
|
|
112
|
+
* @returns {'mobile' | 'tablet' | 'desktop' | 'unknown'} Device type
|
|
113
|
+
*/
|
|
114
|
+
export declare function getDeviceType(): 'mobile' | 'tablet' | 'desktop' | 'unknown';
|
|
115
|
+
/**
|
|
116
|
+
* Checks if the current browser supports a specific feature
|
|
117
|
+
* @param {string} feature - Feature name to check
|
|
118
|
+
* @returns {boolean} True if feature is supported
|
|
119
|
+
*/
|
|
120
|
+
export declare function supportsFeature(feature: string): boolean;
|
|
121
|
+
/**
|
|
122
|
+
* Platform-specific utility object
|
|
123
|
+
*/
|
|
124
|
+
export declare const platform: {
|
|
125
|
+
readonly detect: typeof detectPlatform;
|
|
126
|
+
readonly is: {
|
|
127
|
+
readonly browser: typeof isBrowser;
|
|
128
|
+
readonly native: typeof isNative;
|
|
129
|
+
readonly tauri: typeof isTauri;
|
|
130
|
+
readonly node: typeof isNode;
|
|
131
|
+
readonly ssr: typeof isSSR;
|
|
132
|
+
};
|
|
133
|
+
readonly device: {
|
|
134
|
+
readonly isMobile: typeof isMobile;
|
|
135
|
+
readonly isTablet: typeof isTablet;
|
|
136
|
+
readonly isDesktop: typeof isDesktop;
|
|
137
|
+
readonly getType: typeof getDeviceType;
|
|
138
|
+
};
|
|
139
|
+
readonly browser: {
|
|
140
|
+
readonly getInfo: typeof getBrowserInfo;
|
|
141
|
+
readonly getOS: typeof getOperatingSystem;
|
|
142
|
+
};
|
|
143
|
+
readonly capabilities: typeof getPlatformCapabilities;
|
|
144
|
+
readonly supports: typeof supportsFeature;
|
|
145
|
+
readonly PLATFORMS: {
|
|
146
|
+
readonly WEB: "web";
|
|
147
|
+
readonly NATIVE: "native";
|
|
148
|
+
readonly TAURI: "tauri";
|
|
149
|
+
readonly UNKNOWN: "unknown";
|
|
150
|
+
};
|
|
151
|
+
};
|
|
152
|
+
/**
|
|
153
|
+
* Default export for convenience
|
|
154
|
+
*/
|
|
155
|
+
export default platform;
|
|
156
|
+
//# sourceMappingURL=platform.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../../src/lib/platform.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,SAAS,CAAC,EAAE,GAAG,CAAC;QAChB,aAAa,CAAC,EAAE,GAAG,CAAC;QACpB,gBAAgB,CAAC,EAAE,GAAG,CAAC;KACxB;CACF;AAED;;GAEG;AACH,eAAO,MAAM,SAAS;;;;;CAKZ,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,SAAS,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,QAAQ,CAgCzC;AAED;;;GAGG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED;;;GAGG;AACH,wBAAgB,QAAQ,IAAI,OAAO,CAKlC;AAED;;;GAGG;AACH,wBAAgB,OAAO,IAAI,OAAO,CASjC;AAED;;;GAGG;AACH,wBAAgB,MAAM,IAAI,OAAO,CAMhC;AAED;;;GAGG;AACH,wBAAgB,KAAK,IAAI,OAAO,CAE/B;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,WAAW,CAqC5C;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,oBAAoB,CAyC9D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAY3C;AAED;;;GAGG;AACH,wBAAgB,QAAQ,IAAI,OAAO,CAMlC;AAED;;;GAGG;AACH,wBAAgB,QAAQ,IAAI,OAAO,CAIlC;AAED;;;GAGG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAQ3E;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CA2CxD;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BX,CAAC;AAEX;;GAEG;AACH,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Essential utility functions for @bloomneo/uikit
|
|
3
|
+
* @module @bloomneo/uikit
|
|
4
|
+
* @file src/lib/utils.ts
|
|
5
|
+
*/
|
|
6
|
+
import { type ClassValue } from 'clsx';
|
|
7
|
+
/**
|
|
8
|
+
* Merges multiple class names using clsx and tailwind-merge
|
|
9
|
+
* This allows for proper handling of Tailwind CSS class conflicts
|
|
10
|
+
* @param inputs - Class names to merge
|
|
11
|
+
* @returns Merged class names string
|
|
12
|
+
*/
|
|
13
|
+
export declare function cn(...inputs: ClassValue[]): string;
|
|
14
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,UAAU,EAAQ,MAAM,MAAM,CAAC;AAG7C;;;;;GAKG;AACH,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAElD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/main.tsx"],"names":[],"mappings":"AAGA,OAAO,sBAAsB,CAAC"}
|