@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,177 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Colour helpers for Color picker (and anything that shows user-defined colours):
|
|
3
|
+
* parse hex / rgb() / oklch() strings, convert hex ↔ OKLCH, and compute WCAG contrast.
|
|
4
|
+
* React-free (works in server components).
|
|
5
|
+
*
|
|
6
|
+
* Values in the kit's public APIs are always hex: `"#rrggbb"` or `"#rrggbbaa"`.
|
|
7
|
+
*/
|
|
8
|
+
const clamp = (n, min, max) => Math.min(max, Math.max(min, n));
|
|
9
|
+
const round = (n, digits = 0) => {
|
|
10
|
+
const f = 10 ** digits;
|
|
11
|
+
return Math.round(n * f) / f;
|
|
12
|
+
};
|
|
13
|
+
/** Parses `#rgb`, `#rgba`, `#rrggbb`, `#rrggbbaa` (the `#` is optional). */
|
|
14
|
+
export function hexToRgba(input) {
|
|
15
|
+
const hex = input.trim().replace(/^#/, "");
|
|
16
|
+
if (!/^[0-9a-f]+$/i.test(hex))
|
|
17
|
+
return null;
|
|
18
|
+
let full;
|
|
19
|
+
if (hex.length === 3 || hex.length === 4)
|
|
20
|
+
full = [...hex].map((c) => c + c).join("");
|
|
21
|
+
else if (hex.length === 6 || hex.length === 8)
|
|
22
|
+
full = hex;
|
|
23
|
+
else
|
|
24
|
+
return null;
|
|
25
|
+
const n = (i) => parseInt(full.slice(i, i + 2), 16);
|
|
26
|
+
return { r: n(0), g: n(2), b: n(4), a: full.length === 8 ? round(n(6) / 255, 3) : 1 };
|
|
27
|
+
}
|
|
28
|
+
const toHexByte = (n) => clamp(Math.round(n), 0, 255).toString(16).padStart(2, "0");
|
|
29
|
+
/** `"#rrggbb"`, or `"#rrggbbaa"` when `withAlpha` (default: only when alpha < 1). Lowercase. */
|
|
30
|
+
export function rgbaToHex(c, withAlpha = c.a < 1) {
|
|
31
|
+
return `#${toHexByte(c.r)}${toHexByte(c.g)}${toHexByte(c.b)}${withAlpha ? toHexByte(c.a * 255) : ""}`;
|
|
32
|
+
}
|
|
33
|
+
const channel = (s, max) => (s.endsWith("%") ? (parseFloat(s) / 100) * max : parseFloat(s));
|
|
34
|
+
const alphaOf = (s) => (s === undefined ? 1 : clamp(channel(s, 1), 0, 1));
|
|
35
|
+
/**
|
|
36
|
+
* Parses any colour string the picker accepts: hex (with or without `#`), `rgb()`/`rgba()`
|
|
37
|
+
* (comma or space syntax) and `oklch()`. Returns `null` for anything else.
|
|
38
|
+
*
|
|
39
|
+
* ```ts
|
|
40
|
+
* parseColor("c6f432"); // { r: 198, g: 244, b: 50, a: 1 }
|
|
41
|
+
* parseColor("oklch(89% 0.21 122 / 50%)"); // …a: 0.5
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
export function parseColor(input) {
|
|
45
|
+
const s = input.trim().toLowerCase();
|
|
46
|
+
if (!s)
|
|
47
|
+
return null;
|
|
48
|
+
const fn = /^(rgba?|oklch)\(\s*([^)]*)\)$/.exec(s);
|
|
49
|
+
if (!fn)
|
|
50
|
+
return hexToRgba(s);
|
|
51
|
+
const [, name, body] = fn;
|
|
52
|
+
const [main, slashAlpha] = body.split("/").map((p) => p.trim());
|
|
53
|
+
const parts = main.split(/[\s,]+/).filter(Boolean);
|
|
54
|
+
const alpha = slashAlpha ?? (parts.length === 4 ? parts[3] : undefined);
|
|
55
|
+
if (parts.length < 3 || parts.slice(0, 3).some((p) => Number.isNaN(parseFloat(p))))
|
|
56
|
+
return null;
|
|
57
|
+
if (name === "oklch") {
|
|
58
|
+
const l = channel(parts[0], 1);
|
|
59
|
+
const c = parts[1].endsWith("%") ? (parseFloat(parts[1]) / 100) * 0.4 : parseFloat(parts[1]);
|
|
60
|
+
const h = parseFloat(parts[2]);
|
|
61
|
+
return oklchToRgba({ l, c, h, a: alphaOf(alpha) });
|
|
62
|
+
}
|
|
63
|
+
return {
|
|
64
|
+
r: clamp(channel(parts[0], 255), 0, 255),
|
|
65
|
+
g: clamp(channel(parts[1], 255), 0, 255),
|
|
66
|
+
b: clamp(channel(parts[2], 255), 0, 255),
|
|
67
|
+
a: round(alphaOf(alpha), 3),
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
/** Normalises any accepted colour string to lowercase hex, or `null` if it can't be parsed. */
|
|
71
|
+
export function toHex(input, withAlpha) {
|
|
72
|
+
const c = parseColor(input);
|
|
73
|
+
return c ? rgbaToHex(c, withAlpha ?? c.a < 1) : null;
|
|
74
|
+
}
|
|
75
|
+
/* ---------------------------------------------------------------- OKLab */
|
|
76
|
+
const toLinear = (v) => {
|
|
77
|
+
const c = v / 255;
|
|
78
|
+
return c <= 0.04045 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4;
|
|
79
|
+
};
|
|
80
|
+
const fromLinear = (v) => 255 * (v <= 0.0031308 ? 12.92 * v : 1.055 * v ** (1 / 2.4) - 0.055);
|
|
81
|
+
/** sRGB → OKLCH. */
|
|
82
|
+
export function rgbaToOklch({ r, g, b, a }) {
|
|
83
|
+
const lr = toLinear(r);
|
|
84
|
+
const lg = toLinear(g);
|
|
85
|
+
const lb = toLinear(b);
|
|
86
|
+
const l_ = Math.cbrt(0.4122214708 * lr + 0.5363325363 * lg + 0.0514459929 * lb);
|
|
87
|
+
const m_ = Math.cbrt(0.2119034982 * lr + 0.6806995451 * lg + 0.1073969566 * lb);
|
|
88
|
+
const s_ = Math.cbrt(0.0883024619 * lr + 0.2817188376 * lg + 0.6299787005 * lb);
|
|
89
|
+
const L = 0.2104542553 * l_ + 0.793617785 * m_ - 0.0040720468 * s_;
|
|
90
|
+
const A = 1.9779984951 * l_ - 2.428592205 * m_ + 0.4505937099 * s_;
|
|
91
|
+
const B = 0.0259040371 * l_ + 0.7827717662 * m_ - 0.808675766 * s_;
|
|
92
|
+
const c = Math.sqrt(A * A + B * B);
|
|
93
|
+
let h = (Math.atan2(B, A) * 180) / Math.PI;
|
|
94
|
+
if (h < 0)
|
|
95
|
+
h += 360;
|
|
96
|
+
return { l: L, c, h: c < 1e-4 ? 0 : h, a };
|
|
97
|
+
}
|
|
98
|
+
/** OKLCH → sRGB, clipped to the sRGB gamut. */
|
|
99
|
+
export function oklchToRgba({ l, c, h, a }) {
|
|
100
|
+
const hr = (h * Math.PI) / 180;
|
|
101
|
+
const A = c * Math.cos(hr);
|
|
102
|
+
const B = c * Math.sin(hr);
|
|
103
|
+
const l_ = l + 0.3963377774 * A + 0.2158037573 * B;
|
|
104
|
+
const m_ = l - 0.1055613458 * A - 0.0638541728 * B;
|
|
105
|
+
const s_ = l - 0.0894841775 * A - 1.291485548 * B;
|
|
106
|
+
const L = l_ ** 3;
|
|
107
|
+
const M = m_ ** 3;
|
|
108
|
+
const S = s_ ** 3;
|
|
109
|
+
return {
|
|
110
|
+
r: clamp(fromLinear(4.0767416621 * L - 3.3077115913 * M + 0.2309699292 * S), 0, 255),
|
|
111
|
+
g: clamp(fromLinear(-1.2684380046 * L + 2.6097574011 * M - 0.3413193965 * S), 0, 255),
|
|
112
|
+
b: clamp(fromLinear(-0.0041960863 * L - 0.7034186147 * M + 1.707614701 * S), 0, 255),
|
|
113
|
+
a: clamp(a, 0, 1),
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Formats a hex value for display / editing.
|
|
118
|
+
*
|
|
119
|
+
* ```ts
|
|
120
|
+
* formatColor("#c6f432", "rgb"); // "rgb(198 244 50)"
|
|
121
|
+
* formatColor("#c6f432", "oklch"); // "oklch(91.5% 0.205 125.3)"
|
|
122
|
+
* ```
|
|
123
|
+
*/
|
|
124
|
+
export function formatColor(hex, format = "hex") {
|
|
125
|
+
const c = parseColor(hex);
|
|
126
|
+
if (!c)
|
|
127
|
+
return hex;
|
|
128
|
+
const alpha = c.a < 1 ? ` / ${round(c.a * 100)}%` : "";
|
|
129
|
+
if (format === "rgb")
|
|
130
|
+
return `rgb(${Math.round(c.r)} ${Math.round(c.g)} ${Math.round(c.b)}${alpha})`;
|
|
131
|
+
if (format === "oklch") {
|
|
132
|
+
const o = rgbaToOklch(c);
|
|
133
|
+
return `oklch(${round(o.l * 100, 1)}% ${round(o.c, 3)} ${round(o.h, 1)}${alpha})`;
|
|
134
|
+
}
|
|
135
|
+
return rgbaToHex(c);
|
|
136
|
+
}
|
|
137
|
+
/* ---------------------------------------------------------------- Contrast */
|
|
138
|
+
/** WCAG 2 relative luminance (0 = black, 1 = white). Alpha is ignored. */
|
|
139
|
+
export function relativeLuminance({ r, g, b }) {
|
|
140
|
+
return 0.2126 * toLinear(r) + 0.7152 * toLinear(g) + 0.0722 * toLinear(b);
|
|
141
|
+
}
|
|
142
|
+
/** Composites a translucent colour over an opaque background. */
|
|
143
|
+
export function blend(fg, bg) {
|
|
144
|
+
const a = fg.a;
|
|
145
|
+
return { r: fg.r * a + bg.r * (1 - a), g: fg.g * a + bg.g * (1 - a), b: fg.b * a + bg.b * (1 - a), a: 1 };
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* WCAG 2 contrast ratio between two colours (1–21), or `null` if either can't be parsed.
|
|
149
|
+
* A translucent colour is composited over the other one first.
|
|
150
|
+
*/
|
|
151
|
+
export function contrastRatio(a, b) {
|
|
152
|
+
const ca = parseColor(a);
|
|
153
|
+
const cb = parseColor(b);
|
|
154
|
+
if (!ca || !cb)
|
|
155
|
+
return null;
|
|
156
|
+
const bgOpaque = { ...cb, a: 1 };
|
|
157
|
+
const la = relativeLuminance(ca.a < 1 ? blend(ca, bgOpaque) : ca);
|
|
158
|
+
const lb = relativeLuminance(bgOpaque);
|
|
159
|
+
const [hi, lo] = la > lb ? [la, lb] : [lb, la];
|
|
160
|
+
return (hi + 0.05) / (lo + 0.05);
|
|
161
|
+
}
|
|
162
|
+
/** WCAG 2 rating for a contrast ratio: AAA ≥ 7, AA ≥ 4.5, AA large text ≥ 3. */
|
|
163
|
+
export function contrastLevel(ratio) {
|
|
164
|
+
if (ratio >= 7)
|
|
165
|
+
return "AAA";
|
|
166
|
+
if (ratio >= 4.5)
|
|
167
|
+
return "AA";
|
|
168
|
+
if (ratio >= 3)
|
|
169
|
+
return "AA-large";
|
|
170
|
+
return "fail";
|
|
171
|
+
}
|
|
172
|
+
/** Black or white — whichever reads better on `background`. */
|
|
173
|
+
export function readableOn(background) {
|
|
174
|
+
const white = contrastRatio("#ffffff", background) ?? 21;
|
|
175
|
+
const black = contrastRatio("#000000", background) ?? 21;
|
|
176
|
+
return black >= white ? "#000000" : "#ffffff";
|
|
177
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
type PossibleRef<T> = React.Ref<T> | undefined | null;
|
|
3
|
+
/** Assigns `value` to a callback ref or an object ref. */
|
|
4
|
+
export declare function setRef<T>(ref: PossibleRef<T>, value: T | null): void;
|
|
5
|
+
/**
|
|
6
|
+
* Combines several refs into one callback ref.
|
|
7
|
+
*
|
|
8
|
+
* ```tsx
|
|
9
|
+
* <input ref={composeRefs(forwardedRef, localRef)} />
|
|
10
|
+
* ```
|
|
11
|
+
*/
|
|
12
|
+
export declare function composeRefs<T>(...refs: PossibleRef<T>[]): React.RefCallback<T>;
|
|
13
|
+
/** Memoised `composeRefs` — keeps the same callback while the refs don't change. */
|
|
14
|
+
export declare function useComposedRefs<T>(...refs: PossibleRef<T>[]): React.RefCallback<T>;
|
|
15
|
+
/**
|
|
16
|
+
* Joins id lists (e.g. `aria-describedby`) without duplicates or empty entries.
|
|
17
|
+
* Returns `undefined` when nothing is left, so the attribute is omitted.
|
|
18
|
+
*
|
|
19
|
+
* ```ts
|
|
20
|
+
* mergeIds("title-hint", props["aria-describedby"], error && "title-error"); // "title-hint own-id title-error"
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export declare function mergeIds(...ids: (string | false | null | undefined)[]): string | undefined;
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
/** Assigns `value` to a callback ref or an object ref. */
|
|
3
|
+
export function setRef(ref, value) {
|
|
4
|
+
if (typeof ref === "function")
|
|
5
|
+
ref(value);
|
|
6
|
+
else if (ref)
|
|
7
|
+
ref.current = value;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Combines several refs into one callback ref.
|
|
11
|
+
*
|
|
12
|
+
* ```tsx
|
|
13
|
+
* <input ref={composeRefs(forwardedRef, localRef)} />
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
export function composeRefs(...refs) {
|
|
17
|
+
return (node) => {
|
|
18
|
+
for (const ref of refs)
|
|
19
|
+
setRef(ref, node);
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
/** Memoised `composeRefs` — keeps the same callback while the refs don't change. */
|
|
23
|
+
export function useComposedRefs(...refs) {
|
|
24
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
25
|
+
return React.useCallback(composeRefs(...refs), refs);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Joins id lists (e.g. `aria-describedby`) without duplicates or empty entries.
|
|
29
|
+
* Returns `undefined` when nothing is left, so the attribute is omitted.
|
|
30
|
+
*
|
|
31
|
+
* ```ts
|
|
32
|
+
* mergeIds("title-hint", props["aria-describedby"], error && "title-error"); // "title-hint own-id title-error"
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
export function mergeIds(...ids) {
|
|
36
|
+
const out = [];
|
|
37
|
+
for (const group of ids) {
|
|
38
|
+
if (!group)
|
|
39
|
+
continue;
|
|
40
|
+
for (const id of group.split(/\s+/))
|
|
41
|
+
if (id && !out.includes(id))
|
|
42
|
+
out.push(id);
|
|
43
|
+
}
|
|
44
|
+
return out.length ? out.join(" ") : undefined;
|
|
45
|
+
}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Client islands for the server-compatible data-display components (Stat, Delta, Table,
|
|
3
|
+
* Description list, Item, Activity timeline). Each one is small and only exists because it
|
|
4
|
+
* needs the locale context, the clock, the clipboard or keyboard state.
|
|
5
|
+
*/
|
|
6
|
+
import * as React from "react";
|
|
7
|
+
import { type ValueFormat } from "./value-format.js";
|
|
8
|
+
export declare const statLabels: {
|
|
9
|
+
up: string;
|
|
10
|
+
down: string;
|
|
11
|
+
flat: string;
|
|
12
|
+
noData: string;
|
|
13
|
+
trendUp: string;
|
|
14
|
+
trendDown: string;
|
|
15
|
+
trendFlat: string;
|
|
16
|
+
goal: string;
|
|
17
|
+
goalReached: string;
|
|
18
|
+
ofGoal: string;
|
|
19
|
+
};
|
|
20
|
+
export declare const timelineLabels: {
|
|
21
|
+
today: string;
|
|
22
|
+
yesterday: string;
|
|
23
|
+
empty: string;
|
|
24
|
+
loadMore: string;
|
|
25
|
+
loading: string;
|
|
26
|
+
newItems: string;
|
|
27
|
+
done: string;
|
|
28
|
+
current: string;
|
|
29
|
+
upcoming: string;
|
|
30
|
+
failed: string;
|
|
31
|
+
};
|
|
32
|
+
export declare const descriptionListLabels: {
|
|
33
|
+
copy: string;
|
|
34
|
+
copied: string;
|
|
35
|
+
edit: string;
|
|
36
|
+
save: string;
|
|
37
|
+
cancel: string;
|
|
38
|
+
saving: string;
|
|
39
|
+
error: string;
|
|
40
|
+
empty: string;
|
|
41
|
+
};
|
|
42
|
+
export declare const tableLabels: {
|
|
43
|
+
empty: string;
|
|
44
|
+
};
|
|
45
|
+
declare const DATA_LABELS: {
|
|
46
|
+
readonly table: {
|
|
47
|
+
empty: string;
|
|
48
|
+
};
|
|
49
|
+
readonly stat: {
|
|
50
|
+
up: string;
|
|
51
|
+
down: string;
|
|
52
|
+
flat: string;
|
|
53
|
+
noData: string;
|
|
54
|
+
trendUp: string;
|
|
55
|
+
trendDown: string;
|
|
56
|
+
trendFlat: string;
|
|
57
|
+
goal: string;
|
|
58
|
+
goalReached: string;
|
|
59
|
+
ofGoal: string;
|
|
60
|
+
};
|
|
61
|
+
readonly timeline: {
|
|
62
|
+
today: string;
|
|
63
|
+
yesterday: string;
|
|
64
|
+
empty: string;
|
|
65
|
+
loadMore: string;
|
|
66
|
+
loading: string;
|
|
67
|
+
newItems: string;
|
|
68
|
+
done: string;
|
|
69
|
+
current: string;
|
|
70
|
+
upcoming: string;
|
|
71
|
+
failed: string;
|
|
72
|
+
};
|
|
73
|
+
readonly descriptionList: {
|
|
74
|
+
copy: string;
|
|
75
|
+
copied: string;
|
|
76
|
+
edit: string;
|
|
77
|
+
save: string;
|
|
78
|
+
cancel: string;
|
|
79
|
+
saving: string;
|
|
80
|
+
error: string;
|
|
81
|
+
empty: string;
|
|
82
|
+
};
|
|
83
|
+
};
|
|
84
|
+
type DataNamespace = keyof typeof DATA_LABELS;
|
|
85
|
+
/** One built-in data-display string, translated through LocaleProvider: `<DataLabel ns="timeline" id="today" />`. */
|
|
86
|
+
export declare function DataLabel<N extends DataNamespace>({ ns, id, vars, override, }: {
|
|
87
|
+
ns: N;
|
|
88
|
+
id: keyof (typeof DATA_LABELS)[N] & string;
|
|
89
|
+
vars?: Record<string, unknown>;
|
|
90
|
+
override?: Partial<Record<string, string>>;
|
|
91
|
+
}): React.JSX.Element;
|
|
92
|
+
/** A locale-formatted value: `<ValueText value={28412} format="compact" />` → "28.4K". */
|
|
93
|
+
export declare function ValueText({ value, format, options }: {
|
|
94
|
+
value: number | string;
|
|
95
|
+
format?: ValueFormat;
|
|
96
|
+
options?: Intl.NumberFormatOptions;
|
|
97
|
+
}): React.JSX.Element;
|
|
98
|
+
export interface DeltaTextProps {
|
|
99
|
+
value: number;
|
|
100
|
+
kind?: "percent" | "number" | "currency";
|
|
101
|
+
currency?: string;
|
|
102
|
+
/** Max fraction digits. Default 1 (percent) / 0 (number) / currency default. */
|
|
103
|
+
precision?: number;
|
|
104
|
+
/** Full screen-reader text, e.g. "Up 12.4% vs last month". */
|
|
105
|
+
srLabel?: string;
|
|
106
|
+
/** Appended to the screen-reader text ("vs previous 30 days"). */
|
|
107
|
+
srSuffix?: string;
|
|
108
|
+
labels?: Partial<typeof statLabels>;
|
|
109
|
+
}
|
|
110
|
+
/** Signed delta text ("+12.4%", "+%12,4" in tr-TR) with a spoken sentence for screen readers. */
|
|
111
|
+
export declare function DeltaText({ value, kind, currency, precision, srLabel, srSuffix, labels }: DeltaTextProps): React.JSX.Element;
|
|
112
|
+
/** Progress-to-goal caption: "Goal $46,800" + "27%". */
|
|
113
|
+
export declare function StatGoalText({ value, target, format, labels }: {
|
|
114
|
+
value: number;
|
|
115
|
+
target: number;
|
|
116
|
+
format?: ValueFormat;
|
|
117
|
+
labels?: Partial<typeof statLabels>;
|
|
118
|
+
}): React.JSX.Element;
|
|
119
|
+
/**
|
|
120
|
+
* The current time, refreshed by a shared ticker. `null` during SSR and hydration, so the
|
|
121
|
+
* server and the first client render agree; `fixed` pins the clock (docs, tests).
|
|
122
|
+
*/
|
|
123
|
+
export declare function useNow(fixed?: Date | string | number): number | null;
|
|
124
|
+
export interface RelativeTimeProps extends Omit<React.TimeHTMLAttributes<HTMLElement>, "children"> {
|
|
125
|
+
value: Date | string | number;
|
|
126
|
+
/** Fix the reference time (docs, tests, server-rendered snapshots). */
|
|
127
|
+
now?: Date | string | number;
|
|
128
|
+
/** `"long"` "4 minutes ago" · `"short"` "4 min. ago" · `"narrow"`. Default `"long"`. */
|
|
129
|
+
styleType?: Intl.RelativeTimeFormatStyle;
|
|
130
|
+
/** `"relative"` (default) · `"time"` time of day ("9:30 AM") · `"datetime"` full date and time. */
|
|
131
|
+
display?: "relative" | "time" | "datetime";
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* `<time>` with a relative label ("4 minutes ago", "yesterday") and the full date as `title`.
|
|
135
|
+
* Server render shows the absolute time; the client upgrades it and keeps it fresh.
|
|
136
|
+
*/
|
|
137
|
+
export declare function RelativeTime({ value, now, styleType, display, className, ...props }: RelativeTimeProps): React.JSX.Element;
|
|
138
|
+
/** Day heading of a grouped timeline: "Today", "Yesterday", "Monday, Nov 8". */
|
|
139
|
+
export declare function TimelineDayLabel({ date, now, labels }: {
|
|
140
|
+
date: string;
|
|
141
|
+
now?: Date | string | number;
|
|
142
|
+
labels?: Partial<typeof timelineLabels>;
|
|
143
|
+
}): React.JSX.Element;
|
|
144
|
+
export interface CopyValueButtonProps {
|
|
145
|
+
/** Text written to the clipboard. */
|
|
146
|
+
text: string;
|
|
147
|
+
/** What is copied, for the accessible name ("Copy IBAN"). */
|
|
148
|
+
label: string;
|
|
149
|
+
labels?: Partial<typeof descriptionListLabels>;
|
|
150
|
+
className?: string;
|
|
151
|
+
onCopied?: (text: string) => void;
|
|
152
|
+
}
|
|
153
|
+
/** Small copy-to-clipboard button with a "Copied" confirmation (visible + announced). */
|
|
154
|
+
export declare function CopyValueButton({ text, label, labels, className, onCopied }: CopyValueButtonProps): React.JSX.Element;
|
|
155
|
+
export interface DescriptionEditableProps {
|
|
156
|
+
/** Current value (the editor starts from it). */
|
|
157
|
+
value: string;
|
|
158
|
+
/** Called with the new value. Return a promise to show "Saving…"; reject to show the error. */
|
|
159
|
+
onSave: (value: string) => void | Promise<void>;
|
|
160
|
+
/** Field name for the accessible names ("Edit Phone"). */
|
|
161
|
+
label: string;
|
|
162
|
+
/** What to show when not editing. Default: the value, or "Not set". */
|
|
163
|
+
display?: React.ReactNode;
|
|
164
|
+
inputType?: "text" | "email" | "tel" | "url" | "number";
|
|
165
|
+
placeholder?: string;
|
|
166
|
+
/** Disable editing (read-only look). */
|
|
167
|
+
disabled?: boolean;
|
|
168
|
+
labels?: Partial<typeof descriptionListLabels>;
|
|
169
|
+
className?: string;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Click-to-edit value for Description list rows. The value is a button ("Edit Phone");
|
|
173
|
+
* Enter saves, Escape cancels, focus returns to the value afterwards.
|
|
174
|
+
*/
|
|
175
|
+
export declare function DescriptionEditable({ value, onSave, label, display, inputType, placeholder, disabled, labels, className }: DescriptionEditableProps): React.JSX.Element;
|
|
176
|
+
export interface ItemListboxProps extends Omit<React.HTMLAttributes<HTMLUListElement>, "defaultValue" | "onChange"> {
|
|
177
|
+
selectable: "single" | "multiple";
|
|
178
|
+
value?: string[];
|
|
179
|
+
defaultValue?: string[];
|
|
180
|
+
onValueChange?: (value: string[]) => void;
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Listbox behaviour for `ItemList selectable`: roving focus, ↑ ↓ Home End, Space/Enter toggles,
|
|
184
|
+
* click selects. Direct `Item` children with a `value` become options.
|
|
185
|
+
*/
|
|
186
|
+
export declare const ItemListbox: React.ForwardRefExoticComponent<ItemListboxProps & React.RefAttributes<HTMLUListElement>>;
|
|
187
|
+
/** "Load older activity" button with a busy state while `onLoadMore` resolves. */
|
|
188
|
+
export declare function LoadMoreButton({ onLoadMore, label, className, labels }: {
|
|
189
|
+
onLoadMore: () => void | Promise<void>;
|
|
190
|
+
label?: string;
|
|
191
|
+
className?: string;
|
|
192
|
+
labels?: Partial<typeof timelineLabels>;
|
|
193
|
+
}): React.JSX.Element;
|
|
194
|
+
export {};
|