@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,181 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Page Layout - COMPOUND-ONLY with scheme for consistency
|
|
3
|
+
* @module @bloomneo/uikit
|
|
4
|
+
* @file src/components/layouts/page.tsx
|
|
5
|
+
*/
|
|
6
|
+
import * as React from 'react';
|
|
7
|
+
import type { NavigationItem, Size, Tone } from '@/types';
|
|
8
|
+
/**
|
|
9
|
+
* PageLayout schemes - consistent with other layouts
|
|
10
|
+
* default: Simple header + content + footer
|
|
11
|
+
* sidebar: Header + content with sidebar + footer
|
|
12
|
+
*/
|
|
13
|
+
export type PageLayoutScheme = 'default' | 'sidebar';
|
|
14
|
+
/**
|
|
15
|
+
* PageLayout Root - Just a container with context
|
|
16
|
+
*/
|
|
17
|
+
export interface PageLayoutProps {
|
|
18
|
+
/** RECOMMENDED: Layout scheme for consistency (default: "default") */
|
|
19
|
+
scheme?: PageLayoutScheme;
|
|
20
|
+
/** RECOMMENDED: Visual styling tone (default: "clean") */
|
|
21
|
+
tone?: Tone;
|
|
22
|
+
/** OPTIONAL: Page size for child components (default: "xl") */
|
|
23
|
+
size?: Size;
|
|
24
|
+
/** OPTIONAL: Additional CSS classes */
|
|
25
|
+
className?: string;
|
|
26
|
+
/** REQUIRED: Page structure (Header, Content, Footer) */
|
|
27
|
+
children: React.ReactNode;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* PageLayout.Header - Header with page context
|
|
31
|
+
*/
|
|
32
|
+
export interface PageHeaderProps {
|
|
33
|
+
/** OPTIONAL: Header tone (inherits from PageLayout if not set) */
|
|
34
|
+
tone?: Tone;
|
|
35
|
+
/** OPTIONAL: Header size (inherits from PageLayout if not set) */
|
|
36
|
+
size?: Size;
|
|
37
|
+
/** OPTIONAL: Header positioning (default: "sticky") */
|
|
38
|
+
position?: 'sticky' | 'fixed' | 'relative';
|
|
39
|
+
/** OPTIONAL: Navigation items */
|
|
40
|
+
navigation?: NavigationItem[];
|
|
41
|
+
/** OPTIONAL: Current path for active states */
|
|
42
|
+
currentPath?: string;
|
|
43
|
+
/** OPTIONAL: Navigation handler */
|
|
44
|
+
onNavigate?: (href: string, item: NavigationItem) => void;
|
|
45
|
+
/** OPTIONAL: Logo component */
|
|
46
|
+
logo?: React.ReactNode;
|
|
47
|
+
/** OPTIONAL: Page title (used if no logo) */
|
|
48
|
+
title?: string;
|
|
49
|
+
/** OPTIONAL: Header actions (buttons, theme toggle, etc.) */
|
|
50
|
+
actions?: React.ReactNode;
|
|
51
|
+
/** OPTIONAL: Additional CSS classes */
|
|
52
|
+
className?: string;
|
|
53
|
+
}
|
|
54
|
+
declare const PageHeader: React.ForwardRefExoticComponent<PageHeaderProps & React.RefAttributes<HTMLElement>>;
|
|
55
|
+
/**
|
|
56
|
+
* PageLayout.Content - Content area with optional sidebar
|
|
57
|
+
*/
|
|
58
|
+
export interface PageContentProps {
|
|
59
|
+
/** OPTIONAL: Content tone (inherits from PageLayout if not set) */
|
|
60
|
+
tone?: Tone;
|
|
61
|
+
/** OPTIONAL: Content size (inherits from PageLayout if not set) */
|
|
62
|
+
size?: Size;
|
|
63
|
+
/** OPTIONAL: Sidebar position (default: "none") */
|
|
64
|
+
sidebar?: 'none' | 'left' | 'right';
|
|
65
|
+
/** OPTIONAL: Sidebar navigation items */
|
|
66
|
+
navigation?: NavigationItem[];
|
|
67
|
+
/** OPTIONAL: Custom sidebar content (overrides navigation) */
|
|
68
|
+
sidebarContent?: React.ReactNode;
|
|
69
|
+
/** OPTIONAL: Current path for active states */
|
|
70
|
+
currentPath?: string;
|
|
71
|
+
/** OPTIONAL: Navigation handler */
|
|
72
|
+
onNavigate?: (href: string, item: NavigationItem) => void;
|
|
73
|
+
/** OPTIONAL: Whether sidebar should be sticky */
|
|
74
|
+
sidebarPosition?: 'sticky' | 'fixed' | 'relative';
|
|
75
|
+
/** OPTIONAL: Breadcrumb items */
|
|
76
|
+
breadcrumbs?: {
|
|
77
|
+
label: string;
|
|
78
|
+
href?: string;
|
|
79
|
+
}[];
|
|
80
|
+
/** OPTIONAL: Breadcrumb navigation handler */
|
|
81
|
+
onBreadcrumbNavigate?: (href: string) => void;
|
|
82
|
+
/** OPTIONAL: Page title (shown above breadcrumbs) */
|
|
83
|
+
title?: string;
|
|
84
|
+
/** OPTIONAL: Additional CSS classes */
|
|
85
|
+
className?: string;
|
|
86
|
+
/** REQUIRED: Page content */
|
|
87
|
+
children: React.ReactNode;
|
|
88
|
+
}
|
|
89
|
+
declare const PageContent: React.ForwardRefExoticComponent<PageContentProps & React.RefAttributes<HTMLDivElement>>;
|
|
90
|
+
/**
|
|
91
|
+
* PageLayout.Footer - Footer with page context
|
|
92
|
+
*/
|
|
93
|
+
export interface PageFooterProps {
|
|
94
|
+
/** OPTIONAL: Footer tone (default: "contrast") */
|
|
95
|
+
tone?: Tone;
|
|
96
|
+
/** OPTIONAL: Footer size (inherits from PageLayout if not set) */
|
|
97
|
+
size?: Size;
|
|
98
|
+
/** OPTIONAL: Footer positioning (default: "relative") */
|
|
99
|
+
position?: 'sticky' | 'fixed' | 'relative';
|
|
100
|
+
/** OPTIONAL: Footer navigation items */
|
|
101
|
+
navigation?: NavigationItem[];
|
|
102
|
+
/** OPTIONAL: Current path for active states */
|
|
103
|
+
currentPath?: string;
|
|
104
|
+
/** OPTIONAL: Navigation handler */
|
|
105
|
+
onNavigate?: (href: string, item: NavigationItem) => void;
|
|
106
|
+
/** OPTIONAL: Copyright text */
|
|
107
|
+
copyright?: React.ReactNode;
|
|
108
|
+
/** OPTIONAL: Additional CSS classes */
|
|
109
|
+
className?: string;
|
|
110
|
+
/** OPTIONAL: Custom footer content */
|
|
111
|
+
children?: React.ReactNode;
|
|
112
|
+
}
|
|
113
|
+
declare const PageFooter: React.ForwardRefExoticComponent<PageFooterProps & React.RefAttributes<HTMLElement>>;
|
|
114
|
+
/**
|
|
115
|
+
* Hook to access page configuration
|
|
116
|
+
*/
|
|
117
|
+
declare const usePage: () => {
|
|
118
|
+
scheme: PageLayoutScheme;
|
|
119
|
+
tone: Tone;
|
|
120
|
+
size: Size;
|
|
121
|
+
};
|
|
122
|
+
/**
|
|
123
|
+
* PageLayout - COMPOUND-ONLY Component
|
|
124
|
+
*/
|
|
125
|
+
declare const PageLayout: React.ForwardRefExoticComponent<PageLayoutProps & React.RefAttributes<HTMLDivElement>> & {
|
|
126
|
+
Header: React.ForwardRefExoticComponent<PageHeaderProps & React.RefAttributes<HTMLElement>>;
|
|
127
|
+
Content: React.ForwardRefExoticComponent<PageContentProps & React.RefAttributes<HTMLDivElement>>;
|
|
128
|
+
Footer: React.ForwardRefExoticComponent<PageFooterProps & React.RefAttributes<HTMLElement>>;
|
|
129
|
+
};
|
|
130
|
+
/**
|
|
131
|
+
* Export COMPOUND-ONLY PageLayout
|
|
132
|
+
*/
|
|
133
|
+
export { PageLayout, PageHeader, PageContent, PageFooter, usePage };
|
|
134
|
+
/**
|
|
135
|
+
* @llm-rule PageLayout Usage - COMPOUND-ONLY with scheme
|
|
136
|
+
*
|
|
137
|
+
* Basic website:
|
|
138
|
+
* <PageLayout scheme="default" tone="clean" size="xl">
|
|
139
|
+
* <PageLayout.Header navigation={nav} logo={<Logo />} />
|
|
140
|
+
* <PageLayout.Content>
|
|
141
|
+
* <YourContent />
|
|
142
|
+
* </PageLayout.Content>
|
|
143
|
+
* <PageLayout.Footer copyright="© 2024" />
|
|
144
|
+
* </PageLayout>
|
|
145
|
+
*
|
|
146
|
+
* Website with sidebar:
|
|
147
|
+
* <PageLayout scheme="sidebar">
|
|
148
|
+
* <PageLayout.Header navigation={nav} title="My Site" />
|
|
149
|
+
* <PageLayout.Content navigation={docsNav}>
|
|
150
|
+
* <YourContent />
|
|
151
|
+
* </PageLayout.Content>
|
|
152
|
+
* <PageLayout.Footer navigation={footerNav} />
|
|
153
|
+
* </PageLayout>
|
|
154
|
+
*
|
|
155
|
+
* Custom layout (override scheme):
|
|
156
|
+
* <PageLayout scheme="default" tone="brand">
|
|
157
|
+
* <PageLayout.Header tone="brand" navigation={nav} actions={<ThemeToggle />} />
|
|
158
|
+
* <PageLayout.Content sidebar="right" sidebarContent={<CustomSidebar />}>
|
|
159
|
+
* <YourContent />
|
|
160
|
+
* </PageLayout.Content>
|
|
161
|
+
* <PageLayout.Footer tone="contrast" navigation={legalNav} />
|
|
162
|
+
* </PageLayout>
|
|
163
|
+
*
|
|
164
|
+
* With breadcrumbs and title:
|
|
165
|
+
* <PageLayout scheme="default" tone="clean">
|
|
166
|
+
* <PageLayout.Header navigation={nav} logo={<Logo />} />
|
|
167
|
+
* <PageLayout.Content
|
|
168
|
+
* title="User Profile"
|
|
169
|
+
* breadcrumbs={[
|
|
170
|
+
* { label: 'Home', href: '/' },
|
|
171
|
+
* { label: 'Users', href: '/users' },
|
|
172
|
+
* { label: 'John Doe' }
|
|
173
|
+
* ]}
|
|
174
|
+
* onBreadcrumbNavigate={(href) => navigate(href)}
|
|
175
|
+
* >
|
|
176
|
+
* <UserProfileContent />
|
|
177
|
+
* </PageLayout.Content>
|
|
178
|
+
* <PageLayout.Footer copyright="© 2024" />
|
|
179
|
+
* </PageLayout>
|
|
180
|
+
*/
|
|
181
|
+
//# sourceMappingURL=page.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../../../src/components/layouts/page.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Popup Layout with standardized scheme + tone system
|
|
3
|
+
* @module @bloomneo/uikit
|
|
4
|
+
* @file src/components/layouts/popup.tsx
|
|
5
|
+
*/
|
|
6
|
+
import * as React from 'react';
|
|
7
|
+
import type { Size, PopupLayoutScheme, Tone } from '@/types';
|
|
8
|
+
/**
|
|
9
|
+
* Popup Layout props with standardized system
|
|
10
|
+
*/
|
|
11
|
+
export interface PopupLayoutProps {
|
|
12
|
+
/** Layout structure/arrangement */
|
|
13
|
+
scheme?: PopupLayoutScheme;
|
|
14
|
+
/** Visual styling tone */
|
|
15
|
+
tone?: Tone;
|
|
16
|
+
/** Popup size */
|
|
17
|
+
size?: Size;
|
|
18
|
+
/** Popup positioning */
|
|
19
|
+
position?: 'sticky' | 'fixed' | 'relative';
|
|
20
|
+
/** Header title text */
|
|
21
|
+
title?: string;
|
|
22
|
+
/** Header subtitle text */
|
|
23
|
+
subtitle?: string;
|
|
24
|
+
/** Logo/icon component */
|
|
25
|
+
logo?: React.ReactNode;
|
|
26
|
+
/** Status badge */
|
|
27
|
+
badge?: React.ReactNode;
|
|
28
|
+
/** Header action buttons */
|
|
29
|
+
headerActions?: React.ReactNode;
|
|
30
|
+
/** Show back button */
|
|
31
|
+
showBack?: boolean;
|
|
32
|
+
/** Show close button */
|
|
33
|
+
showClose?: boolean;
|
|
34
|
+
/** Show header divider */
|
|
35
|
+
showDivider?: boolean;
|
|
36
|
+
/** Back button handler */
|
|
37
|
+
onBack?: () => void;
|
|
38
|
+
/** Close button handler */
|
|
39
|
+
onClose?: () => void;
|
|
40
|
+
/** Footer content */
|
|
41
|
+
footer?: React.ReactNode;
|
|
42
|
+
/** Enable content scrolling */
|
|
43
|
+
scrollable?: boolean;
|
|
44
|
+
/** Additional CSS classes */
|
|
45
|
+
className?: string;
|
|
46
|
+
/** Inline styles */
|
|
47
|
+
style?: React.CSSProperties;
|
|
48
|
+
/** Main content */
|
|
49
|
+
children: React.ReactNode;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* PopupHeader - Standalone header component
|
|
53
|
+
*/
|
|
54
|
+
export interface PopupHeaderProps {
|
|
55
|
+
tone?: Tone;
|
|
56
|
+
size?: Size;
|
|
57
|
+
title?: string;
|
|
58
|
+
subtitle?: string;
|
|
59
|
+
logo?: React.ReactNode;
|
|
60
|
+
badge?: React.ReactNode;
|
|
61
|
+
actions?: React.ReactNode;
|
|
62
|
+
showBack?: boolean;
|
|
63
|
+
showClose?: boolean;
|
|
64
|
+
onBack?: () => void;
|
|
65
|
+
onClose?: () => void;
|
|
66
|
+
className?: string;
|
|
67
|
+
}
|
|
68
|
+
declare const PopupHeader: React.ForwardRefExoticComponent<PopupHeaderProps & React.RefAttributes<HTMLDivElement>>;
|
|
69
|
+
/**
|
|
70
|
+
* PopupContent - Scrollable content container
|
|
71
|
+
*/
|
|
72
|
+
export interface PopupContentProps {
|
|
73
|
+
tone?: Tone;
|
|
74
|
+
size?: Size;
|
|
75
|
+
scrollable?: boolean;
|
|
76
|
+
className?: string;
|
|
77
|
+
children: React.ReactNode;
|
|
78
|
+
}
|
|
79
|
+
declare const PopupContent: React.ForwardRefExoticComponent<PopupContentProps & React.RefAttributes<HTMLDivElement>>;
|
|
80
|
+
/**
|
|
81
|
+
* PopupFooter - Footer actions container
|
|
82
|
+
*/
|
|
83
|
+
export interface PopupFooterProps {
|
|
84
|
+
tone?: Tone;
|
|
85
|
+
size?: Size;
|
|
86
|
+
actions?: React.ReactNode;
|
|
87
|
+
className?: string;
|
|
88
|
+
children?: React.ReactNode;
|
|
89
|
+
}
|
|
90
|
+
declare const PopupFooter: React.ForwardRefExoticComponent<PopupFooterProps & React.RefAttributes<HTMLDivElement>>;
|
|
91
|
+
/**
|
|
92
|
+
* PopupLayout with compound components
|
|
93
|
+
*/
|
|
94
|
+
declare const PopupLayout: React.ForwardRefExoticComponent<PopupLayoutProps & React.RefAttributes<HTMLDivElement>> & {
|
|
95
|
+
Header: React.ForwardRefExoticComponent<PopupHeaderProps & React.RefAttributes<HTMLDivElement>>;
|
|
96
|
+
Content: React.ForwardRefExoticComponent<PopupContentProps & React.RefAttributes<HTMLDivElement>>;
|
|
97
|
+
Footer: React.ForwardRefExoticComponent<PopupFooterProps & React.RefAttributes<HTMLDivElement>>;
|
|
98
|
+
};
|
|
99
|
+
export { PopupLayout, PopupHeader, PopupContent, PopupFooter };
|
|
100
|
+
//# sourceMappingURL=popup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"popup.d.ts","sourceRoot":"","sources":["../../../../src/components/layouts/popup.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Container component with FIXED sidebar layout - properly side-by-side
|
|
3
|
+
* @module @bloomneo/uikit
|
|
4
|
+
* @file src/components/sections/container.tsx
|
|
5
|
+
*/
|
|
6
|
+
import * as React from 'react';
|
|
7
|
+
import type { NavigationItem, Size } from '@/types';
|
|
8
|
+
/**
|
|
9
|
+
* Container Sidebar props
|
|
10
|
+
*/
|
|
11
|
+
interface ContainerSidebarProps {
|
|
12
|
+
content?: React.ReactNode | NavigationItem[];
|
|
13
|
+
position?: 'left' | 'right';
|
|
14
|
+
size?: Size;
|
|
15
|
+
sidebarPosition?: 'sticky' | 'fixed' | 'relative';
|
|
16
|
+
tone?: 'clean' | 'subtle' | 'brand' | 'contrast';
|
|
17
|
+
currentPath?: string;
|
|
18
|
+
onNavigate?: (href: string, item: NavigationItem) => void;
|
|
19
|
+
className?: string;
|
|
20
|
+
style?: React.CSSProperties;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Container Sidebar component
|
|
24
|
+
*/
|
|
25
|
+
declare const ContainerSidebar: React.ForwardRefExoticComponent<ContainerSidebarProps & React.RefAttributes<HTMLDivElement>>;
|
|
26
|
+
/**
|
|
27
|
+
* Container Main props
|
|
28
|
+
*/
|
|
29
|
+
interface ContainerMainProps {
|
|
30
|
+
size?: Size;
|
|
31
|
+
children?: React.ReactNode;
|
|
32
|
+
className?: string;
|
|
33
|
+
style?: React.CSSProperties;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Container Main content area
|
|
37
|
+
*/
|
|
38
|
+
declare const ContainerMain: React.ForwardRefExoticComponent<ContainerMainProps & React.RefAttributes<HTMLDivElement>>;
|
|
39
|
+
/**
|
|
40
|
+
* Container component props with standardized system
|
|
41
|
+
*/
|
|
42
|
+
export interface ContainerProps {
|
|
43
|
+
/** Visual styling tone (applies to sidebar only) */
|
|
44
|
+
tone?: 'clean' | 'subtle' | 'brand' | 'contrast';
|
|
45
|
+
/** Container positioning */
|
|
46
|
+
position?: 'sticky' | 'fixed' | 'relative';
|
|
47
|
+
/** Sidebar position */
|
|
48
|
+
sidebar?: 'none' | 'left' | 'right';
|
|
49
|
+
/** Navigation items (takes priority over sidebarContent) */
|
|
50
|
+
navigation?: NavigationItem[];
|
|
51
|
+
/** Custom sidebar content (for JSX content) */
|
|
52
|
+
sidebarContent?: React.ReactNode;
|
|
53
|
+
/** Current path for active states */
|
|
54
|
+
currentPath?: string;
|
|
55
|
+
/** Navigation handler */
|
|
56
|
+
onNavigate?: (href: string, item: NavigationItem) => void;
|
|
57
|
+
/** Whether sidebar should be sticky */
|
|
58
|
+
sidebarPosition?: 'sticky' | 'fixed' | 'relative';
|
|
59
|
+
/** Container size */
|
|
60
|
+
size?: Size;
|
|
61
|
+
/** Container content */
|
|
62
|
+
children: React.ReactNode;
|
|
63
|
+
/** Additional CSS classes */
|
|
64
|
+
className?: string;
|
|
65
|
+
/** Inline styles */
|
|
66
|
+
style?: React.CSSProperties;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Container with compound components
|
|
70
|
+
*/
|
|
71
|
+
declare const Container: React.ForwardRefExoticComponent<ContainerProps & React.RefAttributes<HTMLDivElement>> & {
|
|
72
|
+
Sidebar: React.ForwardRefExoticComponent<ContainerSidebarProps & React.RefAttributes<HTMLDivElement>>;
|
|
73
|
+
Main: React.ForwardRefExoticComponent<ContainerMainProps & React.RefAttributes<HTMLDivElement>>;
|
|
74
|
+
};
|
|
75
|
+
/**
|
|
76
|
+
* Export Container with compound components and individual components
|
|
77
|
+
*/
|
|
78
|
+
export { Container, ContainerSidebar, ContainerMain };
|
|
79
|
+
//# sourceMappingURL=container.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../../../src/components/sections/container.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AA4QpD;;GAEG;AACH,UAAU,qBAAqB;IAC7B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,cAAc,EAAE,CAAC;IAC7C,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,eAAe,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;IAClD,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED;;GAEG;AACH,QAAA,MAAM,gBAAgB,8FA0CpB,CAAC;AAIH;;GAEG;AACH,UAAU,kBAAkB;IAC1B,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED;;GAEG;AACH,QAAA,MAAM,aAAa,2FAajB,CAAC;AAIH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,oDAAoD;IACpD,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;IACjD,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;IAC3C,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACpC,4DAA4D;IAC5D,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9B,+CAA+C;IAC/C,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACjC,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yBAAyB;IACzB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IAC1D,uCAAuC;IACvC,eAAe,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;IAClD,qBAAqB;IACrB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,wBAAwB;IACxB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAsID;;GAEG;AACH,QAAA,MAAM,SAAS;;;CAGb,CAAC;AAEH;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Footer component with standardized prop naming and tone system
|
|
3
|
+
* @module @bloomneo/uikit
|
|
4
|
+
* @file src/components/sections/footer.tsx
|
|
5
|
+
*/
|
|
6
|
+
import * as React from 'react';
|
|
7
|
+
import type { Size, NavigationItem } from '@/types';
|
|
8
|
+
/**
|
|
9
|
+
* Footer component props with standardized system
|
|
10
|
+
*/
|
|
11
|
+
export interface FooterProps extends React.HTMLAttributes<HTMLElement> {
|
|
12
|
+
/** Visual styling tone */
|
|
13
|
+
tone?: 'clean' | 'subtle' | 'brand' | 'contrast';
|
|
14
|
+
/** Footer size (width + padding + spacing) */
|
|
15
|
+
size?: Size;
|
|
16
|
+
/** Footer positioning */
|
|
17
|
+
position?: 'sticky' | 'fixed' | 'relative';
|
|
18
|
+
/** Navigation items */
|
|
19
|
+
navigation?: NavigationItem[];
|
|
20
|
+
/** Current path for active states */
|
|
21
|
+
currentPath?: string;
|
|
22
|
+
/** Navigation handler */
|
|
23
|
+
onNavigate?: (href: string, item: NavigationItem) => void;
|
|
24
|
+
/** Footer content */
|
|
25
|
+
children: React.ReactNode;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Basic Footer props
|
|
29
|
+
*/
|
|
30
|
+
export interface FooterBasicProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
31
|
+
/** Navigation items (standardized) */
|
|
32
|
+
navigation?: NavigationItem[];
|
|
33
|
+
/** Current path for active states */
|
|
34
|
+
currentPath?: string;
|
|
35
|
+
/** Navigation handler */
|
|
36
|
+
onNavigate?: (href: string, item: NavigationItem) => void;
|
|
37
|
+
/** Footer logo/brand */
|
|
38
|
+
logo?: React.ReactNode;
|
|
39
|
+
/** Social media links */
|
|
40
|
+
social?: React.ReactNode;
|
|
41
|
+
/** Copyright text */
|
|
42
|
+
copyright?: React.ReactNode;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Basic Footer - Simple row layout with navigation
|
|
46
|
+
*/
|
|
47
|
+
declare const FooterBasic: React.ForwardRefExoticComponent<FooterBasicProps & React.RefAttributes<HTMLDivElement>>;
|
|
48
|
+
/**
|
|
49
|
+
* Footer column interface
|
|
50
|
+
*/
|
|
51
|
+
export interface FooterColumn {
|
|
52
|
+
/** Unique key */
|
|
53
|
+
key: string;
|
|
54
|
+
/** Column title */
|
|
55
|
+
title: string;
|
|
56
|
+
/** Column navigation items */
|
|
57
|
+
items: NavigationItem[];
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Advanced Footer props
|
|
61
|
+
*/
|
|
62
|
+
export interface FooterAdvancedProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
63
|
+
/** Brand section (logo + description) */
|
|
64
|
+
brand?: React.ReactNode;
|
|
65
|
+
/** Footer columns with navigation items (up to 5) */
|
|
66
|
+
columns?: FooterColumn[];
|
|
67
|
+
/** Newsletter signup */
|
|
68
|
+
newsletter?: React.ReactNode;
|
|
69
|
+
/** Social media links */
|
|
70
|
+
social?: React.ReactNode;
|
|
71
|
+
/** Legal navigation items */
|
|
72
|
+
legal?: NavigationItem[];
|
|
73
|
+
/** Current path for active states */
|
|
74
|
+
currentPath?: string;
|
|
75
|
+
/** Navigation handler */
|
|
76
|
+
onNavigate?: (href: string, item: NavigationItem) => void;
|
|
77
|
+
/** Copyright text */
|
|
78
|
+
copyright?: React.ReactNode;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Advanced Footer - Multi-column layout with organized sections
|
|
82
|
+
*/
|
|
83
|
+
/**
|
|
84
|
+
* Advanced Footer - Multi-column layout with organized sections
|
|
85
|
+
* Two-level grid: Brand (30%) + Menu Container (70%) with intelligent 0-4 columns
|
|
86
|
+
*/
|
|
87
|
+
declare const FooterAdvanced: React.ForwardRefExoticComponent<FooterAdvancedProps & React.RefAttributes<HTMLDivElement>>;
|
|
88
|
+
/**
|
|
89
|
+
* Social link interface
|
|
90
|
+
*/
|
|
91
|
+
export interface SocialLink {
|
|
92
|
+
/** Unique key */
|
|
93
|
+
key: string;
|
|
94
|
+
/** Accessibility label */
|
|
95
|
+
label: string;
|
|
96
|
+
/** Icon component */
|
|
97
|
+
icon: React.ComponentType<{
|
|
98
|
+
className?: string;
|
|
99
|
+
}>;
|
|
100
|
+
/** Click handler */
|
|
101
|
+
onClick: () => void;
|
|
102
|
+
/** Additional CSS classes */
|
|
103
|
+
className?: string;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Footer Social props
|
|
107
|
+
*/
|
|
108
|
+
export interface FooterSocialProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
109
|
+
/** Social media links */
|
|
110
|
+
links?: SocialLink[];
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Footer Social component
|
|
114
|
+
*/
|
|
115
|
+
declare const FooterSocial: React.ForwardRefExoticComponent<FooterSocialProps & React.RefAttributes<HTMLDivElement>>;
|
|
116
|
+
/**
|
|
117
|
+
* Footer with compound components
|
|
118
|
+
*/
|
|
119
|
+
declare const Footer: React.ForwardRefExoticComponent<FooterProps & React.RefAttributes<HTMLElement>> & {
|
|
120
|
+
Basic: React.ForwardRefExoticComponent<FooterBasicProps & React.RefAttributes<HTMLDivElement>>;
|
|
121
|
+
Advanced: React.ForwardRefExoticComponent<FooterAdvancedProps & React.RefAttributes<HTMLDivElement>>;
|
|
122
|
+
Social: React.ForwardRefExoticComponent<FooterSocialProps & React.RefAttributes<HTMLDivElement>>;
|
|
123
|
+
};
|
|
124
|
+
/**
|
|
125
|
+
* Export Footer with compound components and individual components
|
|
126
|
+
*/
|
|
127
|
+
export { Footer, FooterBasic, FooterAdvanced, FooterSocial };
|
|
128
|
+
//# sourceMappingURL=footer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"footer.d.ts","sourceRoot":"","sources":["../../../../src/components/sections/footer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Header component with proper responsive behavior and light hover colors
|
|
3
|
+
* @module @bloomneo/uikit
|
|
4
|
+
* @file src/components/sections/header.tsx
|
|
5
|
+
*/
|
|
6
|
+
import * as React from 'react';
|
|
7
|
+
import { type VariantProps } from 'class-variance-authority';
|
|
8
|
+
import type { NavigationItem, Size } from '@/types';
|
|
9
|
+
/**
|
|
10
|
+
* Header variants with tone-based semantic colors
|
|
11
|
+
*/
|
|
12
|
+
declare const headerVariants: (props?: ({
|
|
13
|
+
tone?: "clean" | "subtle" | "brand" | "contrast" | null | undefined;
|
|
14
|
+
position?: "fixed" | "relative" | "sticky" | null | undefined;
|
|
15
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
16
|
+
/**
|
|
17
|
+
* Container variants for responsive sizing
|
|
18
|
+
*/
|
|
19
|
+
declare const containerVariants: (props?: ({
|
|
20
|
+
size?: "sm" | "lg" | "md" | "xl" | "full" | null | undefined;
|
|
21
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
22
|
+
/**
|
|
23
|
+
* Header component props
|
|
24
|
+
*/
|
|
25
|
+
export interface HeaderProps extends React.HTMLAttributes<HTMLElement>, VariantProps<typeof headerVariants> {
|
|
26
|
+
/** Visual styling tone */
|
|
27
|
+
tone?: 'clean' | 'subtle' | 'brand' | 'contrast';
|
|
28
|
+
/** Header size (width + height + padding) */
|
|
29
|
+
size?: Size;
|
|
30
|
+
/** Header positioning */
|
|
31
|
+
position?: 'sticky' | 'fixed' | 'relative';
|
|
32
|
+
/** Header content */
|
|
33
|
+
children: React.ReactNode;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Header Logo section props
|
|
37
|
+
*/
|
|
38
|
+
export interface HeaderLogoProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
39
|
+
/** Logo content */
|
|
40
|
+
children: React.ReactNode;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Header Logo section (always on the left)
|
|
44
|
+
*/
|
|
45
|
+
declare const HeaderLogo: React.ForwardRefExoticComponent<HeaderLogoProps & React.RefAttributes<HTMLDivElement>>;
|
|
46
|
+
/**
|
|
47
|
+
* Header Navigation props
|
|
48
|
+
*/
|
|
49
|
+
export interface HeaderNavProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
50
|
+
/** Navigation items */
|
|
51
|
+
navigation?: NavigationItem[];
|
|
52
|
+
/** Current path for active states */
|
|
53
|
+
currentPath?: string;
|
|
54
|
+
/** Navigation handler */
|
|
55
|
+
onNavigate?: (href: string, item: NavigationItem) => void;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Header Navigation with proper responsive behavior
|
|
59
|
+
*/
|
|
60
|
+
declare const HeaderNav: React.ForwardRefExoticComponent<HeaderNavProps & React.RefAttributes<HTMLDivElement>>;
|
|
61
|
+
/**
|
|
62
|
+
* Header with compound components
|
|
63
|
+
*/
|
|
64
|
+
declare const Header: React.ForwardRefExoticComponent<HeaderProps & React.RefAttributes<HTMLElement>> & {
|
|
65
|
+
Logo: React.ForwardRefExoticComponent<HeaderLogoProps & React.RefAttributes<HTMLDivElement>>;
|
|
66
|
+
Nav: React.ForwardRefExoticComponent<HeaderNavProps & React.RefAttributes<HTMLDivElement>>;
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* Export Header with compound components and individual components
|
|
70
|
+
*/
|
|
71
|
+
export { Header, HeaderLogo, HeaderNav, headerVariants, containerVariants };
|
|
72
|
+
//# sourceMappingURL=header.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../../src/components/sections/header.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIlE,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAapD;;GAEG;AACH,QAAA,MAAM,cAAc;;;8EAiCnB,CAAC;AAEF;;GAEG;AACH,QAAA,MAAM,iBAAiB;;8EAgBtB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,WACf,SAAQ,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,EACvC,YAAY,CAAC,OAAO,cAAc,CAAC;IACrC,0BAA0B;IAC1B,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;IACjD,6CAA6C;IAC7C,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,yBAAyB;IACzB,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;IAC3C,qBAAqB;IACrB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AA8BD;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC3E,mBAAmB;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED;;GAEG;AACH,QAAA,MAAM,UAAU,wFAYd,CAAC;AAIH;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC1E,uBAAuB;IACvB,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9B,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yBAAyB;IACzB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;CAC3D;AAED;;GAEG;AACH,QAAA,MAAM,SAAS,uFAkTb,CAAC;AAIH;;GAEG;AACH,QAAA,MAAM,MAAM;;;CAGV,CAAC;AAEH;;GAEG;AACH,OAAO,EACL,MAAM,EACN,UAAU,EACV,SAAS,EACT,cAAc,EACd,iBAAiB,EAClB,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SafeArea Section - Safe area wrapper for mobile notch/home indicator
|
|
3
|
+
* @module @bloomneo/uikit
|
|
4
|
+
* @file src/components/sections/safe-area.tsx
|
|
5
|
+
*/
|
|
6
|
+
import * as React from 'react';
|
|
7
|
+
import type { Tone } from '@/types';
|
|
8
|
+
/**
|
|
9
|
+
* SafeArea edges to apply insets
|
|
10
|
+
*/
|
|
11
|
+
export type SafeAreaEdge = 'top' | 'bottom' | 'left' | 'right';
|
|
12
|
+
/**
|
|
13
|
+
* SafeArea Component Props
|
|
14
|
+
*/
|
|
15
|
+
export interface SafeAreaProps {
|
|
16
|
+
/** OPTIONAL: Edges to apply safe area insets (default: all edges) */
|
|
17
|
+
edges?: SafeAreaEdge[];
|
|
18
|
+
/** OPTIONAL: Visual styling tone (default: "clean") */
|
|
19
|
+
tone?: Tone;
|
|
20
|
+
/** OPTIONAL: Use margin instead of padding (default: false) */
|
|
21
|
+
useMargin?: boolean;
|
|
22
|
+
/** OPTIONAL: Additional CSS classes */
|
|
23
|
+
className?: string;
|
|
24
|
+
/** REQUIRED: Content to wrap */
|
|
25
|
+
children: React.ReactNode;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* SafeArea - Wraps content with safe area insets for mobile devices
|
|
29
|
+
* Handles iOS notch, Android punch-hole, and home indicators
|
|
30
|
+
*
|
|
31
|
+
* @llm-usage
|
|
32
|
+
* <SafeArea edges={['top', 'bottom']}>
|
|
33
|
+
* <AppContent />
|
|
34
|
+
* </SafeArea>
|
|
35
|
+
*
|
|
36
|
+
* @example Full safe area (all edges)
|
|
37
|
+
* <SafeArea>{children}</SafeArea>
|
|
38
|
+
*
|
|
39
|
+
* @example Only top and bottom (common for main content)
|
|
40
|
+
* <SafeArea edges={['top', 'bottom']}>{children}</SafeArea>
|
|
41
|
+
*
|
|
42
|
+
* @example With background tone
|
|
43
|
+
* <SafeArea tone="subtle" edges={['top']}>{children}</SafeArea>
|
|
44
|
+
*/
|
|
45
|
+
export declare const SafeArea: React.ForwardRefExoticComponent<SafeAreaProps & React.RefAttributes<HTMLDivElement>>;
|
|
46
|
+
//# sourceMappingURL=safe-area.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safe-area.d.ts","sourceRoot":"","sources":["../../../../src/components/sections/safe-area.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAEpC;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAsB/D;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,qEAAqE;IACrE,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,uDAAuD;IACvD,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,+DAA+D;IAC/D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,QAAQ,sFAiCnB,CAAC"}
|