├── .gitignore ├── .prettierrc ├── .vscode └── settings.json ├── LICENSE.md ├── README.md ├── next.config.mjs ├── package.json ├── pnpm-lock.yaml ├── postcss.config.cjs ├── public ├── dot.svg ├── fonts │ ├── JetBrainsMonoNL-Regular.woff2 │ └── JetBrainsMono[wght].woff2 ├── next.svg └── thumbnails │ ├── area-charts.webp │ ├── badges.webp │ ├── banners.webp │ ├── bar-charts.webp │ ├── bar-lists.webp │ ├── billing-usage.webp │ ├── chart-compositions.webp │ ├── chart-tooltips.webp │ ├── dialogs.webp │ ├── donut-charts.webp │ ├── empty-states.webp │ ├── feature-sections.webp │ ├── file-upload.webp │ ├── filterbar.webp │ ├── form-layouts.webp │ ├── grid-lists.webp │ ├── kpi-cards.webp │ ├── line-charts.webp │ ├── logins.webp │ ├── navigations.webp │ ├── onboarding-feed.webp │ ├── page-shells.webp │ ├── pricing-sections.webp │ ├── spark-charts.webp │ ├── status-monitoring.webp │ ├── table-action.webp │ ├── table-pagination.webp │ ├── tables.webp │ └── user-management.webp ├── src ├── app │ ├── (with-app-shell) │ │ ├── blocks │ │ │ └── [blocksCategory] │ │ │ │ ├── loading.tsx │ │ │ │ └── page.tsx │ │ ├── layout.tsx │ │ └── page.tsx │ ├── apple-touch-icon.png │ ├── db │ │ └── blocks.ts │ ├── error.tsx │ ├── favicon-16x16.png │ ├── favicon-32x32.png │ ├── favicon.ico │ ├── global.css │ ├── layout.tsx │ ├── not-found.tsx │ └── ui │ │ ├── assets │ │ └── shimmer.tsx │ │ ├── block.tsx │ │ ├── blocks-grid-tile.tsx │ │ ├── blocks-preview.tsx │ │ ├── button.tsx │ │ ├── container.tsx │ │ ├── footer.tsx │ │ ├── icons.tsx │ │ ├── loading.tsx │ │ ├── mdx.tsx │ │ ├── prose.ts │ │ ├── shimmer-fallback.tsx │ │ └── site-header.tsx ├── components │ ├── Accordion.tsx │ ├── AreaChart.tsx │ ├── Badge.tsx │ ├── BarChart.tsx │ ├── BarList.tsx │ ├── Button.tsx │ ├── Calendar.tsx │ ├── Callout.tsx │ ├── Card.tsx │ ├── CategoryBar.tsx │ ├── Checkbox.tsx │ ├── ComboChart.tsx │ ├── DatePicker.tsx │ ├── Dialog.tsx │ ├── Divider.tsx │ ├── DonutChart.tsx │ ├── Drawer.tsx │ ├── DropdownMenu.tsx │ ├── Input.tsx │ ├── Label.tsx │ ├── LineChart.tsx │ ├── Popover.tsx │ ├── ProgressBar.tsx │ ├── ProgressCircle.tsx │ ├── RadioCardGroup.tsx │ ├── RadioGroup.tsx │ ├── Select.tsx │ ├── SelectNative.tsx │ ├── Slider.tsx │ ├── SparkChart.tsx │ ├── Switch.tsx │ ├── TabNavigation.tsx │ ├── Table.tsx │ ├── Tabs.tsx │ ├── Textarea.tsx │ ├── Toast.tsx │ ├── Toaster.tsx │ ├── Tooltip.tsx │ └── Tracker.tsx ├── content │ ├── blocks-categories.ts │ ├── blocks-components.ts │ ├── blocks-metadata.ts │ ├── components │ │ ├── account-and-user-management │ │ │ ├── account-and-user-management-01.tsx │ │ │ ├── account-and-user-management-02.tsx │ │ │ ├── account-and-user-management-03.tsx │ │ │ ├── account-and-user-management-04.tsx │ │ │ ├── account-and-user-management-05.tsx │ │ │ ├── account-and-user-management-06.tsx │ │ │ ├── account-and-user-management-07.tsx │ │ │ ├── account-and-user-management-08.tsx │ │ │ ├── account-and-user-management-09.tsx │ │ │ ├── account-and-user-management-10.tsx │ │ │ ├── account-and-user-management-11.tsx │ │ │ ├── account-and-user-management-12.tsx │ │ │ ├── account-and-user-management-13.tsx │ │ │ ├── account-and-user-management-14.tsx │ │ │ ├── account-and-user-management-15.tsx │ │ │ └── index.ts │ │ ├── area-charts │ │ │ ├── area-chart-01.tsx │ │ │ ├── area-chart-02.tsx │ │ │ ├── area-chart-03.tsx │ │ │ ├── area-chart-04.tsx │ │ │ ├── area-chart-05.tsx │ │ │ ├── area-chart-06.tsx │ │ │ ├── area-chart-07.tsx │ │ │ ├── area-chart-08.tsx │ │ │ ├── area-chart-09.tsx │ │ │ ├── area-chart-10.tsx │ │ │ ├── area-chart-11.tsx │ │ │ ├── area-chart-12.tsx │ │ │ ├── area-chart-13.tsx │ │ │ ├── area-chart-14.tsx │ │ │ ├── area-chart-15.tsx │ │ │ ├── area-chart-16.tsx │ │ │ └── index.ts │ │ ├── badges │ │ │ ├── badge-01.tsx │ │ │ ├── badge-02.tsx │ │ │ ├── badge-03.tsx │ │ │ ├── badge-04.tsx │ │ │ ├── badge-05.tsx │ │ │ ├── badge-06.tsx │ │ │ ├── badge-07.tsx │ │ │ ├── badge-08.tsx │ │ │ ├── badge-09.tsx │ │ │ ├── badge-10.tsx │ │ │ ├── badge-11.tsx │ │ │ ├── badge-12.tsx │ │ │ ├── badge-13.tsx │ │ │ └── index.ts │ │ ├── banners │ │ │ ├── banner-01.tsx │ │ │ ├── banner-02.tsx │ │ │ ├── banner-03.tsx │ │ │ ├── banner-04.tsx │ │ │ ├── banner-05.tsx │ │ │ └── index.ts │ │ ├── bar-charts │ │ │ ├── bar-chart-01.tsx │ │ │ ├── bar-chart-02.tsx │ │ │ ├── bar-chart-03.tsx │ │ │ ├── bar-chart-04.tsx │ │ │ ├── bar-chart-05.tsx │ │ │ ├── bar-chart-06.tsx │ │ │ ├── bar-chart-07.tsx │ │ │ ├── bar-chart-08.tsx │ │ │ ├── bar-chart-09.tsx │ │ │ ├── bar-chart-10.tsx │ │ │ ├── bar-chart-11.tsx │ │ │ ├── bar-chart-12.tsx │ │ │ └── index.ts │ │ ├── bar-lists │ │ │ ├── bar-list-01.tsx │ │ │ ├── bar-list-02.tsx │ │ │ ├── bar-list-03.tsx │ │ │ ├── bar-list-04.tsx │ │ │ ├── bar-list-05.tsx │ │ │ ├── bar-list-06.tsx │ │ │ ├── bar-list-07.tsx │ │ │ └── index.ts │ │ ├── billing-usage │ │ │ ├── billing-usage-01.tsx │ │ │ ├── billing-usage-02.tsx │ │ │ ├── billing-usage-03.tsx │ │ │ ├── billing-usage-04.tsx │ │ │ ├── billing-usage-05.tsx │ │ │ ├── billing-usage-06.tsx │ │ │ ├── billing-usage-07.tsx │ │ │ ├── billing-usage-08.tsx │ │ │ ├── billing-usage-09.tsx │ │ │ ├── billing-usage-10.tsx │ │ │ └── index.ts │ │ ├── chart-compositions │ │ │ ├── chart-composition-01.tsx │ │ │ ├── chart-composition-02.tsx │ │ │ ├── chart-composition-03.tsx │ │ │ ├── chart-composition-04.tsx │ │ │ ├── chart-composition-05.tsx │ │ │ ├── chart-composition-06.tsx │ │ │ ├── chart-composition-07.tsx │ │ │ ├── chart-composition-08.tsx │ │ │ ├── chart-composition-09.tsx │ │ │ ├── chart-composition-10.tsx │ │ │ ├── chart-composition-11.tsx │ │ │ ├── chart-composition-12.tsx │ │ │ ├── chart-composition-13.tsx │ │ │ ├── chart-composition-14.tsx │ │ │ ├── chart-composition-15.tsx │ │ │ └── index.ts │ │ ├── chart-tooltips │ │ │ ├── chart-tooltip-01.tsx │ │ │ ├── chart-tooltip-02.tsx │ │ │ ├── chart-tooltip-03.tsx │ │ │ ├── chart-tooltip-04.tsx │ │ │ ├── chart-tooltip-05.tsx │ │ │ ├── chart-tooltip-06.tsx │ │ │ ├── chart-tooltip-07.tsx │ │ │ ├── chart-tooltip-08.tsx │ │ │ ├── chart-tooltip-09.tsx │ │ │ ├── chart-tooltip-10.tsx │ │ │ ├── chart-tooltip-11.tsx │ │ │ ├── chart-tooltip-12.tsx │ │ │ ├── chart-tooltip-13.tsx │ │ │ ├── chart-tooltip-14.tsx │ │ │ ├── chart-tooltip-15.tsx │ │ │ ├── chart-tooltip-16.tsx │ │ │ ├── chart-tooltip-17.tsx │ │ │ ├── chart-tooltip-18.tsx │ │ │ ├── chart-tooltip-19.tsx │ │ │ ├── chart-tooltip-20.tsx │ │ │ ├── chart-tooltip-21.tsx │ │ │ └── index.ts │ │ ├── dialogs │ │ │ ├── dialog-01.tsx │ │ │ ├── dialog-02.tsx │ │ │ ├── dialog-03.tsx │ │ │ ├── dialog-04.tsx │ │ │ ├── dialog-05.tsx │ │ │ ├── dialog-06.tsx │ │ │ ├── dialog-07.tsx │ │ │ ├── dialog-08.tsx │ │ │ ├── dialog-09.tsx │ │ │ └── index.ts │ │ ├── donut-charts │ │ │ ├── donut-chart-01.tsx │ │ │ ├── donut-chart-02.tsx │ │ │ ├── donut-chart-03.tsx │ │ │ ├── donut-chart-04.tsx │ │ │ ├── donut-chart-05.tsx │ │ │ ├── donut-chart-06.tsx │ │ │ ├── donut-chart-07.tsx │ │ │ └── index.ts │ │ ├── empty-states │ │ │ ├── empty-state-01.tsx │ │ │ ├── empty-state-02.tsx │ │ │ ├── empty-state-03.tsx │ │ │ ├── empty-state-04.tsx │ │ │ ├── empty-state-05.tsx │ │ │ ├── empty-state-06.tsx │ │ │ ├── empty-state-07.tsx │ │ │ ├── empty-state-08.tsx │ │ │ ├── empty-state-09.tsx │ │ │ ├── empty-state-10.tsx │ │ │ └── index.ts │ │ ├── feature-sections │ │ │ ├── feature-section-01.tsx │ │ │ ├── feature-section-02.tsx │ │ │ ├── feature-section-03.tsx │ │ │ ├── feature-section-04.tsx │ │ │ ├── feature-section-05.tsx │ │ │ ├── feature-section-06.tsx │ │ │ ├── feature-section-07.tsx │ │ │ ├── feature-section-08.tsx │ │ │ ├── feature-section-09.tsx │ │ │ ├── feature-section-10.tsx │ │ │ ├── feature-section-11.tsx │ │ │ ├── feature-section-12.tsx │ │ │ └── index.ts │ │ ├── file-upload │ │ │ ├── file-upload-01.tsx │ │ │ ├── file-upload-02.tsx │ │ │ ├── file-upload-03.tsx │ │ │ ├── file-upload-04.tsx │ │ │ ├── file-upload-05.tsx │ │ │ ├── file-upload-06.tsx │ │ │ ├── file-upload-07.tsx │ │ │ └── index.ts │ │ ├── filterbar │ │ │ ├── filterbar-01.tsx │ │ │ ├── filterbar-02.tsx │ │ │ ├── filterbar-03.tsx │ │ │ ├── filterbar-04.tsx │ │ │ ├── filterbar-05.tsx │ │ │ ├── filterbar-06.tsx │ │ │ ├── filterbar-07.tsx │ │ │ ├── filterbar-08.tsx │ │ │ ├── filterbar-09.tsx │ │ │ ├── filterbar-10.tsx │ │ │ ├── filterbar-11.tsx │ │ │ ├── filterbar-12.tsx │ │ │ ├── filterbar-13.tsx │ │ │ ├── filterbar-14.tsx │ │ │ ├── filterbar-15.tsx │ │ │ ├── filterbar-16.tsx │ │ │ └── index.ts │ │ ├── form-layouts │ │ │ ├── form-layout-01.tsx │ │ │ ├── form-layout-02.tsx │ │ │ ├── form-layout-03.tsx │ │ │ ├── form-layout-04.tsx │ │ │ ├── form-layout-05.tsx │ │ │ ├── form-layout-06.tsx │ │ │ └── index.ts │ │ ├── grid-lists │ │ │ ├── grid-list-01.tsx │ │ │ ├── grid-list-02.tsx │ │ │ ├── grid-list-03.tsx │ │ │ ├── grid-list-04.tsx │ │ │ ├── grid-list-05.tsx │ │ │ ├── grid-list-06.tsx │ │ │ ├── grid-list-07.tsx │ │ │ ├── grid-list-08.tsx │ │ │ ├── grid-list-09.tsx │ │ │ ├── grid-list-10.tsx │ │ │ ├── grid-list-11.tsx │ │ │ ├── grid-list-12.tsx │ │ │ ├── grid-list-13.tsx │ │ │ ├── grid-list-14.tsx │ │ │ ├── grid-list-15.tsx │ │ │ └── index.ts │ │ ├── index.ts │ │ ├── kpi-cards │ │ │ ├── index.ts │ │ │ ├── kpi-card-01.tsx │ │ │ ├── kpi-card-02.tsx │ │ │ ├── kpi-card-03.tsx │ │ │ ├── kpi-card-04.tsx │ │ │ ├── kpi-card-05.tsx │ │ │ ├── kpi-card-06.tsx │ │ │ ├── kpi-card-07.tsx │ │ │ ├── kpi-card-08.tsx │ │ │ ├── kpi-card-09.tsx │ │ │ ├── kpi-card-10.tsx │ │ │ ├── kpi-card-11.tsx │ │ │ ├── kpi-card-12.tsx │ │ │ ├── kpi-card-13.tsx │ │ │ ├── kpi-card-14.tsx │ │ │ ├── kpi-card-15.tsx │ │ │ ├── kpi-card-16.tsx │ │ │ ├── kpi-card-17.tsx │ │ │ ├── kpi-card-18.tsx │ │ │ ├── kpi-card-19.tsx │ │ │ ├── kpi-card-20.tsx │ │ │ ├── kpi-card-21.tsx │ │ │ ├── kpi-card-22.tsx │ │ │ ├── kpi-card-23.tsx │ │ │ ├── kpi-card-24.tsx │ │ │ ├── kpi-card-25.tsx │ │ │ ├── kpi-card-26.tsx │ │ │ ├── kpi-card-27.tsx │ │ │ ├── kpi-card-28.tsx │ │ │ └── kpi-card-29.tsx │ │ ├── line-charts │ │ │ ├── index.ts │ │ │ ├── line-chart-01.tsx │ │ │ ├── line-chart-02.tsx │ │ │ ├── line-chart-03.tsx │ │ │ ├── line-chart-04.tsx │ │ │ ├── line-chart-05.tsx │ │ │ ├── line-chart-06.tsx │ │ │ ├── line-chart-07.tsx │ │ │ ├── line-chart-08.tsx │ │ │ ├── line-chart-09.tsx │ │ │ ├── line-chart-10.tsx │ │ │ ├── line-chart-11.tsx │ │ │ └── line-chart-12.tsx │ │ ├── logins │ │ │ ├── index.ts │ │ │ ├── login-01.tsx │ │ │ ├── login-02.tsx │ │ │ ├── login-03.tsx │ │ │ ├── login-04.tsx │ │ │ ├── login-05.tsx │ │ │ ├── login-06.tsx │ │ │ ├── login-07.tsx │ │ │ ├── login-08.tsx │ │ │ ├── login-09.tsx │ │ │ └── login-10.tsx │ │ ├── onboarding-feed │ │ │ ├── index.ts │ │ │ ├── onboarding-feed-01.tsx │ │ │ ├── onboarding-feed-02.tsx │ │ │ ├── onboarding-feed-03.tsx │ │ │ ├── onboarding-feed-04.tsx │ │ │ ├── onboarding-feed-05.tsx │ │ │ ├── onboarding-feed-06.tsx │ │ │ ├── onboarding-feed-07.tsx │ │ │ ├── onboarding-feed-08.tsx │ │ │ ├── onboarding-feed-09.tsx │ │ │ ├── onboarding-feed-10.tsx │ │ │ ├── onboarding-feed-11.tsx │ │ │ ├── onboarding-feed-12.tsx │ │ │ ├── onboarding-feed-13.tsx │ │ │ ├── onboarding-feed-14.tsx │ │ │ ├── onboarding-feed-15.tsx │ │ │ └── onboarding-feed-16.tsx │ │ ├── page-shells │ │ │ ├── index.ts │ │ │ ├── page-shell-01.tsx │ │ │ ├── page-shell-02.tsx │ │ │ ├── page-shell-03.tsx │ │ │ ├── page-shell-04.tsx │ │ │ ├── page-shell-05.tsx │ │ │ └── page-shell-06.tsx │ │ ├── pricing-sections │ │ │ ├── index.ts │ │ │ ├── pricing-section-01.tsx │ │ │ ├── pricing-section-02.tsx │ │ │ ├── pricing-section-03.tsx │ │ │ ├── pricing-section-04.tsx │ │ │ ├── pricing-section-05.tsx │ │ │ ├── pricing-section-06.tsx │ │ │ ├── pricing-section-07.tsx │ │ │ └── pricing-section-08.tsx │ │ ├── spark-charts │ │ │ ├── index.ts │ │ │ ├── spark-chart-01.tsx │ │ │ ├── spark-chart-02.tsx │ │ │ ├── spark-chart-03.tsx │ │ │ ├── spark-chart-04.tsx │ │ │ ├── spark-chart-05.tsx │ │ │ └── spark-chart-06.tsx │ │ ├── status-monitoring │ │ │ ├── index.ts │ │ │ ├── tracker-01.tsx │ │ │ ├── tracker-02.tsx │ │ │ ├── tracker-03.tsx │ │ │ ├── tracker-04.tsx │ │ │ ├── tracker-05.tsx │ │ │ ├── tracker-06.tsx │ │ │ ├── tracker-07.tsx │ │ │ ├── tracker-08.tsx │ │ │ ├── tracker-09.tsx │ │ │ └── tracker-10.tsx │ │ ├── table-actions │ │ │ ├── index.jsx │ │ │ ├── table-action-01.tsx │ │ │ ├── table-action-02.tsx │ │ │ ├── table-action-03.tsx │ │ │ ├── table-action-04.tsx │ │ │ ├── table-action-05.tsx │ │ │ ├── table-action-06.tsx │ │ │ ├── table-action-07.tsx │ │ │ ├── table-action-08.tsx │ │ │ ├── table-action-09.tsx │ │ │ ├── table-action-10.tsx │ │ │ └── table-action-11.tsx │ │ ├── table-pagination │ │ │ ├── index.jsx │ │ │ ├── pagination-01.tsx │ │ │ ├── pagination-02.tsx │ │ │ ├── pagination-03.tsx │ │ │ ├── pagination-04.tsx │ │ │ ├── pagination-05.tsx │ │ │ ├── pagination-06.tsx │ │ │ ├── pagination-07.tsx │ │ │ └── pagination-08.tsx │ │ └── tables │ │ │ ├── index.ts │ │ │ ├── table-01.tsx │ │ │ ├── table-02.tsx │ │ │ ├── table-03.tsx │ │ │ ├── table-04.tsx │ │ │ ├── table-05.tsx │ │ │ ├── table-06.tsx │ │ │ ├── table-07.tsx │ │ │ ├── table-08.tsx │ │ │ ├── table-09.tsx │ │ │ ├── table-10.tsx │ │ │ └── table-11.tsx │ ├── declarations.ts │ └── markdown │ │ ├── account-and-user-management │ │ ├── account-and-user-management-01.mdx │ │ ├── account-and-user-management-02.mdx │ │ ├── account-and-user-management-03.mdx │ │ ├── account-and-user-management-04.mdx │ │ ├── account-and-user-management-05.mdx │ │ ├── account-and-user-management-06.mdx │ │ ├── account-and-user-management-07.mdx │ │ ├── account-and-user-management-08.mdx │ │ ├── account-and-user-management-09.mdx │ │ ├── account-and-user-management-10.mdx │ │ ├── account-and-user-management-11.mdx │ │ ├── account-and-user-management-12.mdx │ │ ├── account-and-user-management-13.mdx │ │ ├── account-and-user-management-14.mdx │ │ └── account-and-user-management-15.mdx │ │ ├── area-charts │ │ ├── area-chart-01.mdx │ │ ├── area-chart-02.mdx │ │ ├── area-chart-03.mdx │ │ ├── area-chart-04.mdx │ │ ├── area-chart-05.mdx │ │ ├── area-chart-06.mdx │ │ ├── area-chart-07.mdx │ │ ├── area-chart-08.mdx │ │ ├── area-chart-09.mdx │ │ ├── area-chart-10.mdx │ │ ├── area-chart-11.mdx │ │ ├── area-chart-12.mdx │ │ ├── area-chart-13.mdx │ │ ├── area-chart-14.mdx │ │ ├── area-chart-15.mdx │ │ └── area-chart-16.mdx │ │ ├── badges │ │ ├── badge-01.mdx │ │ ├── badge-02.mdx │ │ ├── badge-03.mdx │ │ ├── badge-04.mdx │ │ ├── badge-05.mdx │ │ ├── badge-06.mdx │ │ ├── badge-07.mdx │ │ ├── badge-08.mdx │ │ ├── badge-09.mdx │ │ ├── badge-10.mdx │ │ ├── badge-11.mdx │ │ ├── badge-12.mdx │ │ └── badge-13.mdx │ │ ├── banners │ │ ├── banner-01.mdx │ │ ├── banner-02.mdx │ │ ├── banner-03.mdx │ │ ├── banner-04.mdx │ │ └── banner-05.mdx │ │ ├── bar-charts │ │ ├── bar-chart-01.mdx │ │ ├── bar-chart-02.mdx │ │ ├── bar-chart-03.mdx │ │ ├── bar-chart-04.mdx │ │ ├── bar-chart-05.mdx │ │ ├── bar-chart-06.mdx │ │ ├── bar-chart-07.mdx │ │ ├── bar-chart-08.mdx │ │ ├── bar-chart-09.mdx │ │ ├── bar-chart-10.mdx │ │ ├── bar-chart-11.mdx │ │ └── bar-chart-12.mdx │ │ ├── bar-lists │ │ ├── bar-list-01.mdx │ │ ├── bar-list-02.mdx │ │ ├── bar-list-03.mdx │ │ ├── bar-list-04.mdx │ │ ├── bar-list-05.mdx │ │ ├── bar-list-06.mdx │ │ └── bar-list-07.mdx │ │ ├── billing-usage │ │ ├── billing-usage-01.mdx │ │ ├── billing-usage-02.mdx │ │ ├── billing-usage-03.mdx │ │ ├── billing-usage-04.mdx │ │ ├── billing-usage-05.mdx │ │ ├── billing-usage-06.mdx │ │ ├── billing-usage-07.mdx │ │ ├── billing-usage-08.mdx │ │ ├── billing-usage-09.mdx │ │ └── billing-usage-10.mdx │ │ ├── chart-compositions │ │ ├── chart-composition-01.mdx │ │ ├── chart-composition-02.mdx │ │ ├── chart-composition-03.mdx │ │ ├── chart-composition-04.mdx │ │ ├── chart-composition-05.mdx │ │ ├── chart-composition-06.mdx │ │ ├── chart-composition-07.mdx │ │ ├── chart-composition-08.mdx │ │ ├── chart-composition-09.mdx │ │ ├── chart-composition-10.mdx │ │ ├── chart-composition-11.mdx │ │ ├── chart-composition-12.mdx │ │ ├── chart-composition-13.mdx │ │ ├── chart-composition-14.mdx │ │ └── chart-composition-15.mdx │ │ ├── chart-tooltips │ │ ├── chart-tooltip-01.mdx │ │ ├── chart-tooltip-02.mdx │ │ ├── chart-tooltip-03.mdx │ │ ├── chart-tooltip-04.mdx │ │ ├── chart-tooltip-05.mdx │ │ ├── chart-tooltip-06.mdx │ │ ├── chart-tooltip-07.mdx │ │ ├── chart-tooltip-08.mdx │ │ ├── chart-tooltip-09.mdx │ │ ├── chart-tooltip-10.mdx │ │ ├── chart-tooltip-11.mdx │ │ ├── chart-tooltip-12.mdx │ │ ├── chart-tooltip-13.mdx │ │ ├── chart-tooltip-14.mdx │ │ ├── chart-tooltip-15.mdx │ │ ├── chart-tooltip-16.mdx │ │ ├── chart-tooltip-17.mdx │ │ ├── chart-tooltip-18.mdx │ │ ├── chart-tooltip-19.mdx │ │ ├── chart-tooltip-20.mdx │ │ └── chart-tooltip-21.mdx │ │ ├── dialogs │ │ ├── dialog-01.mdx │ │ ├── dialog-02.mdx │ │ ├── dialog-03.mdx │ │ ├── dialog-04.mdx │ │ ├── dialog-05.mdx │ │ ├── dialog-06.mdx │ │ ├── dialog-07.mdx │ │ ├── dialog-08.mdx │ │ └── dialog-09.mdx │ │ ├── donut-charts │ │ ├── donut-chart-01.mdx │ │ ├── donut-chart-02.mdx │ │ ├── donut-chart-03.mdx │ │ ├── donut-chart-04.mdx │ │ ├── donut-chart-05.mdx │ │ ├── donut-chart-06.mdx │ │ └── donut-chart-07.mdx │ │ ├── empty-states │ │ ├── empty-state-01.mdx │ │ ├── empty-state-02.mdx │ │ ├── empty-state-03.mdx │ │ ├── empty-state-04.mdx │ │ ├── empty-state-05.mdx │ │ ├── empty-state-06.mdx │ │ ├── empty-state-07.mdx │ │ ├── empty-state-08.mdx │ │ ├── empty-state-09.mdx │ │ └── empty-state-10.mdx │ │ ├── feature-sections │ │ ├── feature-section-01.mdx │ │ ├── feature-section-02.mdx │ │ ├── feature-section-03.mdx │ │ ├── feature-section-04.mdx │ │ ├── feature-section-05.mdx │ │ ├── feature-section-06.mdx │ │ ├── feature-section-07.mdx │ │ ├── feature-section-08.mdx │ │ ├── feature-section-09.mdx │ │ ├── feature-section-10.mdx │ │ ├── feature-section-11.mdx │ │ └── feature-section-12.mdx │ │ ├── file-upload │ │ ├── file-upload-01.mdx │ │ ├── file-upload-02.mdx │ │ ├── file-upload-03.mdx │ │ ├── file-upload-04.mdx │ │ ├── file-upload-05.mdx │ │ ├── file-upload-06.mdx │ │ └── file-upload-07.mdx │ │ ├── filterbar │ │ ├── filterbar-01.mdx │ │ ├── filterbar-02.mdx │ │ ├── filterbar-03.mdx │ │ ├── filterbar-04.mdx │ │ ├── filterbar-05.mdx │ │ ├── filterbar-06.mdx │ │ ├── filterbar-07.mdx │ │ ├── filterbar-08.mdx │ │ ├── filterbar-09.mdx │ │ ├── filterbar-10.mdx │ │ ├── filterbar-11.mdx │ │ ├── filterbar-12.mdx │ │ ├── filterbar-13.mdx │ │ ├── filterbar-14.mdx │ │ ├── filterbar-15.mdx │ │ └── filterbar-16.mdx │ │ ├── form-layouts │ │ ├── form-layout-01.mdx │ │ ├── form-layout-02.mdx │ │ ├── form-layout-03.mdx │ │ ├── form-layout-04.mdx │ │ ├── form-layout-05.mdx │ │ └── form-layout-06.mdx │ │ ├── grid-lists │ │ ├── grid-list-01.mdx │ │ ├── grid-list-02.mdx │ │ ├── grid-list-03.mdx │ │ ├── grid-list-04.mdx │ │ ├── grid-list-05.mdx │ │ ├── grid-list-06.mdx │ │ ├── grid-list-07.mdx │ │ ├── grid-list-08.mdx │ │ ├── grid-list-09.mdx │ │ ├── grid-list-10.mdx │ │ ├── grid-list-11.mdx │ │ ├── grid-list-12.mdx │ │ ├── grid-list-13.mdx │ │ ├── grid-list-14.mdx │ │ └── grid-list-15.mdx │ │ ├── kpi-cards │ │ ├── kpi-card-01.mdx │ │ ├── kpi-card-02.mdx │ │ ├── kpi-card-03.mdx │ │ ├── kpi-card-04.mdx │ │ ├── kpi-card-05.mdx │ │ ├── kpi-card-06.mdx │ │ ├── kpi-card-07.mdx │ │ ├── kpi-card-08.mdx │ │ ├── kpi-card-09.mdx │ │ ├── kpi-card-10.mdx │ │ ├── kpi-card-11.mdx │ │ ├── kpi-card-12.mdx │ │ ├── kpi-card-13.mdx │ │ ├── kpi-card-14.mdx │ │ ├── kpi-card-15.mdx │ │ ├── kpi-card-16.mdx │ │ ├── kpi-card-17.mdx │ │ ├── kpi-card-18.mdx │ │ ├── kpi-card-19.mdx │ │ ├── kpi-card-20.mdx │ │ ├── kpi-card-21.mdx │ │ ├── kpi-card-22.mdx │ │ ├── kpi-card-23.mdx │ │ ├── kpi-card-24.mdx │ │ ├── kpi-card-25.mdx │ │ ├── kpi-card-26.mdx │ │ ├── kpi-card-27.mdx │ │ ├── kpi-card-28.mdx │ │ └── kpi-card-29.mdx │ │ ├── line-charts │ │ ├── line-chart-01.mdx │ │ ├── line-chart-02.mdx │ │ ├── line-chart-03.mdx │ │ ├── line-chart-04.mdx │ │ ├── line-chart-05.mdx │ │ ├── line-chart-06.mdx │ │ ├── line-chart-07.mdx │ │ ├── line-chart-08.mdx │ │ ├── line-chart-09.mdx │ │ ├── line-chart-10.mdx │ │ ├── line-chart-11.mdx │ │ └── line-chart-12.mdx │ │ ├── logins │ │ ├── login-01.mdx │ │ ├── login-02.mdx │ │ ├── login-03.mdx │ │ ├── login-04.mdx │ │ ├── login-05.mdx │ │ ├── login-06.mdx │ │ ├── login-07.mdx │ │ ├── login-08.mdx │ │ ├── login-09.mdx │ │ └── login-10.mdx │ │ ├── onboarding-feed │ │ ├── onboarding-feed-01.mdx │ │ ├── onboarding-feed-02.mdx │ │ ├── onboarding-feed-03.mdx │ │ ├── onboarding-feed-04.mdx │ │ ├── onboarding-feed-05.mdx │ │ ├── onboarding-feed-06.mdx │ │ ├── onboarding-feed-07.mdx │ │ ├── onboarding-feed-08.mdx │ │ ├── onboarding-feed-09.mdx │ │ ├── onboarding-feed-10.mdx │ │ ├── onboarding-feed-11.mdx │ │ ├── onboarding-feed-12.mdx │ │ ├── onboarding-feed-13.mdx │ │ ├── onboarding-feed-14.mdx │ │ ├── onboarding-feed-15.mdx │ │ └── onboarding-feed-16.mdx │ │ ├── page-shells │ │ ├── page-shell-01.mdx │ │ ├── page-shell-02.mdx │ │ ├── page-shell-03.mdx │ │ ├── page-shell-04.mdx │ │ ├── page-shell-05.mdx │ │ └── page-shell-06.mdx │ │ ├── pricing-sections │ │ ├── pricing-section-01.mdx │ │ ├── pricing-section-02.mdx │ │ ├── pricing-section-03.mdx │ │ ├── pricing-section-04.mdx │ │ ├── pricing-section-05.mdx │ │ ├── pricing-section-06.mdx │ │ ├── pricing-section-07.mdx │ │ └── pricing-section-08.mdx │ │ ├── spark-charts │ │ ├── spark-chart-01.mdx │ │ ├── spark-chart-02.mdx │ │ ├── spark-chart-03.mdx │ │ ├── spark-chart-04.mdx │ │ ├── spark-chart-05.mdx │ │ └── spark-chart-06.mdx │ │ ├── status-monitoring │ │ ├── tracker-01.mdx │ │ ├── tracker-02.mdx │ │ ├── tracker-03.mdx │ │ ├── tracker-04.mdx │ │ ├── tracker-05.mdx │ │ ├── tracker-06.mdx │ │ ├── tracker-07.mdx │ │ ├── tracker-08.mdx │ │ ├── tracker-09.mdx │ │ └── tracker-10.mdx │ │ ├── table-actions │ │ ├── index.jsx │ │ ├── table-action-01.mdx │ │ ├── table-action-02.mdx │ │ ├── table-action-03.mdx │ │ ├── table-action-04.mdx │ │ ├── table-action-05.mdx │ │ ├── table-action-06.mdx │ │ ├── table-action-07.mdx │ │ ├── table-action-08.mdx │ │ ├── table-action-09.mdx │ │ ├── table-action-10.mdx │ │ └── table-action-11.mdx │ │ ├── table-pagination │ │ ├── index.jsx │ │ ├── pagination-01.mdx │ │ ├── pagination-02.mdx │ │ ├── pagination-03.mdx │ │ ├── pagination-04.mdx │ │ ├── pagination-05.mdx │ │ ├── pagination-06.mdx │ │ ├── pagination-07.mdx │ │ └── pagination-08.mdx │ │ └── tables │ │ ├── table-01.mdx │ │ ├── table-02.mdx │ │ ├── table-03.mdx │ │ ├── table-04.mdx │ │ ├── table-05.mdx │ │ ├── table-06.mdx │ │ ├── table-07.mdx │ │ ├── table-08.mdx │ │ ├── table-09.mdx │ │ ├── table-10.mdx │ │ └── table-11.mdx └── lib │ ├── chartUtils.ts │ ├── useOnWindowResize.ts │ ├── useToast.ts │ └── utils.ts ├── tailwind.config.js ├── tsconfig.json └── utils ├── generate-markdown.js └── to-base-64.ts /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | .yarn/install-state.gz 8 | 9 | # testing 10 | /coverage 11 | 12 | # next.js 13 | /.next/ 14 | /out/ 15 | 16 | # production 17 | /build 18 | 19 | # misc 20 | .DS_Store 21 | *.pem 22 | css-obfuscator 23 | 24 | # debug 25 | npm-debug.log* 26 | yarn-debug.log* 27 | yarn-error.log* 28 | 29 | # local env files 30 | .env*.local 31 | 32 | # vercel 33 | .vercel 34 | 35 | # typescript 36 | *.tsbuildinfo 37 | next-env.d.ts 38 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "printWidth": 80, 3 | "singleQuote": true, 4 | "trailingComma": "all", 5 | "importOrder": [ 6 | "^(react/(.*)$)|^(react$)", 7 | "^(next/(.*)$)|^(next$)", 8 | "^(radix/(.*)$)|^(radix$)", 9 | "", 10 | "", 11 | "^types$", 12 | "^@/types/(.*)$", 13 | "^@/config/(.*)$", 14 | "^@/ui/(.*)$", 15 | "^@/app/(.*)$", 16 | "^@/components/ui/(.*)$", 17 | "^@/lib/(.*)$", 18 | "", 19 | "^@/components/(.*)$", 20 | "^@/app/ui/(.*)$", 21 | "", 22 | "^[./]" 23 | ], 24 | "importOrderSeparation": false, 25 | "importOrderSortSpecifiers": true, 26 | "importOrderBuiltinModulesToTop": true, 27 | "importOrderParserPlugins": ["typescript", "jsx", "decorators-legacy"], 28 | "importOrderMergeDuplicateImports": true, 29 | "importOrderCombineTypeAndValueImports": true, 30 | "plugins": [ 31 | "@ianvs/prettier-plugin-sort-imports", 32 | "prettier-plugin-tailwindcss" 33 | ], 34 | "tailwindFunctions": ["cx", "tv"] 35 | } 36 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "tailwindCSS.experimental.classRegex": [ 3 | ["clsx\\(([^)]*)\\)", "[\"'`]([^\"'`]*).*?[\"'`]"], 4 | ["cx\\(([^)]*)\\)", "[\"'`]([^\"'`]*).*?[\"'`]"] 5 | ], 6 | "editor.formatOnSave": true, 7 | "editor.codeActionsOnSave": { 8 | "source.organizeImports": "explicit" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2025 Tremor Labs, Inc. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | This is a [Next.js](https://nextjs.org/) project bootstrapped with 2 | [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app). 3 | 4 | ## Getting Started 5 | 6 | First, run the development server: 7 | 8 | ```bash 9 | npm run dev 10 | # or 11 | yarn dev 12 | # or 13 | pnpm dev 14 | # or 15 | bun dev 16 | ``` 17 | 18 | Open [http://localhost:3000](http://localhost:3000) with your browser to see the 19 | result. 20 | 21 | You can start editing the page by modifying `app/page.tsx`. The page 22 | auto-updates as you edit the file. 23 | 24 | This project uses 25 | [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to 26 | automatically optimize and load Inter, a custom Google Font. 27 | 28 | ## Learn More 29 | 30 | To learn more about Next.js, take a look at the following resources: 31 | 32 | - [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js 33 | features and API. 34 | - [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. 35 | 36 | You can check out 37 | [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your 38 | feedback and contributions are welcome! 39 | 40 | ## Deploy on Vercel 41 | 42 | The easiest way to deploy your Next.js app is to use the 43 | [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) 44 | from the creators of Next.js. 45 | 46 | Check out our 47 | [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more 48 | details. 49 | -------------------------------------------------------------------------------- /next.config.mjs: -------------------------------------------------------------------------------- 1 | const nextConfig = {}; 2 | 3 | export default nextConfig; 4 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "scripts": { 4 | "dev": "next dev", 5 | "start": "next start", 6 | "markdown": "node ./utils/generate-markdown.js ./src/content/components/", 7 | "build": "next build" 8 | }, 9 | "dependencies": { 10 | "@headlessui/tailwindcss": "^0.2.1", 11 | "@ianvs/prettier-plugin-sort-imports": "^4.4.0", 12 | "@internationalized/date": "^3.6.0", 13 | "@radix-ui/react-accordion": "^1.2.2", 14 | "@radix-ui/react-checkbox": "^1.1.3", 15 | "@radix-ui/react-dialog": "^1.1.4", 16 | "@radix-ui/react-dropdown-menu": "^2.1.4", 17 | "@radix-ui/react-hover-card": "^1.1.4", 18 | "@radix-ui/react-icons": "^1.3.2", 19 | "@radix-ui/react-label": "^2.1.1", 20 | "@radix-ui/react-navigation-menu": "^1.2.3", 21 | "@radix-ui/react-popover": "^1.1.4", 22 | "@radix-ui/react-radio-group": "^1.2.2", 23 | "@radix-ui/react-select": "^2.1.4", 24 | "@radix-ui/react-slider": "^1.2.2", 25 | "@radix-ui/react-slot": "^1.1.1", 26 | "@radix-ui/react-switch": "^1.1.2", 27 | "@radix-ui/react-tabs": "^1.1.2", 28 | "@radix-ui/react-toast": "^1.2.4", 29 | "@radix-ui/react-toggle-group": "^1.1.1", 30 | "@radix-ui/react-tooltip": "^1.1.6", 31 | "@react-aria/datepicker": "^3.12.0", 32 | "@react-stately/datepicker": "^3.11.0", 33 | "@remixicon/react": "^4.6.0", 34 | "@tanstack/react-table": "^8.20.6", 35 | "@types/node": "22.10.5", 36 | "@types/react": "18.3.5", 37 | "@types/react-dom": "18.3.0", 38 | "autoprefixer": "^10.4.20", 39 | "clsx": "^2.1.1", 40 | "cobe": "^0.6.3", 41 | "date-fns": "^3.6.0", 42 | "framer-motion": "^11.17.0", 43 | "next": "14.2.23", 44 | "next-mdx-remote": "^4.4.1", 45 | "react": "18.3.1", 46 | "react-countup": "^6.5.3", 47 | "react-day-picker": "^8.10.1", 48 | "react-dom": "18.3.1", 49 | "react-dropzone": "^14.3.5", 50 | "react-wrap-balancer": "^1.1.1", 51 | "recharts": "^2.15.0", 52 | "tailwind-merge": "^2.6.0", 53 | "tailwind-variants": "^0.3.0", 54 | "tailwindcss": "^3.4.17", 55 | "typescript": "5.7.3" 56 | }, 57 | "devDependencies": { 58 | "@tailwindcss/forms": "^0.5.10", 59 | "@tailwindcss/typography": "^0.5.16", 60 | "cross-env": "^7.0.3", 61 | "postcss": "^8.4.49", 62 | "postcss-cli": "^11.0.0", 63 | "prettier": "^3.4.2", 64 | "prettier-plugin-tailwindcss": "^0.6.9" 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /postcss.config.cjs: -------------------------------------------------------------------------------- 1 | // @ts-ignore 2 | module.exports = { 3 | plugins: { 4 | tailwindcss: {}, 5 | autoprefixer: {}, 6 | }, 7 | }; 8 | -------------------------------------------------------------------------------- /public/dot.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /public/fonts/JetBrainsMonoNL-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tremorlabs/tremor-blocks/b319e8d3d3678a4f60f4802f7e85bc1abc52d598/public/fonts/JetBrainsMonoNL-Regular.woff2 -------------------------------------------------------------------------------- /public/fonts/JetBrainsMono[wght].woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tremorlabs/tremor-blocks/b319e8d3d3678a4f60f4802f7e85bc1abc52d598/public/fonts/JetBrainsMono[wght].woff2 -------------------------------------------------------------------------------- /public/next.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/thumbnails/area-charts.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tremorlabs/tremor-blocks/b319e8d3d3678a4f60f4802f7e85bc1abc52d598/public/thumbnails/area-charts.webp -------------------------------------------------------------------------------- /public/thumbnails/badges.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tremorlabs/tremor-blocks/b319e8d3d3678a4f60f4802f7e85bc1abc52d598/public/thumbnails/badges.webp -------------------------------------------------------------------------------- /public/thumbnails/banners.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tremorlabs/tremor-blocks/b319e8d3d3678a4f60f4802f7e85bc1abc52d598/public/thumbnails/banners.webp -------------------------------------------------------------------------------- /public/thumbnails/bar-charts.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tremorlabs/tremor-blocks/b319e8d3d3678a4f60f4802f7e85bc1abc52d598/public/thumbnails/bar-charts.webp -------------------------------------------------------------------------------- /public/thumbnails/bar-lists.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tremorlabs/tremor-blocks/b319e8d3d3678a4f60f4802f7e85bc1abc52d598/public/thumbnails/bar-lists.webp -------------------------------------------------------------------------------- /public/thumbnails/billing-usage.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tremorlabs/tremor-blocks/b319e8d3d3678a4f60f4802f7e85bc1abc52d598/public/thumbnails/billing-usage.webp -------------------------------------------------------------------------------- /public/thumbnails/chart-compositions.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tremorlabs/tremor-blocks/b319e8d3d3678a4f60f4802f7e85bc1abc52d598/public/thumbnails/chart-compositions.webp -------------------------------------------------------------------------------- /public/thumbnails/chart-tooltips.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tremorlabs/tremor-blocks/b319e8d3d3678a4f60f4802f7e85bc1abc52d598/public/thumbnails/chart-tooltips.webp -------------------------------------------------------------------------------- /public/thumbnails/dialogs.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tremorlabs/tremor-blocks/b319e8d3d3678a4f60f4802f7e85bc1abc52d598/public/thumbnails/dialogs.webp -------------------------------------------------------------------------------- /public/thumbnails/donut-charts.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tremorlabs/tremor-blocks/b319e8d3d3678a4f60f4802f7e85bc1abc52d598/public/thumbnails/donut-charts.webp -------------------------------------------------------------------------------- /public/thumbnails/empty-states.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tremorlabs/tremor-blocks/b319e8d3d3678a4f60f4802f7e85bc1abc52d598/public/thumbnails/empty-states.webp -------------------------------------------------------------------------------- /public/thumbnails/feature-sections.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tremorlabs/tremor-blocks/b319e8d3d3678a4f60f4802f7e85bc1abc52d598/public/thumbnails/feature-sections.webp -------------------------------------------------------------------------------- /public/thumbnails/file-upload.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tremorlabs/tremor-blocks/b319e8d3d3678a4f60f4802f7e85bc1abc52d598/public/thumbnails/file-upload.webp -------------------------------------------------------------------------------- /public/thumbnails/filterbar.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tremorlabs/tremor-blocks/b319e8d3d3678a4f60f4802f7e85bc1abc52d598/public/thumbnails/filterbar.webp -------------------------------------------------------------------------------- /public/thumbnails/form-layouts.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tremorlabs/tremor-blocks/b319e8d3d3678a4f60f4802f7e85bc1abc52d598/public/thumbnails/form-layouts.webp -------------------------------------------------------------------------------- /public/thumbnails/grid-lists.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tremorlabs/tremor-blocks/b319e8d3d3678a4f60f4802f7e85bc1abc52d598/public/thumbnails/grid-lists.webp -------------------------------------------------------------------------------- /public/thumbnails/kpi-cards.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tremorlabs/tremor-blocks/b319e8d3d3678a4f60f4802f7e85bc1abc52d598/public/thumbnails/kpi-cards.webp -------------------------------------------------------------------------------- /public/thumbnails/line-charts.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tremorlabs/tremor-blocks/b319e8d3d3678a4f60f4802f7e85bc1abc52d598/public/thumbnails/line-charts.webp -------------------------------------------------------------------------------- /public/thumbnails/logins.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tremorlabs/tremor-blocks/b319e8d3d3678a4f60f4802f7e85bc1abc52d598/public/thumbnails/logins.webp -------------------------------------------------------------------------------- /public/thumbnails/navigations.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tremorlabs/tremor-blocks/b319e8d3d3678a4f60f4802f7e85bc1abc52d598/public/thumbnails/navigations.webp -------------------------------------------------------------------------------- /public/thumbnails/onboarding-feed.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tremorlabs/tremor-blocks/b319e8d3d3678a4f60f4802f7e85bc1abc52d598/public/thumbnails/onboarding-feed.webp -------------------------------------------------------------------------------- /public/thumbnails/page-shells.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tremorlabs/tremor-blocks/b319e8d3d3678a4f60f4802f7e85bc1abc52d598/public/thumbnails/page-shells.webp -------------------------------------------------------------------------------- /public/thumbnails/pricing-sections.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tremorlabs/tremor-blocks/b319e8d3d3678a4f60f4802f7e85bc1abc52d598/public/thumbnails/pricing-sections.webp -------------------------------------------------------------------------------- /public/thumbnails/spark-charts.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tremorlabs/tremor-blocks/b319e8d3d3678a4f60f4802f7e85bc1abc52d598/public/thumbnails/spark-charts.webp -------------------------------------------------------------------------------- /public/thumbnails/status-monitoring.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tremorlabs/tremor-blocks/b319e8d3d3678a4f60f4802f7e85bc1abc52d598/public/thumbnails/status-monitoring.webp -------------------------------------------------------------------------------- /public/thumbnails/table-action.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tremorlabs/tremor-blocks/b319e8d3d3678a4f60f4802f7e85bc1abc52d598/public/thumbnails/table-action.webp -------------------------------------------------------------------------------- /public/thumbnails/table-pagination.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tremorlabs/tremor-blocks/b319e8d3d3678a4f60f4802f7e85bc1abc52d598/public/thumbnails/table-pagination.webp -------------------------------------------------------------------------------- /public/thumbnails/tables.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tremorlabs/tremor-blocks/b319e8d3d3678a4f60f4802f7e85bc1abc52d598/public/thumbnails/tables.webp -------------------------------------------------------------------------------- /public/thumbnails/user-management.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tremorlabs/tremor-blocks/b319e8d3d3678a4f60f4802f7e85bc1abc52d598/public/thumbnails/user-management.webp -------------------------------------------------------------------------------- /src/app/(with-app-shell)/blocks/[blocksCategory]/loading.tsx: -------------------------------------------------------------------------------- 1 | import { Container } from '@/app/ui/container'; 2 | 3 | export default async function Loading() { 4 | return ( 5 | 6 |
7 |

8 |
9 |
10 |
11 | {Array.from({ length: 3 }, (_, index) => ( 12 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 | ))} 27 |
28 | 29 | ); 30 | } 31 | -------------------------------------------------------------------------------- /src/app/(with-app-shell)/blocks/[blocksCategory]/page.tsx: -------------------------------------------------------------------------------- 1 | import { notFound } from 'next/navigation'; 2 | 3 | import { getBlocks } from '@/app/db/blocks'; 4 | import Block from '@/app/ui/block'; 5 | import { Container } from '@/app/ui/container'; 6 | import { CustomMDX } from '@/app/ui/mdx'; 7 | 8 | export default async function Page({ 9 | params: { blocksCategory }, 10 | }: { 11 | params: { blocksCategory: string }; 12 | }) { 13 | const blocks = getBlocks({ 14 | blocksCategory, 15 | }); 16 | 17 | if (!blocks) { 18 | notFound(); 19 | } 20 | 21 | return ( 22 | 23 |
24 | 25 | Tremor Blocks 26 | 27 |

28 | {blocks.name} 29 |

30 |
31 |
35 | {blocks.blocksData?.map((block: any) => ( 36 | 41 | } 42 | blocksId={block.blocksId} 43 | blocksCategory={block.blocksCategory} 44 | /> 45 | ))} 46 |
47 |
48 | ); 49 | } 50 | -------------------------------------------------------------------------------- /src/app/(with-app-shell)/layout.tsx: -------------------------------------------------------------------------------- 1 | import { PropsWithChildren } from 'react'; 2 | 3 | import Footer from '../ui/footer'; 4 | import { SiteHeader } from '../ui/site-header'; 5 | 6 | export default function MarketingLayout({ children }: PropsWithChildren) { 7 | return ( 8 | <> 9 | 10 | {children} 11 |