@vamos-ui/react 0.0.0-stage → 0.2.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/LICENSE +21 -0
- package/README.md +27 -2
- package/dist/blocks/block-heading.d.ts +29 -0
- package/dist/blocks/block-heading.js +39 -0
- package/dist/blocks/block-image.d.ts +52 -0
- package/dist/blocks/block-image.js +48 -0
- package/dist/blocks/block-link.d.ts +30 -0
- package/dist/blocks/block-link.js +36 -0
- package/dist/blocks/create-blocks.d.ts +54 -0
- package/dist/blocks/create-blocks.js +52 -0
- package/dist/blocks/index.d.ts +55 -0
- package/dist/blocks/index.js +59 -0
- package/dist/blocks/json-ld.d.ts +18 -0
- package/dist/blocks/json-ld.js +44 -0
- package/dist/blocks/labels.d.ts +20 -0
- package/dist/blocks/labels.js +43 -0
- package/dist/blocks/rich-text.d.ts +36 -0
- package/dist/blocks/rich-text.js +106 -0
- package/dist/blocks/schema/define-block.d.ts +151 -0
- package/dist/blocks/schema/define-block.js +120 -0
- package/dist/blocks/schema/emphasis.d.ts +17 -0
- package/dist/blocks/schema/emphasis.js +69 -0
- package/dist/blocks/schema/fields.d.ts +497 -0
- package/dist/blocks/schema/fields.js +240 -0
- package/dist/blocks/schema/icons.d.ts +2 -0
- package/dist/blocks/schema/icons.js +26 -0
- package/dist/blocks/schema/index.d.ts +18 -0
- package/dist/blocks/schema/index.js +21 -0
- package/dist/blocks/schema/lint-types.d.ts +16 -0
- package/dist/blocks/schema/lint-types.js +2 -0
- package/dist/blocks/schema/lint.d.ts +32 -0
- package/dist/blocks/schema/lint.js +164 -0
- package/dist/blocks/schema/localize.d.ts +20 -0
- package/dist/blocks/schema/localize.js +29 -0
- package/dist/blocks/schema/localized.d.ts +25 -0
- package/dist/blocks/schema/localized.js +53 -0
- package/dist/blocks/schema/migrate.d.ts +24 -0
- package/dist/blocks/schema/migrate.js +75 -0
- package/dist/blocks/schema/nodes.d.ts +196 -0
- package/dist/blocks/schema/nodes.js +78 -0
- package/dist/blocks/schema/rich-doc-schema.d.ts +32 -0
- package/dist/blocks/schema/rich-doc-schema.js +66 -0
- package/dist/blocks/schema/rich-doc.d.ts +90 -0
- package/dist/blocks/schema/rich-doc.js +62 -0
- package/dist/blocks/schema/safety.d.ts +20 -0
- package/dist/blocks/schema/safety.js +49 -0
- package/dist/blocks/schema/types.d.ts +172 -0
- package/dist/blocks/schema/types.js +3 -0
- package/dist/blocks/schema/validate.d.ts +17 -0
- package/dist/blocks/schema/validate.js +32 -0
- package/dist/blocks/schema/walk.d.ts +22 -0
- package/dist/blocks/schema/walk.js +60 -0
- package/dist/blocks/section-header.d.ts +38 -0
- package/dist/blocks/section-header.js +22 -0
- package/dist/blocks/section.d.ts +59 -0
- package/dist/blocks/section.js +66 -0
- package/dist/blocks/site/_kit-1.d.ts +100 -0
- package/dist/blocks/site/_kit-1.js +135 -0
- package/dist/blocks/site/_site-icon-1.d.ts +6 -0
- package/dist/blocks/site/_site-icon-1.js +15 -0
- package/dist/blocks/site/announcement-bar.d.ts +42 -0
- package/dist/blocks/site/announcement-bar.js +38 -0
- package/dist/blocks/site/announcement-dismiss.d.ts +18 -0
- package/dist/blocks/site/announcement-dismiss.js +28 -0
- package/dist/blocks/site/article-layout.d.ts +65 -0
- package/dist/blocks/site/article-layout.js +88 -0
- package/dist/blocks/site/blog-list.d.ts +79 -0
- package/dist/blocks/site/blog-list.js +78 -0
- package/dist/blocks/site/comparison-table.d.ts +54 -0
- package/dist/blocks/site/comparison-table.js +38 -0
- package/dist/blocks/site/consent-banner.d.ts +52 -0
- package/dist/blocks/site/consent-banner.js +33 -0
- package/dist/blocks/site/contact-dock.d.ts +52 -0
- package/dist/blocks/site/contact-dock.js +55 -0
- package/dist/blocks/site/contact-form.d.ts +60 -0
- package/dist/blocks/site/contact-form.js +45 -0
- package/dist/blocks/site/cta-booking.d.ts +43 -0
- package/dist/blocks/site/cta-booking.js +69 -0
- package/dist/blocks/site/cta.d.ts +74 -0
- package/dist/blocks/site/cta.js +112 -0
- package/dist/blocks/site/embed-facade.d.ts +20 -0
- package/dist/blocks/site/embed-facade.js +21 -0
- package/dist/blocks/site/faq.d.ts +48 -0
- package/dist/blocks/site/faq.js +51 -0
- package/dist/blocks/site/feature-grid.d.ts +46 -0
- package/dist/blocks/site/feature-grid.js +49 -0
- package/dist/blocks/site/feature-tabs.d.ts +22 -0
- package/dist/blocks/site/feature-tabs.js +11 -0
- package/dist/blocks/site/footer.d.ts +68 -0
- package/dist/blocks/site/footer.js +61 -0
- package/dist/blocks/site/gallery-section.d.ts +42 -0
- package/dist/blocks/site/gallery-section.js +47 -0
- package/dist/blocks/site/hero-video.d.ts +15 -0
- package/dist/blocks/site/hero-video.js +31 -0
- package/dist/blocks/site/hero.d.ts +64 -0
- package/dist/blocks/site/hero.js +67 -0
- package/dist/blocks/site/logo-strip.d.ts +42 -0
- package/dist/blocks/site/logo-strip.js +26 -0
- package/dist/blocks/site/map-hours.d.ts +83 -0
- package/dist/blocks/site/map-hours.js +125 -0
- package/dist/blocks/site/media-text.d.ts +45 -0
- package/dist/blocks/site/media-text.js +55 -0
- package/dist/blocks/site/menu-list.d.ts +74 -0
- package/dist/blocks/site/menu-list.js +84 -0
- package/dist/blocks/site/navbar-submenu.d.ts +18 -0
- package/dist/blocks/site/navbar-submenu.js +51 -0
- package/dist/blocks/site/navbar.d.ts +67 -0
- package/dist/blocks/site/navbar.js +64 -0
- package/dist/blocks/site/not-found.d.ts +40 -0
- package/dist/blocks/site/not-found.js +38 -0
- package/dist/blocks/site/page-intro.d.ts +46 -0
- package/dist/blocks/site/page-intro.js +44 -0
- package/dist/blocks/site/pricing-table.d.ts +67 -0
- package/dist/blocks/site/pricing-table.js +82 -0
- package/dist/blocks/site/process.d.ts +36 -0
- package/dist/blocks/site/process.js +41 -0
- package/dist/blocks/site/registry-1.d.ts +720 -0
- package/dist/blocks/site/registry-1.js +783 -0
- package/dist/blocks/site/registry-2.d.ts +914 -0
- package/dist/blocks/site/registry-2.js +563 -0
- package/dist/blocks/site/rich-text-section.d.ts +34 -0
- package/dist/blocks/site/rich-text-section.js +32 -0
- package/dist/blocks/site/shared/brand-icons.d.ts +21 -0
- package/dist/blocks/site/shared/brand-icons.js +56 -0
- package/dist/blocks/site/shared/consent-gate.d.ts +41 -0
- package/dist/blocks/site/shared/consent-gate.js +43 -0
- package/dist/blocks/site/shared/consent-island.d.ts +38 -0
- package/dist/blocks/site/shared/consent-island.js +63 -0
- package/dist/blocks/site/shared/consent.d.ts +49 -0
- package/dist/blocks/site/shared/consent.js +130 -0
- package/dist/blocks/site/shared/contact-form-island.d.ts +41 -0
- package/dist/blocks/site/shared/contact-form-island.js +100 -0
- package/dist/blocks/site/shared/copy-link.d.ts +10 -0
- package/dist/blocks/site/shared/copy-link.js +25 -0
- package/dist/blocks/site/shared/dock-avoid.d.ts +15 -0
- package/dist/blocks/site/shared/dock-avoid.js +107 -0
- package/dist/blocks/site/shared/dock-hours.d.ts +13 -0
- package/dist/blocks/site/shared/dock-hours.js +25 -0
- package/dist/blocks/site/shared/gallery-lightbox.d.ts +12 -0
- package/dist/blocks/site/shared/gallery-lightbox.js +10 -0
- package/dist/blocks/site/shared/island-keys.d.ts +10 -0
- package/dist/blocks/site/shared/island-keys.js +44 -0
- package/dist/blocks/site/shared/kit-2.d.ts +55 -0
- package/dist/blocks/site/shared/kit-2.js +84 -0
- package/dist/blocks/site/shared/labels-2.d.ts +209 -0
- package/dist/blocks/site/shared/labels-2.js +427 -0
- package/dist/blocks/site/shared/open-now.d.ts +22 -0
- package/dist/blocks/site/shared/open-now.js +27 -0
- package/dist/blocks/site/shared/opening-hours.d.ts +117 -0
- package/dist/blocks/site/shared/opening-hours.js +245 -0
- package/dist/blocks/site/shared/site-accent.d.ts +48 -0
- package/dist/blocks/site/shared/site-accent.js +249 -0
- package/dist/blocks/site/shared/site-form.d.ts +79 -0
- package/dist/blocks/site/shared/site-form.js +111 -0
- package/dist/blocks/site/shared/site-routing.d.ts +54 -0
- package/dist/blocks/site/shared/site-routing.js +86 -0
- package/dist/blocks/site/shared/testimonials-carousel.d.ts +17 -0
- package/dist/blocks/site/shared/testimonials-carousel.js +64 -0
- package/dist/blocks/site/site-shell.d.ts +97 -0
- package/dist/blocks/site/site-shell.js +227 -0
- package/dist/blocks/site/stats-band.d.ts +40 -0
- package/dist/blocks/site/stats-band.js +41 -0
- package/dist/blocks/site/team.d.ts +44 -0
- package/dist/blocks/site/team.js +48 -0
- package/dist/blocks/site/testimonials.d.ts +68 -0
- package/dist/blocks/site/testimonials.js +65 -0
- package/dist/blocks/types.d.ts +63 -0
- package/dist/blocks/types.js +2 -0
- package/dist/business/approval-flow.d.ts +152 -0
- package/dist/business/approval-flow.js +221 -0
- package/dist/business/export-core.d.ts +55 -0
- package/dist/business/export-core.js +101 -0
- package/dist/business/export.d.ts +148 -0
- package/dist/business/export.js +264 -0
- package/dist/business/import-core.d.ts +104 -0
- package/dist/business/import-core.js +281 -0
- package/dist/business/import-wizard.d.ts +186 -0
- package/dist/business/import-wizard.js +401 -0
- package/dist/business/index.d.ts +11 -0
- package/dist/business/index.js +20 -0
- package/dist/business/line-items-core.d.ts +129 -0
- package/dist/business/line-items-core.js +183 -0
- package/dist/business/line-items.d.ts +119 -0
- package/dist/business/line-items.js +299 -0
- package/dist/business/multi-step-form.d.ts +131 -0
- package/dist/business/multi-step-form.js +337 -0
- package/dist/business/permission-core.d.ts +59 -0
- package/dist/business/permission-core.js +99 -0
- package/dist/business/permission-matrix.d.ts +158 -0
- package/dist/business/permission-matrix.js +341 -0
- package/dist/business/setup-checklist.d.ts +80 -0
- package/dist/business/setup-checklist.js +92 -0
- package/dist/charts/area-chart.d.ts +35 -0
- package/dist/charts/area-chart.js +33 -0
- package/dist/charts/bar-chart.d.ts +27 -0
- package/dist/charts/bar-chart.js +42 -0
- package/dist/charts/bar-list.d.ts +47 -0
- package/dist/charts/bar-list.js +60 -0
- package/dist/charts/chart-shell.d.ts +173 -0
- package/dist/charts/chart-shell.js +205 -0
- package/dist/charts/chart.d.ts +73 -0
- package/dist/charts/chart.js +106 -0
- package/dist/charts/combo-chart.d.ts +29 -0
- package/dist/charts/combo-chart.js +47 -0
- package/dist/charts/donut-chart.d.ts +33 -0
- package/dist/charts/donut-chart.js +113 -0
- package/dist/charts/funnel.d.ts +51 -0
- package/dist/charts/funnel.js +69 -0
- package/dist/charts/gauge.d.ts +62 -0
- package/dist/charts/gauge.js +104 -0
- package/dist/charts/heatmap.d.ts +81 -0
- package/dist/charts/heatmap.js +338 -0
- package/dist/charts/index.d.ts +12 -0
- package/dist/charts/index.js +14 -0
- package/dist/charts/line-chart.d.ts +21 -0
- package/dist/charts/line-chart.js +36 -0
- package/dist/charts/test-utils.d.ts +2 -0
- package/dist/charts/test-utils.js +38 -0
- package/dist/charts/utils.d.ts +130 -0
- package/dist/charts/utils.js +262 -0
- package/dist/components/accordion.d.ts +47 -0
- package/dist/components/accordion.js +70 -0
- package/dist/components/activity-timeline.d.ts +149 -0
- package/dist/components/activity-timeline.js +122 -0
- package/dist/components/address-field.d.ts +116 -0
- package/dist/components/address-field.js +219 -0
- package/dist/components/alert-dialog.d.ts +99 -0
- package/dist/components/alert-dialog.js +192 -0
- package/dist/components/alert.d.ts +42 -0
- package/dist/components/alert.js +82 -0
- package/dist/components/app-shell.d.ts +159 -0
- package/dist/components/app-shell.js +289 -0
- package/dist/components/attachment-list.d.ts +96 -0
- package/dist/components/attachment-list.js +196 -0
- package/dist/components/audit-log.d.ts +150 -0
- package/dist/components/audit-log.js +205 -0
- package/dist/components/avatar.d.ts +87 -0
- package/dist/components/avatar.js +126 -0
- package/dist/components/badge.d.ts +41 -0
- package/dist/components/badge.js +68 -0
- package/dist/components/breadcrumb.d.ts +78 -0
- package/dist/components/breadcrumb.js +106 -0
- package/dist/components/button-group.d.ts +52 -0
- package/dist/components/button-group.js +77 -0
- package/dist/components/button.d.ts +58 -0
- package/dist/components/button.js +107 -0
- package/dist/components/calendar.d.ts +240 -0
- package/dist/components/calendar.js +483 -0
- package/dist/components/card.d.ts +66 -0
- package/dist/components/card.js +76 -0
- package/dist/components/carousel.d.ts +170 -0
- package/dist/components/carousel.js +348 -0
- package/dist/components/checkbox.d.ts +78 -0
- package/dist/components/checkbox.js +138 -0
- package/dist/components/color-picker.d.ts +112 -0
- package/dist/components/color-picker.js +235 -0
- package/dist/components/combobox.d.ts +136 -0
- package/dist/components/combobox.js +294 -0
- package/dist/components/command.d.ts +275 -0
- package/dist/components/command.js +493 -0
- package/dist/components/comment-thread.d.ts +252 -0
- package/dist/components/comment-thread.js +449 -0
- package/dist/components/context-menu.d.ts +77 -0
- package/dist/components/context-menu.js +82 -0
- package/dist/components/currency-input.d.ts +43 -0
- package/dist/components/currency-input.js +85 -0
- package/dist/components/date-picker.d.ts +141 -0
- package/dist/components/date-picker.js +241 -0
- package/dist/components/date-range-picker.d.ts +91 -0
- package/dist/components/date-range-picker.js +251 -0
- package/dist/components/description-list.d.ts +92 -0
- package/dist/components/description-list.js +42 -0
- package/dist/components/dialog.d.ts +139 -0
- package/dist/components/dialog.js +185 -0
- package/dist/components/dropdown-menu.d.ts +100 -0
- package/dist/components/dropdown-menu.js +102 -0
- package/dist/components/editor-layout.d.ts +166 -0
- package/dist/components/editor-layout.js +237 -0
- package/dist/components/empty-state.d.ts +49 -0
- package/dist/components/empty-state.js +68 -0
- package/dist/components/entity-card.d.ts +83 -0
- package/dist/components/entity-card.js +92 -0
- package/dist/components/file-upload.d.ts +256 -0
- package/dist/components/file-upload.js +490 -0
- package/dist/components/formatted-input.d.ts +177 -0
- package/dist/components/formatted-input.js +399 -0
- package/dist/components/hierarchy-chart.d.ts +190 -0
- package/dist/components/hierarchy-chart.js +890 -0
- package/dist/components/hover-card.d.ts +21 -0
- package/dist/components/hover-card.js +32 -0
- package/dist/components/iban-input.d.ts +38 -0
- package/dist/components/iban-input.js +112 -0
- package/dist/components/id-input.d.ts +65 -0
- package/dist/components/id-input.js +130 -0
- package/dist/components/image.d.ts +130 -0
- package/dist/components/image.js +168 -0
- package/dist/components/input-otp.d.ts +62 -0
- package/dist/components/input-otp.js +73 -0
- package/dist/components/input.d.ts +141 -0
- package/dist/components/input.js +187 -0
- package/dist/components/item.d.ts +96 -0
- package/dist/components/item.js +113 -0
- package/dist/components/kbd.d.ts +64 -0
- package/dist/components/kbd.js +119 -0
- package/dist/components/list-layout.d.ts +144 -0
- package/dist/components/list-layout.js +210 -0
- package/dist/components/native-select.d.ts +33 -0
- package/dist/components/native-select.js +48 -0
- package/dist/components/navigation-menu.d.ts +127 -0
- package/dist/components/navigation-menu.js +129 -0
- package/dist/components/notification-center.d.ts +164 -0
- package/dist/components/notification-center.js +399 -0
- package/dist/components/page-header.d.ts +60 -0
- package/dist/components/page-header.js +60 -0
- package/dist/components/pagination.d.ts +121 -0
- package/dist/components/pagination.js +174 -0
- package/dist/components/phone-input.d.ts +49 -0
- package/dist/components/phone-input.js +266 -0
- package/dist/components/popover.d.ts +38 -0
- package/dist/components/popover.js +69 -0
- package/dist/components/progress.d.ts +79 -0
- package/dist/components/progress.js +97 -0
- package/dist/components/radio-group.d.ts +43 -0
- package/dist/components/radio-group.js +81 -0
- package/dist/components/record-detail-layout.d.ts +167 -0
- package/dist/components/record-detail-layout.js +233 -0
- package/dist/components/record-picker.d.ts +199 -0
- package/dist/components/record-picker.js +650 -0
- package/dist/components/resizable.d.ts +50 -0
- package/dist/components/resizable.js +88 -0
- package/dist/components/scroll-area.d.ts +40 -0
- package/dist/components/scroll-area.js +56 -0
- package/dist/components/select.d.ts +126 -0
- package/dist/components/select.js +137 -0
- package/dist/components/separator.d.ts +31 -0
- package/dist/components/separator.js +41 -0
- package/dist/components/settings-layout.d.ts +134 -0
- package/dist/components/settings-layout.js +180 -0
- package/dist/components/sheet.d.ts +103 -0
- package/dist/components/sheet.js +165 -0
- package/dist/components/sidebar.d.ts +171 -0
- package/dist/components/sidebar.js +421 -0
- package/dist/components/signature-pad.d.ts +85 -0
- package/dist/components/signature-pad.js +283 -0
- package/dist/components/skeleton.d.ts +64 -0
- package/dist/components/skeleton.js +53 -0
- package/dist/components/slider.d.ts +57 -0
- package/dist/components/slider.js +133 -0
- package/dist/components/slug-input.d.ts +69 -0
- package/dist/components/slug-input.js +201 -0
- package/dist/components/sparkline.d.ts +54 -0
- package/dist/components/sparkline.js +122 -0
- package/dist/components/spinner.d.ts +34 -0
- package/dist/components/spinner.js +34 -0
- package/dist/components/stat.d.ts +135 -0
- package/dist/components/stat.js +130 -0
- package/dist/components/status-picker.d.ts +107 -0
- package/dist/components/status-picker.js +175 -0
- package/dist/components/stepper.d.ts +86 -0
- package/dist/components/stepper.js +103 -0
- package/dist/components/switch.d.ts +34 -0
- package/dist/components/switch.js +70 -0
- package/dist/components/table.d.ts +101 -0
- package/dist/components/table.js +72 -0
- package/dist/components/tabs.d.ts +103 -0
- package/dist/components/tabs.js +173 -0
- package/dist/components/tag-input.d.ts +77 -0
- package/dist/components/tag-input.js +305 -0
- package/dist/components/task-list.d.ts +89 -0
- package/dist/components/task-list.js +238 -0
- package/dist/components/time-picker.d.ts +119 -0
- package/dist/components/time-picker.js +399 -0
- package/dist/components/toast.d.ts +87 -0
- package/dist/components/toast.js +142 -0
- package/dist/components/toggle.d.ts +77 -0
- package/dist/components/toggle.js +109 -0
- package/dist/components/tooltip.d.ts +69 -0
- package/dist/components/tooltip.js +105 -0
- package/dist/components/top-bar.d.ts +87 -0
- package/dist/components/top-bar.js +99 -0
- package/dist/components/tree-select.d.ts +89 -0
- package/dist/components/tree-select.js +243 -0
- package/dist/components/tree-view.d.ts +109 -0
- package/dist/components/tree-view.js +170 -0
- package/dist/components/typography.d.ts +107 -0
- package/dist/components/typography.js +128 -0
- package/dist/components/user-picker.d.ts +89 -0
- package/dist/components/user-picker.js +162 -0
- package/dist/components/version-history.d.ts +191 -0
- package/dist/components/version-history.js +431 -0
- package/dist/data-table/csv.d.ts +27 -0
- package/dist/data-table/csv.js +68 -0
- package/dist/data-table/data-table.d.ts +423 -0
- package/dist/data-table/data-table.js +1259 -0
- package/dist/data-table/filter-bar.d.ts +146 -0
- package/dist/data-table/filter-bar.js +569 -0
- package/dist/data-table/filter-fns.d.ts +65 -0
- package/dist/data-table/filter-fns.js +382 -0
- package/dist/data-table/index.d.ts +8 -0
- package/dist/data-table/index.js +9 -0
- package/dist/data-table/saved-views.d.ts +100 -0
- package/dist/data-table/saved-views.js +251 -0
- package/dist/data-table/types.d.ts +168 -0
- package/dist/data-table/types.js +87 -0
- package/dist/data-table/url-state.d.ts +94 -0
- package/dist/data-table/url-state.js +303 -0
- package/dist/data-table/view-state.d.ts +16 -0
- package/dist/data-table/view-state.js +81 -0
- package/dist/editor/_test-setup.d.ts +1 -0
- package/dist/editor/_test-setup.js +33 -0
- package/dist/editor/block-editor.d.ts +137 -0
- package/dist/editor/block-editor.js +280 -0
- package/dist/editor/commands.d.ts +31 -0
- package/dist/editor/commands.js +150 -0
- package/dist/editor/context.d.ts +108 -0
- package/dist/editor/context.js +30 -0
- package/dist/editor/convert.d.ts +66 -0
- package/dist/editor/convert.js +567 -0
- package/dist/editor/drag-handle.d.ts +10 -0
- package/dist/editor/drag-handle.js +69 -0
- package/dist/editor/extensions.d.ts +34 -0
- package/dist/editor/extensions.js +239 -0
- package/dist/editor/index.d.ts +14 -0
- package/dist/editor/index.js +17 -0
- package/dist/editor/inserter.d.ts +12 -0
- package/dist/editor/inserter.js +88 -0
- package/dist/editor/inspector.d.ts +17 -0
- package/dist/editor/inspector.js +65 -0
- package/dist/editor/items.d.ts +62 -0
- package/dist/editor/items.js +195 -0
- package/dist/editor/labels.d.ts +119 -0
- package/dist/editor/labels.js +130 -0
- package/dist/editor/markdown.d.ts +14 -0
- package/dist/editor/markdown.js +209 -0
- package/dist/editor/menus.d.ts +20 -0
- package/dist/editor/menus.js +236 -0
- package/dist/editor/nodes.d.ts +14 -0
- package/dist/editor/nodes.js +201 -0
- package/dist/editor/outline.d.ts +11 -0
- package/dist/editor/outline.js +52 -0
- package/dist/editor/schema-form.d.ts +64 -0
- package/dist/editor/schema-form.js +290 -0
- package/dist/editor/slash-menu.d.ts +15 -0
- package/dist/editor/slash-menu.js +119 -0
- package/dist/fonts/catalog.d.ts +53 -0
- package/dist/fonts/catalog.js +121 -0
- package/dist/fonts/font-picker.d.ts +70 -0
- package/dist/fonts/font-picker.js +225 -0
- package/dist/fonts/index.d.ts +6 -0
- package/dist/fonts/index.js +7 -0
- package/dist/fonts/loader.d.ts +66 -0
- package/dist/fonts/loader.js +161 -0
- package/dist/fonts/pairing-picker.d.ts +31 -0
- package/dist/fonts/pairing-picker.js +81 -0
- package/dist/fonts/pairings.d.ts +84 -0
- package/dist/fonts/pairings.js +149 -0
- package/dist/fonts/provider.d.ts +34 -0
- package/dist/fonts/provider.js +51 -0
- package/dist/form/index.d.ts +1 -0
- package/dist/form/index.js +1 -0
- package/dist/format/core.d.ts +149 -0
- package/dist/format/core.js +357 -0
- package/dist/format/index.d.ts +4 -0
- package/dist/format/index.js +5 -0
- package/dist/format/use-format.d.ts +1 -0
- package/dist/format/use-format.js +3 -0
- package/dist/index.d.ts +86 -0
- package/dist/index.js +87 -0
- package/dist/lib/cn.d.ts +3 -0
- package/dist/lib/cn.js +16 -0
- package/dist/lib/color.d.ts +64 -0
- package/dist/lib/color.js +177 -0
- package/dist/lib/compose-refs.d.ts +24 -0
- package/dist/lib/compose-refs.js +45 -0
- package/dist/lib/data-islands.d.ts +194 -0
- package/dist/lib/data-islands.js +368 -0
- package/dist/lib/date.d.ts +129 -0
- package/dist/lib/date.js +386 -0
- package/dist/lib/field-context.d.ts +64 -0
- package/dist/lib/field-context.js +62 -0
- package/dist/lib/floating-arrow.d.ts +18 -0
- package/dist/lib/floating-arrow.js +15 -0
- package/dist/lib/islands.d.ts +38 -0
- package/dist/lib/islands.js +40 -0
- package/dist/lib/labels.d.ts +51 -0
- package/dist/lib/labels.js +56 -0
- package/dist/lib/layer.d.ts +36 -0
- package/dist/lib/layer.js +42 -0
- package/dist/lib/locale.d.ts +85 -0
- package/dist/lib/locale.js +105 -0
- package/dist/lib/menu.d.ts +58 -0
- package/dist/lib/menu.js +99 -0
- package/dist/lib/message-format.d.ts +20 -0
- package/dist/lib/message-format.js +116 -0
- package/dist/lib/nav.d.ts +132 -0
- package/dist/lib/nav.js +178 -0
- package/dist/lib/provider.d.ts +100 -0
- package/dist/lib/provider.js +105 -0
- package/dist/lib/public.d.ts +22 -0
- package/dist/lib/public.js +33 -0
- package/dist/lib/sr-name.d.ts +18 -0
- package/dist/lib/sr-name.js +17 -0
- package/dist/lib/text.d.ts +100 -0
- package/dist/lib/text.js +233 -0
- package/dist/lib/theme-scope.d.ts +58 -0
- package/dist/lib/theme-scope.js +59 -0
- package/dist/lib/use-async-list.d.ts +60 -0
- package/dist/lib/use-async-list.js +119 -0
- package/dist/lib/use-container-width.d.ts +19 -0
- package/dist/lib/use-container-width.js +39 -0
- package/dist/lib/use-controllable-state.d.ts +33 -0
- package/dist/lib/use-controllable-state.js +56 -0
- package/dist/lib/use-edge-fade.d.ts +13 -0
- package/dist/lib/use-edge-fade.js +43 -0
- package/dist/lib/use-formatted-input.d.ts +69 -0
- package/dist/lib/use-formatted-input.js +152 -0
- package/dist/lib/use-hotkeys.d.ts +80 -0
- package/dist/lib/use-hotkeys.js +221 -0
- package/dist/lib/use-hover-intent.d.ts +44 -0
- package/dist/lib/use-hover-intent.js +119 -0
- package/dist/lib/use-media-query.d.ts +21 -0
- package/dist/lib/use-media-query.js +28 -0
- package/dist/lib/use-reduced-motion.d.ts +8 -0
- package/dist/lib/use-reduced-motion.js +13 -0
- package/dist/lib/use-tree.d.ts +153 -0
- package/dist/lib/use-tree.js +534 -0
- package/dist/lib/value-format.d.ts +25 -0
- package/dist/lib/value-format.js +56 -0
- package/dist/lib/variants.d.ts +131 -0
- package/dist/lib/variants.js +109 -0
- package/dist/locale-data/core/date.d.ts +24 -0
- package/dist/locale-data/core/date.js +68 -0
- package/dist/locale-data/core/decimal.d.ts +19 -0
- package/dist/locale-data/core/decimal.js +79 -0
- package/dist/locale-data/core/holidays.d.ts +30 -0
- package/dist/locale-data/core/holidays.js +79 -0
- package/dist/locale-data/core/iban.d.ts +29 -0
- package/dist/locale-data/core/iban.js +74 -0
- package/dist/locale-data/core/index.d.ts +7 -0
- package/dist/locale-data/core/index.js +6 -0
- package/dist/locale-data/core/types.d.ts +173 -0
- package/dist/locale-data/core/types.js +6 -0
- package/dist/locale-data/core/week-info.d.ts +23 -0
- package/dist/locale-data/core/week-info.js +85 -0
- package/dist/locale-data/core/working-days.d.ts +27 -0
- package/dist/locale-data/core/working-days.js +133 -0
- package/dist/locale-data/index.d.ts +2 -0
- package/dist/locale-data/index.js +4 -0
- package/dist/locale-data/tr/address-tr.json +1 -0
- package/dist/locale-data/tr/address.d.ts +23 -0
- package/dist/locale-data/tr/address.js +52 -0
- package/dist/locale-data/tr/holidays.d.ts +31 -0
- package/dist/locale-data/tr/holidays.js +81 -0
- package/dist/locale-data/tr/iban.d.ts +21 -0
- package/dist/locale-data/tr/iban.js +45 -0
- package/dist/locale-data/tr/id.d.ts +36 -0
- package/dist/locale-data/tr/id.js +120 -0
- package/dist/locale-data/tr/index.d.ts +12 -0
- package/dist/locale-data/tr/index.js +33 -0
- package/dist/locale-data/tr/kdv.d.ts +91 -0
- package/dist/locale-data/tr/kdv.js +222 -0
- package/dist/locales/en.d.ts +2102 -0
- package/dist/locales/en.js +2088 -0
- package/dist/locales/tr.d.ts +2086 -0
- package/dist/locales/tr.js +2087 -0
- package/dist/media/focal-point.d.ts +42 -0
- package/dist/media/focal-point.js +96 -0
- package/dist/media/gallery-layout.d.ts +19 -0
- package/dist/media/gallery-layout.js +61 -0
- package/dist/media/gallery.d.ts +64 -0
- package/dist/media/gallery.js +138 -0
- package/dist/media/image-cropper.d.ts +86 -0
- package/dist/media/image-cropper.js +170 -0
- package/dist/media/image-field.d.ts +115 -0
- package/dist/media/image-field.js +212 -0
- package/dist/media/index.d.ts +19 -0
- package/dist/media/index.js +23 -0
- package/dist/media/lightbox.d.ts +82 -0
- package/dist/media/lightbox.js +171 -0
- package/dist/media/link-preview.d.ts +97 -0
- package/dist/media/link-preview.js +177 -0
- package/dist/media/media-library.d.ts +244 -0
- package/dist/media/media-library.js +776 -0
- package/dist/media/media-picker.d.ts +96 -0
- package/dist/media/media-picker.js +209 -0
- package/dist/media/media-provider.d.ts +23 -0
- package/dist/media/media-provider.js +44 -0
- package/dist/media/media-utils.d.ts +39 -0
- package/dist/media/media-utils.js +145 -0
- package/dist/media/memory-adapter.d.ts +22 -0
- package/dist/media/memory-adapter.js +162 -0
- package/dist/media/rest-adapter.d.ts +90 -0
- package/dist/media/rest-adapter.js +208 -0
- package/dist/media/serp.d.ts +62 -0
- package/dist/media/serp.js +108 -0
- package/dist/media/test-fixtures.d.ts +3 -0
- package/dist/media/test-fixtures.js +37 -0
- package/dist/media/types.d.ts +183 -0
- package/dist/media/types.js +3 -0
- package/dist/media/use-pan-zoom.d.ts +51 -0
- package/dist/media/use-pan-zoom.js +156 -0
- package/dist/media/use-upload-queue.d.ts +64 -0
- package/dist/media/use-upload-queue.js +115 -0
- package/dist/media/video-player.d.ts +135 -0
- package/dist/media/video-player.js +319 -0
- package/dist/next/index.d.ts +42 -0
- package/dist/next/index.js +36 -0
- package/dist/render/block-renderer.d.ts +56 -0
- package/dist/render/block-renderer.js +137 -0
- package/dist/render/index.d.ts +6 -0
- package/dist/render/index.js +7 -0
- package/dist/render/prepare.d.ts +61 -0
- package/dist/render/prepare.js +119 -0
- package/dist/scheduler/core/duration.d.ts +83 -0
- package/dist/scheduler/core/duration.js +174 -0
- package/dist/scheduler/core/gantt.d.ts +63 -0
- package/dist/scheduler/core/gantt.js +226 -0
- package/dist/scheduler/core/index.d.ts +6 -0
- package/dist/scheduler/core/index.js +7 -0
- package/dist/scheduler/core/layout.d.ts +97 -0
- package/dist/scheduler/core/layout.js +249 -0
- package/dist/scheduler/core/time-scale.d.ts +89 -0
- package/dist/scheduler/core/time-scale.js +173 -0
- package/dist/scheduler/gantt.d.ts +125 -0
- package/dist/scheduler/gantt.js +532 -0
- package/dist/scheduler/index.d.ts +6 -0
- package/dist/scheduler/index.js +7 -0
- package/dist/scheduler/resource-calendar.d.ts +218 -0
- package/dist/scheduler/resource-calendar.js +661 -0
- package/dist/scheduler/scheduler.d.ts +168 -0
- package/dist/scheduler/scheduler.js +768 -0
- package/dist/scheduler/shared.d.ts +63 -0
- package/dist/scheduler/shared.js +145 -0
- package/dist/scheduler/time-tracker.d.ts +138 -0
- package/dist/scheduler/time-tracker.js +403 -0
- package/dist/sortable/core.d.ts +67 -0
- package/dist/sortable/core.js +167 -0
- package/dist/sortable/index.d.ts +8 -0
- package/dist/sortable/index.js +10 -0
- package/dist/sortable/kanban-core.d.ts +70 -0
- package/dist/sortable/kanban-core.js +67 -0
- package/dist/sortable/kanban.d.ts +147 -0
- package/dist/sortable/kanban.js +472 -0
- package/dist/sortable/sortable-list.d.ts +71 -0
- package/dist/sortable/sortable-list.js +76 -0
- package/dist/sortable/sortable-tree.d.ts +101 -0
- package/dist/sortable/sortable-tree.js +450 -0
- package/dist/sortable/sortable.d.ts +188 -0
- package/dist/sortable/sortable.js +485 -0
- package/dist/sortable/use-pointer-drag.d.ts +75 -0
- package/dist/sortable/use-pointer-drag.js +173 -0
- package/dist/sortable/use-time-scale.d.ts +11 -0
- package/dist/sortable/use-time-scale.js +19 -0
- package/dist/styles/base.css +51 -0
- package/dist/styles/blocks.css +949 -0
- package/dist/styles/calendar.css +642 -0
- package/dist/styles/charts.css +264 -0
- package/dist/styles/data.css +474 -0
- package/dist/styles/editors.css +1022 -0
- package/dist/styles/forms.css +406 -0
- package/dist/styles/media.css +515 -0
- package/dist/styles/navigation.css +293 -0
- package/dist/styles/overlays.css +244 -0
- package/dist/styles.css +742 -0
- package/package.json +156 -4
|
@@ -0,0 +1,423 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { type Column, type ReactTable } from "@tanstack/react-table";
|
|
3
|
+
import { useLabels } from "../lib/labels.js";
|
|
4
|
+
import type { MenuEntry } from "../lib/variants.js";
|
|
5
|
+
import { Input } from "../components/input.js";
|
|
6
|
+
import { type FilterBarProps } from "./filter-bar.js";
|
|
7
|
+
import { type SavedViewsProps } from "./saved-views.js";
|
|
8
|
+
import { type UrlStateOptions } from "./url-state.js";
|
|
9
|
+
import { type DataTableSelection, type FieldType, type FilterFieldDef, type FilterOption, type ListDensity, type ListState, type ListStateChangeReason, type SavedView, type ViewState } from "./types.js";
|
|
10
|
+
export declare const dataTableLabels: {
|
|
11
|
+
search: string;
|
|
12
|
+
searchPlaceholder: string;
|
|
13
|
+
selectPageRows: string;
|
|
14
|
+
selectRow: string;
|
|
15
|
+
selectedCount: string;
|
|
16
|
+
selectedOnPage: string;
|
|
17
|
+
selectPage: string;
|
|
18
|
+
selectAllMatching: string;
|
|
19
|
+
allSelected: string;
|
|
20
|
+
clearSelection: string;
|
|
21
|
+
clear: string;
|
|
22
|
+
selectionReset: string;
|
|
23
|
+
bulkActions: string;
|
|
24
|
+
moreActions: string;
|
|
25
|
+
rowActions: string;
|
|
26
|
+
view: string;
|
|
27
|
+
viewOptions: string;
|
|
28
|
+
columns: string;
|
|
29
|
+
findColumn: string;
|
|
30
|
+
density: string;
|
|
31
|
+
compact: string;
|
|
32
|
+
comfortable: string;
|
|
33
|
+
spacious: string;
|
|
34
|
+
resetColumns: string;
|
|
35
|
+
moveUp: string;
|
|
36
|
+
moveDown: string;
|
|
37
|
+
sortAsc: string;
|
|
38
|
+
sortDesc: string;
|
|
39
|
+
clearSort: string;
|
|
40
|
+
sortBy: string;
|
|
41
|
+
sortOrder: string;
|
|
42
|
+
pinStart: string;
|
|
43
|
+
pinEnd: string;
|
|
44
|
+
unpin: string;
|
|
45
|
+
hide: string;
|
|
46
|
+
filterBy: string;
|
|
47
|
+
columnMenu: string;
|
|
48
|
+
resize: string;
|
|
49
|
+
export: string;
|
|
50
|
+
exportPage: string;
|
|
51
|
+
exportSelected: string;
|
|
52
|
+
exportAll: string;
|
|
53
|
+
exportAllServer: string;
|
|
54
|
+
exportStarted: string;
|
|
55
|
+
exported: string;
|
|
56
|
+
emptyTitle: string;
|
|
57
|
+
emptyDescription: string;
|
|
58
|
+
noResultsTitle: string;
|
|
59
|
+
noResultsDescription: string;
|
|
60
|
+
clearFilters: string;
|
|
61
|
+
errorTitle: string;
|
|
62
|
+
retry: string;
|
|
63
|
+
loading: string;
|
|
64
|
+
refreshing: string;
|
|
65
|
+
loadMore: string;
|
|
66
|
+
noMore: string;
|
|
67
|
+
edit: string;
|
|
68
|
+
editHint: string;
|
|
69
|
+
saving: string;
|
|
70
|
+
saveFailed: string;
|
|
71
|
+
invalid: string;
|
|
72
|
+
yes: string;
|
|
73
|
+
no: string;
|
|
74
|
+
none: string;
|
|
75
|
+
cancel: string;
|
|
76
|
+
bulkDone: string;
|
|
77
|
+
bulkFailed: string;
|
|
78
|
+
undo: string;
|
|
79
|
+
undone: string;
|
|
80
|
+
rowCount: string;
|
|
81
|
+
};
|
|
82
|
+
export type DataTableLabels = typeof dataTableLabels;
|
|
83
|
+
type LabelFn = ReturnType<typeof useLabels<DataTableLabels>>;
|
|
84
|
+
export interface DataTableCellContext<T> {
|
|
85
|
+
row: T;
|
|
86
|
+
value: unknown;
|
|
87
|
+
rowId: string;
|
|
88
|
+
/** Index on the current page. */
|
|
89
|
+
index: number;
|
|
90
|
+
column: DataTableColumn<T>;
|
|
91
|
+
}
|
|
92
|
+
/** Inline editor of a column. Optimistic: the cell shows the new value while `onCellEdit` runs. */
|
|
93
|
+
export type DataTableCellEditor<T> = {
|
|
94
|
+
type: "text" | "number" | "currency" | "date" | "select" | "boolean";
|
|
95
|
+
/** For `select`. */
|
|
96
|
+
options?: FilterOption[];
|
|
97
|
+
/** Return an error message to keep the editor open. */
|
|
98
|
+
validate?: (value: unknown, row: T) => string | null;
|
|
99
|
+
} | {
|
|
100
|
+
type: "custom";
|
|
101
|
+
render: (ctx: {
|
|
102
|
+
value: unknown;
|
|
103
|
+
row: T;
|
|
104
|
+
commit: (value: unknown) => void;
|
|
105
|
+
cancel: () => void;
|
|
106
|
+
}) => React.ReactNode;
|
|
107
|
+
};
|
|
108
|
+
export interface DataTableColumn<T> {
|
|
109
|
+
/** Stable id (state, URL, CSV). */
|
|
110
|
+
id: string;
|
|
111
|
+
/** Header text — also the column menu, CSV header, mobile label and filter field name. */
|
|
112
|
+
header: string;
|
|
113
|
+
/** Property name or function. Omit for display-only columns (then provide `cell`). */
|
|
114
|
+
accessor?: (keyof T & string) | ((row: T) => unknown);
|
|
115
|
+
/** Custom cell. Default: formatted by `type`. */
|
|
116
|
+
cell?: (ctx: DataTableCellContext<T>) => React.ReactNode;
|
|
117
|
+
/** Decides formatting, alignment, sorting, filter operators and editor. Default `"text"`. */
|
|
118
|
+
type?: FieldType;
|
|
119
|
+
align?: "start" | "center" | "end";
|
|
120
|
+
/** Options for `enum` (labels + badge tones) — shared with the Filter bar. */
|
|
121
|
+
options?: FilterOption[];
|
|
122
|
+
/** ISO 4217 for `currency`. Default: the locale provider's currency. */
|
|
123
|
+
currency?: string;
|
|
124
|
+
/** Default: `true` when the column has an accessor. */
|
|
125
|
+
sortable?: boolean;
|
|
126
|
+
/** Value used for sorting. Default: the accessor value (enum: option order). */
|
|
127
|
+
sortValue?: (row: T) => string | number | null | undefined;
|
|
128
|
+
/** Included in the global search. Default: text, enum, user and tags columns. */
|
|
129
|
+
searchable?: boolean;
|
|
130
|
+
/** Generates a Filter bar field (`false` = not filterable). */
|
|
131
|
+
filter?: Partial<Omit<FilterFieldDef, "field" | "label" | "type">> | false;
|
|
132
|
+
edit?: DataTableCellEditor<T> | false;
|
|
133
|
+
/** Role in the mobile card. Default: the first column is the title, the rest `meta`. */
|
|
134
|
+
mobile?: "title" | "subtitle" | "meta" | "badge" | "avatar" | "hidden";
|
|
135
|
+
/** `mobile="priority"`: 3 hides first under 640px, then 2 under 480px. */
|
|
136
|
+
priority?: 1 | 2 | 3;
|
|
137
|
+
/** CSV value. Default: the raw accessor value. */
|
|
138
|
+
exportValue?: (row: T) => string | number | null;
|
|
139
|
+
/** Default `true` (the first column is never hideable). */
|
|
140
|
+
hideable?: boolean;
|
|
141
|
+
/** Default `true`. */
|
|
142
|
+
pinnable?: boolean;
|
|
143
|
+
/** Default `true`. */
|
|
144
|
+
resizable?: boolean;
|
|
145
|
+
/** Width in px. */
|
|
146
|
+
size?: number;
|
|
147
|
+
minSize?: number;
|
|
148
|
+
maxSize?: number;
|
|
149
|
+
/** Render as a row header (`<th scope="row">`). Default: the title column. */
|
|
150
|
+
rowHeader?: boolean;
|
|
151
|
+
/** Visible by default. Default `true`. */
|
|
152
|
+
defaultVisible?: boolean;
|
|
153
|
+
}
|
|
154
|
+
export interface DataTableBulkAction<T> {
|
|
155
|
+
id: string;
|
|
156
|
+
label: string;
|
|
157
|
+
icon?: React.ReactNode;
|
|
158
|
+
tone?: "default" | "danger";
|
|
159
|
+
/** Shows an Alert Dialog first. `description` receives the count. */
|
|
160
|
+
confirm?: {
|
|
161
|
+
title: string;
|
|
162
|
+
description?: (count: number) => string;
|
|
163
|
+
confirmLabel?: string;
|
|
164
|
+
};
|
|
165
|
+
/** `true` disables; a string disables and explains why (tooltip). */
|
|
166
|
+
disabled?: (selection: DataTableSelection, rows: T[]) => boolean | string;
|
|
167
|
+
/** `rows` are the selected rows that are loaded (all of them in client mode). Return `{ undo }` to offer Undo. */
|
|
168
|
+
run: (selection: DataTableSelection, rows: T[]) => Promise<void | {
|
|
169
|
+
undo?: () => Promise<void> | void;
|
|
170
|
+
}> | void | {
|
|
171
|
+
undo?: () => Promise<void> | void;
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
export interface DataTableExportOptions {
|
|
175
|
+
/** File name without extension. */
|
|
176
|
+
filename: string;
|
|
177
|
+
/** Write formatted values ("$4,800.00") instead of raw ones. Default `false`. */
|
|
178
|
+
formatted?: boolean;
|
|
179
|
+
/** Server mode "All matching rows" → your export endpoint. */
|
|
180
|
+
onServerExport?: (state: ListState, selection?: DataTableSelection) => Promise<void> | void;
|
|
181
|
+
}
|
|
182
|
+
export interface DataTableProps<T> extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange" | "children"> {
|
|
183
|
+
columns: DataTableColumn<T>[];
|
|
184
|
+
data: T[];
|
|
185
|
+
getRowId: (row: T) => string;
|
|
186
|
+
/** Names the table for assistive tech (required). Hidden visually unless `showCaption`. */
|
|
187
|
+
caption: string;
|
|
188
|
+
showCaption?: boolean;
|
|
189
|
+
/** `"client"` (default) sorts, searches, filters and pages in the browser; `"server"` hands the state to you. */
|
|
190
|
+
mode?: "client" | "server";
|
|
191
|
+
/** Server mode: total matching rows. */
|
|
192
|
+
rowCount?: number;
|
|
193
|
+
/** Controlled list state (any subset). */
|
|
194
|
+
state?: Partial<ListState>;
|
|
195
|
+
defaultState?: Partial<ListState>;
|
|
196
|
+
/** One entry point for every change. `requestId` increases; apply only the latest response. Search is debounced 300ms. */
|
|
197
|
+
onStateChange?: (next: ListState, reason: ListStateChangeReason, requestId: number) => void;
|
|
198
|
+
/** Sync q, filters, sort, page and view with the URL. */
|
|
199
|
+
urlState?: boolean | UrlStateOptions;
|
|
200
|
+
/** Remember column visibility, order, widths, pins and density in localStorage under this key. */
|
|
201
|
+
storageKey?: string;
|
|
202
|
+
loading?: boolean;
|
|
203
|
+
error?: {
|
|
204
|
+
message: React.ReactNode;
|
|
205
|
+
onRetry?: () => void;
|
|
206
|
+
} | null;
|
|
207
|
+
pagination?: "pages" | "load-more" | "infinite" | "none";
|
|
208
|
+
/** Default `[25, 50, 100]`. */
|
|
209
|
+
pageSizes?: number[];
|
|
210
|
+
onLoadMore?: () => Promise<void> | void;
|
|
211
|
+
hasMore?: boolean;
|
|
212
|
+
/** Cursor pagination (server): the cursors around the current page. */
|
|
213
|
+
cursors?: {
|
|
214
|
+
prev: string | null;
|
|
215
|
+
next: string | null;
|
|
216
|
+
};
|
|
217
|
+
/** Render only visible rows. Use with `pagination="none"` / `"infinite"` for long lists. */
|
|
218
|
+
virtual?: boolean | {
|
|
219
|
+
estimateRowHeight?: number;
|
|
220
|
+
overscan?: number;
|
|
221
|
+
height?: string;
|
|
222
|
+
};
|
|
223
|
+
/** Checkbox column + bulk bar. `"single"` = one row at a time. */
|
|
224
|
+
selectable?: boolean | "single";
|
|
225
|
+
selection?: DataTableSelection;
|
|
226
|
+
defaultSelection?: DataTableSelection;
|
|
227
|
+
onSelectionChange?: (selection: DataTableSelection) => void;
|
|
228
|
+
bulkActions?: DataTableBulkAction<T>[];
|
|
229
|
+
/** Whether a row can be selected; a string explains why not. */
|
|
230
|
+
rowSelectable?: (row: T) => boolean | string;
|
|
231
|
+
onRowClick?: (row: T) => void;
|
|
232
|
+
/** Makes the title cell a real link; the whole row is clickable by pointer. */
|
|
233
|
+
rowHref?: (row: T) => string;
|
|
234
|
+
/** "⋯" menu in the last column. */
|
|
235
|
+
rowActions?: (row: T) => MenuEntry[];
|
|
236
|
+
/** Persist an inline edit. Reject to roll back (the message is shown). */
|
|
237
|
+
onCellEdit?: (edit: {
|
|
238
|
+
row: T;
|
|
239
|
+
rowId: string;
|
|
240
|
+
columnId: string;
|
|
241
|
+
value: unknown;
|
|
242
|
+
}) => Promise<void> | void;
|
|
243
|
+
readOnly?: boolean;
|
|
244
|
+
/** `"grid"`: ARIA grid with arrow-key cell navigation (spreadsheet-like editing). Default `"table"`. */
|
|
245
|
+
navigation?: "table" | "grid";
|
|
246
|
+
/** Accessible text of a row ("Jane Cooper"). Default: the title column. */
|
|
247
|
+
getRowLabel?: (row: T) => string;
|
|
248
|
+
/** No data at all (first use). */
|
|
249
|
+
empty?: React.ReactNode;
|
|
250
|
+
/** Data, but the search / filters match nothing. */
|
|
251
|
+
noResults?: React.ReactNode;
|
|
252
|
+
/** Under 640px of container width: `cards` (default), `priority` (drop columns) or `scroll`. */
|
|
253
|
+
mobile?: "cards" | "priority" | "scroll";
|
|
254
|
+
export?: DataTableExportOptions;
|
|
255
|
+
/** Table-local density. `"inherit"` follows the page. */
|
|
256
|
+
density?: "inherit" | ListDensity;
|
|
257
|
+
/** `card`: inside its own surface. `flush`: full width (WordPress-style list screens). */
|
|
258
|
+
variant?: "card" | "flush";
|
|
259
|
+
/** Extra toolbar content (a Filter bar, Saved views…) for the default layout. */
|
|
260
|
+
toolbar?: React.ReactNode;
|
|
261
|
+
/** `/` search, Esc clear selection, `x` toggle the focused row. Default `true`. */
|
|
262
|
+
shortcuts?: boolean;
|
|
263
|
+
/** Current user for "Me" filters on user fields. */
|
|
264
|
+
me?: {
|
|
265
|
+
id: string;
|
|
266
|
+
name: string;
|
|
267
|
+
};
|
|
268
|
+
labels?: Partial<DataTableLabels>;
|
|
269
|
+
/** Compose the parts yourself (`DataTableToolbar`, `DataTableContent`, `DataTableFooter`…). */
|
|
270
|
+
children?: React.ReactNode;
|
|
271
|
+
}
|
|
272
|
+
export declare function readColumnValue<T>(col: DataTableColumn<T>, row: T): unknown;
|
|
273
|
+
/** Filter bar fields from Data Table columns (`filter: false` opts out; display-only columns are skipped). */
|
|
274
|
+
export declare function filterFieldsFromColumns<T>(cols: DataTableColumn<T>[]): FilterFieldDef[];
|
|
275
|
+
declare const features: {
|
|
276
|
+
rowSortingFeature: import("@tanstack/react-table").TableFeature;
|
|
277
|
+
rowPaginationFeature: import("@tanstack/react-table").TableFeature;
|
|
278
|
+
columnVisibilityFeature: import("@tanstack/react-table").TableFeature;
|
|
279
|
+
columnOrderingFeature: import("@tanstack/react-table").TableFeature;
|
|
280
|
+
columnSizingFeature: import("@tanstack/react-table").TableFeature;
|
|
281
|
+
columnResizingFeature: import("@tanstack/react-table").TableFeature;
|
|
282
|
+
columnPinningFeature: import("@tanstack/react-table").TableFeature;
|
|
283
|
+
sortedRowModel: (table: import("@tanstack/react-table").Table<any, any>) => () => import("@tanstack/react-table").RowModel<any, any>;
|
|
284
|
+
paginatedRowModel: (table: import("@tanstack/react-table").Table<any, any>) => () => import("@tanstack/react-table").RowModel<any, any>;
|
|
285
|
+
};
|
|
286
|
+
type Features = typeof features;
|
|
287
|
+
type TColumn<T> = Column<Features, any, unknown>;
|
|
288
|
+
interface CellStatus {
|
|
289
|
+
value: unknown;
|
|
290
|
+
status: "saving" | "saved" | "error";
|
|
291
|
+
error?: string;
|
|
292
|
+
}
|
|
293
|
+
export interface DataTableContextValue<T = any> {
|
|
294
|
+
/** The TanStack v9 table instance (escape hatch). */
|
|
295
|
+
table: ReactTable<Features, any>;
|
|
296
|
+
state: ListState;
|
|
297
|
+
setState: (patch: Partial<ListState>, reason?: ListStateChangeReason) => void;
|
|
298
|
+
selection: DataTableSelection;
|
|
299
|
+
setSelection: (s: DataTableSelection) => void;
|
|
300
|
+
/** Columns by id. */
|
|
301
|
+
columns: DataTableColumn<T>[];
|
|
302
|
+
/** Filter fields generated from the columns. */
|
|
303
|
+
fields: FilterFieldDef[];
|
|
304
|
+
/** Rows on the current page. */
|
|
305
|
+
pageRows: T[];
|
|
306
|
+
/** Every row after search and filters (client) or the loaded rows (server). */
|
|
307
|
+
filteredRows: T[];
|
|
308
|
+
/** Total matching rows. */
|
|
309
|
+
total: number;
|
|
310
|
+
/** Bind a Filter bar: `<FilterBar {...filterBarProps} />`. */
|
|
311
|
+
filterBarProps: Pick<FilterBarProps, "fields" | "value" | "onChange" | "q" | "onQChange" | "addRequest" | "resultCount" | "me">;
|
|
312
|
+
/** Bind Saved views: `<SavedViews {...savedViewsBinding(views)} … />`. */
|
|
313
|
+
savedViewsBinding: (views: SavedView[]) => Pick<SavedViewsProps, "activeId" | "current" | "onSelect" | "onReset">;
|
|
314
|
+
/** Download a CSV of the page, the selection or every row. */
|
|
315
|
+
exportCsv: (o?: {
|
|
316
|
+
scope?: "page" | "selected" | "all";
|
|
317
|
+
filename?: string;
|
|
318
|
+
formatted?: boolean;
|
|
319
|
+
}) => void;
|
|
320
|
+
/** Ask a bound Filter bar to open its editor for a column. */
|
|
321
|
+
requestFilter: (columnId: string) => void;
|
|
322
|
+
/** @internal */
|
|
323
|
+
props: DataTableProps<T>;
|
|
324
|
+
/** @internal */
|
|
325
|
+
internal: Internal<T>;
|
|
326
|
+
}
|
|
327
|
+
interface Internal<T> {
|
|
328
|
+
t: LabelFn;
|
|
329
|
+
width: number | undefined;
|
|
330
|
+
narrow: boolean;
|
|
331
|
+
cards: boolean;
|
|
332
|
+
searchRef: React.RefObject<HTMLInputElement | null>;
|
|
333
|
+
filterBound: boolean;
|
|
334
|
+
setFilterBound: (b: boolean) => void;
|
|
335
|
+
editing: {
|
|
336
|
+
rowId: string;
|
|
337
|
+
columnId: string;
|
|
338
|
+
} | null;
|
|
339
|
+
setEditing: (e: {
|
|
340
|
+
rowId: string;
|
|
341
|
+
columnId: string;
|
|
342
|
+
} | null) => void;
|
|
343
|
+
cellStatus: Record<string, CellStatus>;
|
|
344
|
+
commitEdit: (row: T, rowId: string, col: DataTableColumn<T>, value: unknown) => void;
|
|
345
|
+
announce: (msg: string) => void;
|
|
346
|
+
rowLabel: (row: T) => string;
|
|
347
|
+
titleColumn: DataTableColumn<T> | undefined;
|
|
348
|
+
orderedColumns: TColumn<T>[];
|
|
349
|
+
defaultColumns: ListState["columns"];
|
|
350
|
+
lastClicked: React.MutableRefObject<number | null>;
|
|
351
|
+
isSelectable: (row: T) => boolean | string;
|
|
352
|
+
hasQuery: boolean;
|
|
353
|
+
requestId: React.MutableRefObject<number>;
|
|
354
|
+
filterRequest: {
|
|
355
|
+
field: string;
|
|
356
|
+
key: number;
|
|
357
|
+
} | null;
|
|
358
|
+
}
|
|
359
|
+
/**
|
|
360
|
+
* The table's state and helpers, for custom layouts and bindings inside `<DataTable>`.
|
|
361
|
+
*
|
|
362
|
+
* ```tsx
|
|
363
|
+
* const { state, selection, exportCsv, filterBarProps } = useDataTable<Contact>();
|
|
364
|
+
* ```
|
|
365
|
+
*/
|
|
366
|
+
export declare function useDataTable<T = unknown>(): DataTableContextValue<T>;
|
|
367
|
+
/**
|
|
368
|
+
* The backbone of every list screen: sorting, search, filters, column management, selection and
|
|
369
|
+
* bulk actions, inline editing, pagination, server mode, URL state, mobile cards and CSV.
|
|
370
|
+
* Built on TanStack Table v9 — `useDataTable().table` is the escape hatch.
|
|
371
|
+
*
|
|
372
|
+
* ```tsx
|
|
373
|
+
* <DataTable caption="Contacts" columns={columns} data={contacts} getRowId={(c) => c.id} selectable bulkActions={actions} />
|
|
374
|
+
* ```
|
|
375
|
+
*/
|
|
376
|
+
export declare function DataTable<T>(props: DataTableProps<T>): React.JSX.Element;
|
|
377
|
+
/**
|
|
378
|
+
* The bar above the table. While rows are selected it shows the bulk bar in the same place
|
|
379
|
+
* (same height, no layout jump).
|
|
380
|
+
*/
|
|
381
|
+
export declare function DataTableToolbar({ className, children, ...props }: React.HTMLAttributes<HTMLDivElement>): React.JSX.Element;
|
|
382
|
+
export interface DataTableSearchProps extends Omit<React.ComponentProps<typeof Input>, "value" | "onChange"> {
|
|
383
|
+
/** ms before the search applies. Default 300. */
|
|
384
|
+
debounce?: number;
|
|
385
|
+
}
|
|
386
|
+
/** Global search across the searchable columns. `/` focuses it. */
|
|
387
|
+
export declare function DataTableSearch({ debounce, className, placeholder, ...props }: DataTableSearchProps): React.JSX.Element;
|
|
388
|
+
/** A Filter bar bound to the table (fields from the columns, "Filter by this column" opens it). */
|
|
389
|
+
export declare function DataTableFilterBar(props: Partial<FilterBarProps>): React.JSX.Element;
|
|
390
|
+
export interface DataTableSavedViewsProps extends Omit<SavedViewsProps, "activeId" | "current" | "onSelect" | "onReset"> {
|
|
391
|
+
}
|
|
392
|
+
/** Saved views bound to the table: switching applies the view, edits mark it modified. */
|
|
393
|
+
export declare function DataTableSavedViews(props: DataTableSavedViewsProps): React.JSX.Element;
|
|
394
|
+
/** Replaces the toolbar while rows are selected: count, select-all across pages, actions. */
|
|
395
|
+
export declare function DataTableBulkBar({ className }: {
|
|
396
|
+
className?: string;
|
|
397
|
+
}): React.JSX.Element;
|
|
398
|
+
/** "View" popover: show/hide and reorder columns, density, reset. */
|
|
399
|
+
export declare function DataTableViewOptions({ className }: {
|
|
400
|
+
className?: string;
|
|
401
|
+
}): React.JSX.Element;
|
|
402
|
+
/** "Export" menu: rows on this page, selected rows, all rows (or your server export). */
|
|
403
|
+
export declare function DataTableExport({ className }: {
|
|
404
|
+
className?: string;
|
|
405
|
+
}): React.JSX.Element;
|
|
406
|
+
/** Default rendering of a value by column type. */
|
|
407
|
+
export declare function DataTableValue<T>({ column, value }: {
|
|
408
|
+
column: DataTableColumn<T>;
|
|
409
|
+
value: unknown;
|
|
410
|
+
}): React.JSX.Element;
|
|
411
|
+
/** The table (or the mobile cards) with loading, empty, no-results and error states. */
|
|
412
|
+
export declare function DataTableContent({ className }: {
|
|
413
|
+
className?: string;
|
|
414
|
+
}): React.JSX.Element;
|
|
415
|
+
/** Mobile layout: every row a card (title, subtitle, badge, label:value meta, checkbox, actions). */
|
|
416
|
+
export declare function DataTableCards({ className }: {
|
|
417
|
+
className?: string;
|
|
418
|
+
}): React.JSX.Element;
|
|
419
|
+
/** Pagination (pages, cursor), "Load more" or the infinite-scroll sentinel. */
|
|
420
|
+
export declare function DataTableFooter({ className }: {
|
|
421
|
+
className?: string;
|
|
422
|
+
}): React.JSX.Element | null;
|
|
423
|
+
export type { ViewState };
|