@plumile/ui 0.1.120 → 0.1.125
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/README.md +12 -0
- package/lib/esm/__tests__/reactDomTestUtils.js +48 -0
- package/lib/esm/__tests__/reactDomTestUtils.js.map +1 -0
- package/lib/esm/admin/organisms/admin_sidebar/AdminSidebar.js +1 -1
- package/lib/esm/admin/organisms/admin_sidebar/adminSidebar.css.js +3 -2
- package/lib/esm/admin/organisms/admin_topbar/adminTopbar.css.js +1 -1
- package/lib/esm/admin/theme/adminDensity.css.js.map +1 -1
- package/lib/esm/admin/theme/adminSurface.css.js.map +1 -1
- package/lib/esm/atomic/atoms/badge/badge.css.js +7 -7
- package/lib/esm/atomic/atoms/badge/badge.css.js.map +1 -1
- package/lib/esm/atomic/atoms/button/button.css.js +38 -38
- package/lib/esm/atomic/atoms/button/button.css.js.map +1 -1
- package/lib/esm/atomic/atoms/checkbox/checkbox.css.js +8 -8
- package/lib/esm/atomic/atoms/checkbox/checkbox.css.js.map +1 -1
- package/lib/esm/atomic/atoms/error_message/errorMessage.css.js +1 -1
- package/lib/esm/atomic/atoms/input/input.css.js +9 -9
- package/lib/esm/atomic/atoms/input/input.css.js.map +1 -1
- package/lib/esm/atomic/atoms/label/label.css.js +7 -7
- package/lib/esm/atomic/atoms/modal/Modal.js +1 -1
- package/lib/esm/atomic/atoms/modal/modal.css.js +1 -1
- package/lib/esm/atomic/atoms/modal/modal.css.js.map +1 -1
- package/lib/esm/atomic/atoms/overlay/overlay.css.js +1 -1
- package/lib/esm/atomic/atoms/textarea/textarea.css.js +8 -8
- package/lib/esm/atomic/atoms/textarea/textarea.css.js.map +1 -1
- package/lib/esm/atomic/molecules/breadcrumb_navigation/BreadcrumbMenuPopover.js +1 -1
- package/lib/esm/atomic/molecules/breadcrumb_navigation/breadcrumbNavigation.css.js +1 -1
- package/lib/esm/atomic/molecules/breadcrumb_navigation/breadcrumbNavigation.css.js.map +1 -1
- package/lib/esm/atomic/molecules/card/Card.css.js +1 -1
- package/lib/esm/atomic/molecules/checkbox_field/checkboxField.css.js +1 -1
- package/lib/esm/atomic/molecules/checkbox_field/checkboxField.css.js.map +1 -1
- package/lib/esm/atomic/molecules/dropdown/dropdown.css.js +1 -1
- package/lib/esm/atomic/molecules/empty-state/EmptyState.css.js +1 -1
- package/lib/esm/atomic/molecules/form/FormErrorBanner.css.js +1 -1
- package/lib/esm/atomic/molecules/form/formStyles.css.js +1 -1
- package/lib/esm/atomic/molecules/form_error/formError.css.js +1 -1
- package/lib/esm/atomic/molecules/form_field/formField.css.js +1 -1
- package/lib/esm/atomic/molecules/highlight/HighlightCode.css.js +1 -1
- package/lib/esm/atomic/molecules/highlight/highlightStyles.css.js +1 -1
- package/lib/esm/atomic/molecules/markdown/LazyMarkdownRenderer.css.js +1 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownArticleContainer.css.js +1 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownArticleContainer.css.js.map +1 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownBlockquote.css.js +1 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownCodeCopyButton.css.js +1 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownCodeCopyButton.css.js.map +1 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownDelete.css.js +1 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownDelete.css.js.map +1 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownEmphasis.css.js.map +1 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownFootnoteDefinition.css.js +1 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownFootnoteReference.css.js +1 -2
- package/lib/esm/atomic/molecules/markdown/components/MarkdownFootnoteReference.css.js.map +1 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownFootnotesSection.css.js +1 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownHeading.css.js +8 -7
- package/lib/esm/atomic/molecules/markdown/components/MarkdownHeading.css.js.map +1 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownHtmlFallback.css.js +1 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownImage.css.js +1 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownInlineCode.css.js +1 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownInlineCode.css.js.map +1 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownLink.css.js +1 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownLink.css.js.map +1 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownList.css.js +1 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownList.css.js.map +1 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownListItem.css.js +1 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownListItem.css.js.map +1 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownMark.css.js +1 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownMark.css.js.map +1 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownMermaidBlock.css.js +1 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownParagraph.css.js +1 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownParagraph.css.js.map +1 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownStrong.css.js +1 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownStrong.css.js.map +1 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownSubscript.css.js +1 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownSubscript.css.js.map +1 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownSuperscript.css.js +1 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownSuperscript.css.js.map +1 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownTable.css.js +1 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownTable.css.js.map +1 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownTableCaption.css.js +1 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownTableCell.css.js +1 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownTableCell.css.js.map +1 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownTableHead.css.js +1 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownTableHeaderCell.css.js +1 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownTaskListItem.css.js +1 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownTaskListItem.css.js.map +1 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownText.css.js +1 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownText.css.js.map +1 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownThematicBreak.css.js +1 -1
- package/lib/esm/atomic/molecules/tabs/tabs.css.js +4 -4
- package/lib/esm/atomic/molecules/toast/toast.css.js +2 -2
- package/lib/esm/atomic/molecules/toast/toast.css.js.map +1 -1
- package/lib/esm/atomic/organisms/login_form/loginForm.css.js +1 -1
- package/lib/esm/atomic/organisms/sidebar/SidebarContainer.js +2 -2
- package/lib/esm/atomic/organisms/sidebar/navigationSidebar.css.js +13 -13
- package/lib/esm/atomic/organisms/sidebar/sidebar.css.js +2 -2
- package/lib/esm/atomic/templates/auth_layout/authLayout.css.js +1 -1
- package/lib/esm/atomic/templates/detail-page/DetailPage.js +4 -4
- package/lib/esm/atomic/templates/detail-page/detailPage.css.js +1 -1
- package/lib/esm/atomic/templates/page-container/PageContainer.js +3 -3
- package/lib/esm/atomic/templates/page-container/pageContainer.css.js +1 -1
- package/lib/esm/backoffice/atoms/backoffice_id_badge/backofficeIdBadge.css.js +1 -1
- package/lib/esm/backoffice/atoms/copyable_text/copyableText.css.js +1 -1
- package/lib/esm/backoffice/atoms/environment_badge/environmentBadge.css.js +1 -1
- package/lib/esm/backoffice/atoms/shortcut_hint/shortcutHint.css.js +1 -1
- package/lib/esm/backoffice/atoms/skeleton/skeleton.css.js +5 -5
- package/lib/esm/backoffice/atoms/skeleton/skeleton.css.js.map +1 -1
- package/lib/esm/backoffice/atoms/spinner/spinner.css.js +1 -1
- package/lib/esm/backoffice/atoms/spinner/spinner.css.js.map +1 -1
- package/lib/esm/backoffice/atoms/status_badge/statusBadge.css.js +1 -1
- package/lib/esm/backoffice/atoms/tag/tag.css.js +7 -7
- package/lib/esm/backoffice/atoms/tag/tag.css.js.map +1 -1
- package/lib/esm/backoffice/molecules/backoffice_detail_layout/backofficeDetailLayout.css.js +1 -1
- package/lib/esm/backoffice/molecules/backoffice_empty_state/backofficeEmptyState.css.js +1 -1
- package/lib/esm/backoffice/molecules/backoffice_filter_drawer/BackofficeFilterDrawer.js +7 -7
- package/lib/esm/backoffice/molecules/backoffice_filter_drawer/backofficeFilterDrawer.css.js +1 -1
- package/lib/esm/backoffice/molecules/backoffice_filter_drawer/backofficeFilterDrawer.css.js.map +1 -1
- package/lib/esm/backoffice/molecules/backoffice_filter_field/backofficeFilterField.css.js +1 -1
- package/lib/esm/backoffice/molecules/backoffice_filters_bar/backofficeFiltersBar.css.js +1 -1
- package/lib/esm/backoffice/molecules/backoffice_form_section/BackofficeFormSection.js +3 -3
- package/lib/esm/backoffice/molecules/backoffice_form_section/backofficeFormSection.css.js +1 -1
- package/lib/esm/backoffice/molecules/backoffice_infinite_list_status/BackofficeInfiniteListStatus.js +2 -2
- package/lib/esm/backoffice/molecules/backoffice_infinite_list_status/backofficeInfiniteListStatus.css.js +1 -1
- package/lib/esm/backoffice/molecules/backoffice_json_viewer/LazyBackofficeJsonViewer.css.js +1 -1
- package/lib/esm/backoffice/molecules/backoffice_json_viewer/LazyBackofficeJsonViewer.js +1 -1
- package/lib/esm/backoffice/molecules/backoffice_json_viewer/backofficeJsonViewer.css.js +1 -1
- package/lib/esm/backoffice/molecules/backoffice_key_value_list/backofficeKeyValueList.css.js +1 -1
- package/lib/esm/backoffice/molecules/backoffice_load_more/backofficeLoadMore.css.js +1 -1
- package/lib/esm/backoffice/molecules/backoffice_load_more/backofficeLoadMore.css.js.map +1 -1
- package/lib/esm/backoffice/molecules/backoffice_page_header/BackofficePageHeader.js +4 -4
- package/lib/esm/backoffice/molecules/backoffice_page_header/backofficePageHeader.css.js +1 -1
- package/lib/esm/backoffice/molecules/backoffice_relations_menu/BackofficeRelationsMenu.js +4 -4
- package/lib/esm/backoffice/molecules/backoffice_relations_menu/backofficeRelationsMenu.css.js +1 -1
- package/lib/esm/backoffice/molecules/backoffice_relations_menu/backofficeRelationsMenu.css.js.map +1 -1
- package/lib/esm/backoffice/molecules/backoffice_table_skeleton/backofficeTableSkeleton.css.js +4 -4
- package/lib/esm/backoffice/molecules/backoffice_table_toolbar/BackofficeTableToolbar.js +8 -8
- package/lib/esm/backoffice/molecules/backoffice_table_toolbar/backofficeTableToolbar.css.js +1 -1
- package/lib/esm/backoffice/molecules/backoffice_table_toolbar/backofficeTableToolbar.css.js.map +1 -1
- package/lib/esm/backoffice/molecules/backoffice_tabs/backofficeTabs.css.js +8 -8
- package/lib/esm/backoffice/molecules/backoffice_tabs/backofficeTabs.css.js.map +1 -1
- package/lib/esm/backoffice/molecules/bulk_actions_bar/bulkActionsBar.css.js +1 -1
- package/lib/esm/backoffice/molecules/confirm_dialog/confirmDialog.css.js +1 -1
- package/lib/esm/backoffice/molecules/filter_chip_row/filterChipRow.css.js +1 -1
- package/lib/esm/backoffice/molecules/filter_chip_row/filterChipRow.css.js.map +1 -1
- package/lib/esm/backoffice/molecules/global_search_input/globalSearchInput.css.js +1 -1
- package/lib/esm/backoffice/molecules/global_search_input/globalSearchInput.css.js.map +1 -1
- package/lib/esm/backoffice/molecules/inline_banner/inlineBanner.css.js +6 -6
- package/lib/esm/backoffice/molecules/inline_banner/inlineBanner.css.js.map +1 -1
- package/lib/esm/backoffice/molecules/sidebar_collapse_toggle/sidebarCollapseToggle.css.js +1 -1
- package/lib/esm/backoffice/molecules/sidebar_collapse_toggle/sidebarCollapseToggle.css.js.map +1 -1
- package/lib/esm/backoffice/molecules/sidebar_nav_item/sidebarNavItem.css.js +1 -1
- package/lib/esm/backoffice/molecules/sidebar_nav_item/sidebarNavItem.css.js.map +1 -1
- package/lib/esm/backoffice/molecules/sidebar_nav_section/SidebarNavSection.js +5 -5
- package/lib/esm/backoffice/molecules/sidebar_nav_section/sidebarNavSection.css.js +1 -1
- package/lib/esm/backoffice/molecules/sidebar_nav_section/sidebarNavSection.css.js.map +1 -1
- package/lib/esm/backoffice/molecules/sidebar_profile_menu/BackofficeSidebarProfileMenu.js +4 -4
- package/lib/esm/backoffice/molecules/sidebar_profile_menu/BackofficeSidebarProfileMenu.js.map +1 -1
- package/lib/esm/backoffice/molecules/sidebar_profile_menu/sidebarProfileMenu.css.js +5 -5
- package/lib/esm/backoffice/molecules/table_toolbar/tableToolbar.css.js +1 -1
- package/lib/esm/backoffice/organisms/audit_timeline/auditTimeline.css.js +1 -1
- package/lib/esm/backoffice/organisms/backoffice_data_table/backofficeDataTable.css.js +1 -1
- package/lib/esm/backoffice/organisms/backoffice_virtualized_connection_table/backofficeVirtualizedConnectionTable.css.js +1 -1
- package/lib/esm/backoffice/organisms/entity_header/entityHeader.css.js +1 -1
- package/lib/esm/backoffice/templates/detail_page_template/DetailPageTemplate.js +2 -2
- package/lib/esm/backoffice/templates/detail_page_template/detailPageTemplate.css.js +2 -2
- package/lib/esm/backoffice/templates/detail_page_template/detailPageTemplate.css.js.map +1 -1
- package/lib/esm/backoffice/templates/list_page_template/ListPageTemplate.js +1 -1
- package/lib/esm/backoffice/templates/list_page_template/ListPageTemplate.js.map +1 -1
- package/lib/esm/backoffice/templates/list_page_template/listPageTemplate.css.js +10 -10
- package/lib/esm/backoffice/templates/list_page_template/listPageTemplate.css.js.map +1 -1
- package/lib/esm/components/agent/AgentMarkdownCard.css.js +1 -1
- package/lib/esm/components/charts/MetricHistoryChart.js +17 -39
- package/lib/esm/components/charts/MetricHistoryChart.js.map +1 -1
- package/lib/esm/components/charts/TimeSeriesLineChart.js +20 -32
- package/lib/esm/components/charts/TimeSeriesLineChart.js.map +1 -1
- package/lib/esm/components/charts/metricHistoryChart.css.js +1 -1
- package/lib/esm/components/charts/timeSeriesLineChart.css.js +1 -1
- package/lib/esm/components/dashboard/activity_card/ActivityCard.css.js +1 -1
- package/lib/esm/components/dashboard/activity_card/ActivityCard.js +2 -2
- package/lib/esm/components/dashboard/activity_feed/ActivityFeed.css.js +1 -1
- package/lib/esm/components/dashboard/dashboard_grid/DashboardGrid.css.js +21 -21
- package/lib/esm/components/dashboard/dashboard_grid/DashboardGrid.css.js.map +1 -1
- package/lib/esm/components/dashboard/metadata_strip/MetadataStrip.css.js +1 -1
- package/lib/esm/components/dashboard/metric_card/MetricCard.css.js +1 -1
- package/lib/esm/components/dashboard/metric_card/MetricCard.js +2 -2
- package/lib/esm/components/dashboard/metric_tile_group/MetricTileGroup.css.js +1 -1
- package/lib/esm/components/dashboard/page_hero/PageHero.css.js +1 -1
- package/lib/esm/components/dashboard/page_hero/PageHero.js +3 -3
- package/lib/esm/components/dashboard/section_nav/SectionNav.css.js +1 -1
- package/lib/esm/components/dashboard/section_nav/SectionNav.css.js.map +1 -1
- package/lib/esm/components/dashboard/segmented_nav/SegmentedNav.css.js +1 -1
- package/lib/esm/components/dashboard/segmented_nav/SegmentedNav.css.js.map +1 -1
- package/lib/esm/components/dashboard/selectable_card/SelectableCard.css.js +1 -1
- package/lib/esm/components/dashboard/selectable_card/SelectableCard.css.js.map +1 -1
- package/lib/esm/components/dashboard/selectable_card/SelectableCard.js +2 -2
- package/lib/esm/components/dashboard/status_summary_panel/StatusSummaryPanel.css.js +1 -1
- package/lib/esm/components/dashboard/status_summary_panel/StatusSummaryPanel.js +1 -1
- package/lib/esm/components/dashboard/timeline_event_row/TimelineEventRow.css.js +1 -1
- package/lib/esm/components/dashboard/timeline_event_row/TimelineEventRow.js +2 -2
- package/lib/esm/components/data-table/DataTable.css.js +28 -28
- package/lib/esm/components/data-table/DataTable.css.js.map +1 -1
- package/lib/esm/components/data-table/DataTable.js +33 -35
- package/lib/esm/components/data-table/DataTable.js.map +1 -1
- package/lib/esm/components/data-table/ResponsiveRecordList.css.js +6 -6
- package/lib/esm/components/data-table/TableCell.css.js +2 -2
- package/lib/esm/components/data-table/VirtualizedConnectionTable.css.js +1 -1
- package/lib/esm/components/data-table/VirtualizedConnectionTable.js +49 -61
- package/lib/esm/components/data-table/VirtualizedConnectionTable.js.map +1 -1
- package/lib/esm/components/feedback/OperationFeedback.css.js +1 -1
- package/lib/esm/components/feedback/OperationFeedback.js +1 -1
- package/lib/esm/components/infinite/InfiniteScrollTrigger.js +1 -1
- package/lib/esm/components/infinite/infiniteScrollTrigger.css.js +1 -1
- package/lib/esm/components/layout/ActionPanel.css.js +1 -1
- package/lib/esm/components/layout/ActionPanel.js +3 -3
- package/lib/esm/components/layout/ActionPanel.js.map +1 -1
- package/lib/esm/components/layout/AppHeader.css.js +1 -1
- package/lib/esm/components/layout/AppHeader.js +4 -4
- package/lib/esm/components/layout/ContentLayout.css.js +1 -1
- package/lib/esm/components/layout/ContentLayout.js +2 -2
- package/lib/esm/components/layout/DetailSummaryHeader.css.js +1 -1
- package/lib/esm/components/layout/DetailSummaryHeader.js +3 -3
- package/lib/esm/components/layout/PageShell.css.js +4 -4
- package/lib/esm/components/layout/PageShell.js +5 -5
- package/lib/esm/components/layout/PageShell.js.map +1 -1
- package/lib/esm/components/layout/SettingsLayout.css.js +1 -1
- package/lib/esm/components/layout/SplitViewLayout.css.js +1 -1
- package/lib/esm/components/layout/TabsContentLayout.css.js +1 -1
- package/lib/esm/components/layout/ToolbarRow.css.js +1 -1
- package/lib/esm/components/media/imagePreviewModal.css.js +5 -5
- package/lib/esm/components/responsive/ResponsiveCollectionRenderer.css.js +1 -1
- package/lib/esm/components/responsive/ResponsiveCollectionRenderer.css.js.map +1 -1
- package/lib/esm/components/routing/routeFallback.css.js +1 -1
- package/lib/esm/components/routing/routeFallback.css.js.map +1 -1
- package/lib/esm/components/routing/routePendingBar.css.js +1 -1
- package/lib/esm/components/routing/routePendingBar.css.js.map +1 -1
- package/lib/esm/components/select/SimpleSelect.css.js +14 -14
- package/lib/esm/components/select/SimpleSelect.css.js.map +1 -1
- package/lib/esm/components/subscriptions/RefetchNeededBanner.css.js +1 -1
- package/lib/esm/components/tile/InfoTile.css.js +1 -1
- package/lib/esm/components/tile/InfoTile.css.js.map +1 -1
- package/lib/esm/components/tile/InfoTile.js +3 -3
- package/lib/esm/index.js +257 -255
- package/lib/esm/internal/charts/metricHistoryChartHelpers.js +24 -0
- package/lib/esm/internal/charts/metricHistoryChartHelpers.js.map +1 -0
- package/lib/esm/internal/charts/timeSeriesLineChartHelpers.js +18 -0
- package/lib/esm/internal/charts/timeSeriesLineChartHelpers.js.map +1 -0
- package/lib/esm/internal/data-table/layout.js +6 -0
- package/lib/esm/internal/data-table/layout.js.map +1 -0
- package/lib/esm/internal/data-table/virtualization.js +12 -0
- package/lib/esm/internal/data-table/virtualization.js.map +1 -0
- package/lib/esm/node_modules/@vitest/pretty-format/dist/index.js +614 -0
- package/lib/esm/node_modules/@vitest/pretty-format/dist/index.js.map +1 -0
- package/lib/esm/node_modules/@vitest/runner/dist/chunk-artifact.js +909 -0
- package/lib/esm/node_modules/@vitest/runner/dist/chunk-artifact.js.map +1 -0
- package/lib/esm/node_modules/@vitest/runner/dist/index.js +1 -0
- package/lib/esm/node_modules/@vitest/utils/dist/chunk-pathe.M-eThtNZ.js +50 -0
- package/lib/esm/node_modules/@vitest/utils/dist/chunk-pathe.M-eThtNZ.js.map +1 -0
- package/lib/esm/node_modules/@vitest/utils/dist/display.js +424 -0
- package/lib/esm/node_modules/@vitest/utils/dist/display.js.map +1 -0
- package/lib/esm/node_modules/@vitest/utils/dist/helpers.js +43 -0
- package/lib/esm/node_modules/@vitest/utils/dist/helpers.js.map +1 -0
- package/lib/esm/node_modules/@vitest/utils/dist/source-map.js +68 -0
- package/lib/esm/node_modules/@vitest/utils/dist/source-map.js.map +1 -0
- package/lib/esm/node_modules/@vitest/utils/dist/timers.js +19 -0
- package/lib/esm/node_modules/@vitest/utils/dist/timers.js.map +1 -0
- package/lib/esm/node_modules/tinyrainbow/dist/index.js +85 -0
- package/lib/esm/node_modules/tinyrainbow/dist/index.js.map +1 -0
- package/lib/esm/shared/backofficeTableDensity.css.js.map +1 -1
- package/lib/esm/style.css +1 -1
- package/lib/esm/theme/accessibility.css.js +1 -1
- package/lib/esm/theme/accessibility.css.js.map +1 -1
- package/lib/esm/theme/index.js +12 -10
- package/lib/esm/theme/sprinkles.css.js +73323 -51658
- package/lib/esm/theme/sprinkles.css.js.map +1 -1
- package/lib/esm/theme/styleRecipes.css.js +19 -0
- package/lib/esm/theme/styleRecipes.css.js.map +1 -0
- package/lib/esm/theme/theme-dark.css.js.map +1 -1
- package/lib/esm/theme/theme-light.css.js +23 -2
- package/lib/esm/theme/theme-light.css.js.map +1 -1
- package/lib/esm/theme/theme.css.js +23 -2
- package/lib/esm/theme/themeContract.js +23 -2
- package/lib/esm/theme/themeContract.js.map +1 -1
- package/lib/types/atomic/atoms/button/button.css.d.ts.map +1 -1
- package/lib/types/atomic/atoms/checkbox/checkbox.css.d.ts.map +1 -1
- package/lib/types/atomic/atoms/input/input.css.d.ts.map +1 -1
- package/lib/types/atomic/atoms/modal/modal.css.d.ts.map +1 -1
- package/lib/types/atomic/atoms/textarea/textarea.css.d.ts.map +1 -1
- package/lib/types/atomic/molecules/markdown/components/MarkdownCodeCopyButton.css.d.ts.map +1 -1
- package/lib/types/atomic/molecules/toast/toast.css.d.ts.map +1 -1
- package/lib/types/backoffice/atoms/tag/tag.css.d.ts.map +1 -1
- package/lib/types/backoffice/molecules/backoffice_filter_drawer/backofficeFilterDrawer.css.d.ts.map +1 -1
- package/lib/types/backoffice/molecules/backoffice_load_more/backofficeLoadMore.css.d.ts.map +1 -1
- package/lib/types/backoffice/molecules/backoffice_relations_menu/backofficeRelationsMenu.css.d.ts.map +1 -1
- package/lib/types/backoffice/molecules/backoffice_table_toolbar/backofficeTableToolbar.css.d.ts.map +1 -1
- package/lib/types/backoffice/molecules/backoffice_tabs/backofficeTabs.css.d.ts.map +1 -1
- package/lib/types/backoffice/molecules/filter_chip_row/filterChipRow.css.d.ts.map +1 -1
- package/lib/types/backoffice/molecules/global_search_input/globalSearchInput.css.d.ts.map +1 -1
- package/lib/types/backoffice/molecules/inline_banner/inlineBanner.css.d.ts.map +1 -1
- package/lib/types/backoffice/molecules/sidebar_collapse_toggle/sidebarCollapseToggle.css.d.ts.map +1 -1
- package/lib/types/backoffice/molecules/sidebar_nav_item/sidebarNavItem.css.d.ts.map +1 -1
- package/lib/types/backoffice/molecules/sidebar_nav_section/sidebarNavSection.css.d.ts.map +1 -1
- package/lib/types/backoffice/templates/detail_page_template/detailPageTemplate.css.d.ts.map +1 -1
- package/lib/types/backoffice/templates/list_page_template/listPageTemplate.css.d.ts.map +1 -1
- package/lib/types/components/charts/MetricHistoryChart.d.ts +0 -8
- package/lib/types/components/charts/MetricHistoryChart.d.ts.map +1 -1
- package/lib/types/components/charts/TimeSeriesLineChart.d.ts +0 -4
- package/lib/types/components/charts/TimeSeriesLineChart.d.ts.map +1 -1
- package/lib/types/components/dashboard/dashboard_grid/DashboardGrid.css.d.ts.map +1 -1
- package/lib/types/components/dashboard/section_nav/SectionNav.css.d.ts.map +1 -1
- package/lib/types/components/dashboard/segmented_nav/SegmentedNav.css.d.ts.map +1 -1
- package/lib/types/components/dashboard/selectable_card/SelectableCard.css.d.ts.map +1 -1
- package/lib/types/components/data-table/DataTable.d.ts +1 -5
- package/lib/types/components/data-table/DataTable.d.ts.map +1 -1
- package/lib/types/components/data-table/VirtualizedConnectionTable.d.ts +1 -34
- package/lib/types/components/data-table/VirtualizedConnectionTable.d.ts.map +1 -1
- package/lib/types/components/select/SimpleSelect.css.d.ts.map +1 -1
- package/lib/types/components/tile/InfoTile.css.d.ts.map +1 -1
- package/lib/types/internal/charts/metricHistoryChartHelpers.d.ts +4 -0
- package/lib/types/internal/charts/metricHistoryChartHelpers.d.ts.map +1 -0
- package/lib/types/internal/charts/timeSeriesLineChartHelpers.d.ts +9 -0
- package/lib/types/internal/charts/timeSeriesLineChartHelpers.d.ts.map +1 -0
- package/lib/types/internal/data-table/layout.d.ts +4 -0
- package/lib/types/internal/data-table/layout.d.ts.map +1 -0
- package/lib/types/internal/data-table/virtualization.d.ts +29 -0
- package/lib/types/internal/data-table/virtualization.d.ts.map +1 -0
- package/lib/types/shared/backofficeTableDensity.css.d.ts.map +1 -1
- package/lib/types/theme/index.d.ts +2 -0
- package/lib/types/theme/index.d.ts.map +1 -1
- package/lib/types/theme/sprinkles.css.d.ts +684 -60
- package/lib/types/theme/sprinkles.css.d.ts.map +1 -1
- package/lib/types/theme/styleRecipes.css.d.ts +29 -0
- package/lib/types/theme/styleRecipes.css.d.ts.map +1 -0
- package/lib/types/theme/theme-dark.css.d.ts.map +1 -1
- package/lib/types/theme/theme-light.css.d.ts +21 -0
- package/lib/types/theme/theme-light.css.d.ts.map +1 -1
- package/lib/types/theme/themeContract.d.ts +21 -0
- package/lib/types/theme/themeContract.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { cx as e } from "../../theme/tools.js";
|
|
2
2
|
import { useUiTranslation as t } from "../../i18n/useUiTranslation.js";
|
|
3
3
|
import { alignRecipe as n, body as r, bodyContained as i, cell as a, container as o, containerWithContainedBody as s, emptyRow as c, header as l, headerCell as u, headerRow as ee, hideBelowRecipe as d, primaryCell as te, primaryHeaderCell as ne, row as re, rowEven as ie, rowOdd as ae } from "./DataTable.css.js";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
4
|
+
import { buildDataTableInlineTemplate as oe } from "../../internal/data-table/layout.js";
|
|
5
|
+
import { bodyViewport as se, sentinel as ce, singleLineCell as le, spacer as f } from "./VirtualizedConnectionTable.css.js";
|
|
6
|
+
import { clamp as ue, computeVirtualWindowBounds as de, isVerticallyScrollable as p, shouldTriggerInfiniteLoad as fe } from "../../internal/data-table/virtualization.js";
|
|
7
|
+
import { useCallback as m, useEffect as h, useLayoutEffect as g, useMemo as _, useRef as v, useState as pe } from "react";
|
|
8
|
+
import { jsx as y, jsxs as b } from "react/jsx-runtime";
|
|
7
9
|
//#region src/components/data-table/VirtualizedConnectionTable.tsx
|
|
8
|
-
var
|
|
10
|
+
var x = (e) => e == null ? null : d({ minVisibleAt: e }), S = (e) => {
|
|
9
11
|
let t = e;
|
|
10
12
|
for (; t != null;) {
|
|
11
|
-
if (
|
|
13
|
+
if (p({
|
|
12
14
|
overflowY: window.getComputedStyle(t).overflowY,
|
|
13
15
|
scrollHeight: t.scrollHeight,
|
|
14
16
|
clientHeight: t.clientHeight
|
|
@@ -16,43 +18,37 @@ var v = "minmax(0, 1fr)", y = (e, t) => typeof t == "string" && t !== "" ? { gri
|
|
|
16
18
|
t = t.parentElement;
|
|
17
19
|
}
|
|
18
20
|
return null;
|
|
19
|
-
}, C = (
|
|
20
|
-
let a = e * t, o = C(i, 0, a), s = C(r, 0, a), c = Math.floor(s / t) - n, l = Math.ceil(o / t) + n, u = C(c, 0, e);
|
|
21
|
-
return {
|
|
22
|
-
startIndex: u,
|
|
23
|
-
endIndex: C(l, u, e)
|
|
24
|
-
};
|
|
25
|
-
}, me = ({ columns: d, rows: v, getRowId: x, emptyState: me, className: he, gridTemplateColumns: ge, kind: _e, classes: w, bodyScrollMode: T = "page", virtualization: E, infiniteScroll: D, hasNextPage: ve = !1, isLoadingMore: ye = !1, onLoadMore: O, ariaLabel: be, ariaLabelledBy: k }) => {
|
|
21
|
+
}, C = ({ columns: d, rows: p, getRowId: C, emptyState: me, className: he, gridTemplateColumns: ge, kind: _e, classes: w, bodyScrollMode: T = "page", virtualization: E, infiniteScroll: D, hasNextPage: ve = !1, isLoadingMore: ye = !1, onLoadMore: O, ariaLabel: be, ariaLabelledBy: k }) => {
|
|
26
22
|
let { t: A } = t(), j = _e ?? "default", M = be ?? A("common.table.label");
|
|
27
23
|
k != null && (M = void 0);
|
|
28
|
-
let N =
|
|
24
|
+
let N = v(null), P = v(null), F = v(null), I = v(null), L = v(null), R = v(null), z = v(!1), B = E?.enabled === !0, V = _(() => {
|
|
29
25
|
if (!B) return null;
|
|
30
26
|
let e = E.rowHeightPx;
|
|
31
27
|
return typeof e == "number" && Number.isFinite(e) && e > 0 ? e : 56;
|
|
32
|
-
}, [B, E]), H =
|
|
28
|
+
}, [B, E]), H = _(() => {
|
|
33
29
|
if (!B) return 0;
|
|
34
30
|
let e = 10, t = E.overscan;
|
|
35
31
|
return typeof t == "number" && Number.isFinite(t) && (e = t), Math.max(0, e);
|
|
36
|
-
}, [B, E]), U = D?.thresholdPx ?? 800, W = D?.autoLoad ?? !0, G = D?.enabled === !0, K = T === "contained", q = G && ve && !ye && O != null, J =
|
|
32
|
+
}, [B, E]), U = D?.thresholdPx ?? 800, W = D?.autoLoad ?? !0, G = D?.enabled === !0, K = T === "contained", q = G && ve && !ye && O != null, J = m(() => {
|
|
37
33
|
O?.();
|
|
38
|
-
}, [O]), [xe, Se] =
|
|
34
|
+
}, [O]), [xe, Se] = pe(() => ({
|
|
39
35
|
startIndex: 0,
|
|
40
|
-
endIndex: Math.min(
|
|
41
|
-
})), Y =
|
|
42
|
-
let o =
|
|
36
|
+
endIndex: Math.min(p.length, 50)
|
|
37
|
+
})), Y = _(() => oe(d.length, ge), [d.length, ge]), Ce = m((t, r, i) => {
|
|
38
|
+
let o = C(t, r), s = [re({ kind: j }), w?.row];
|
|
43
39
|
r % 2 == 0 ? s.push(ie({ kind: j }), w?.rowEven) : s.push(ae({ kind: j }), w?.rowOdd);
|
|
44
40
|
let c = { ...Y };
|
|
45
|
-
return typeof i == "number" && (c.height = i), /* @__PURE__ */
|
|
41
|
+
return typeof i == "number" && (c.height = i), /* @__PURE__ */ y("div", {
|
|
46
42
|
role: "row",
|
|
47
43
|
className: e(...s),
|
|
48
44
|
style: c,
|
|
49
45
|
children: d.map((r) => {
|
|
50
46
|
let i = [
|
|
51
47
|
a({ kind: j }),
|
|
52
|
-
|
|
48
|
+
le,
|
|
53
49
|
w?.cell
|
|
54
|
-
], o =
|
|
55
|
-
return o != null && i.push(o), r.className != null && i.push(r.className), r.isPrimary && i.push(te, w?.primaryCell), r.align != null && i.push(n({ align: r.align })), /* @__PURE__ */
|
|
50
|
+
], o = x(r.minVisibleAt);
|
|
51
|
+
return o != null && i.push(o), r.className != null && i.push(r.className), r.isPrimary && i.push(te, w?.primaryCell), r.align != null && i.push(n({ align: r.align })), /* @__PURE__ */ y("div", {
|
|
56
52
|
role: "cell",
|
|
57
53
|
className: e(...i),
|
|
58
54
|
children: r.cell(t)
|
|
@@ -62,10 +58,10 @@ var v = "minmax(0, 1fr)", y = (e, t) => typeof t == "string" && t !== "" ? { gri
|
|
|
62
58
|
}, [
|
|
63
59
|
w,
|
|
64
60
|
d,
|
|
65
|
-
|
|
61
|
+
C,
|
|
66
62
|
Y,
|
|
67
63
|
j
|
|
68
|
-
]), X =
|
|
64
|
+
]), X = m(() => {
|
|
69
65
|
if (!B) return;
|
|
70
66
|
let e = V;
|
|
71
67
|
if (e == null) return;
|
|
@@ -77,8 +73,8 @@ var v = "minmax(0, 1fr)", y = (e, t) => typeof t == "string" && t !== "" ? { gri
|
|
|
77
73
|
let e = r?.getBoundingClientRect().top ?? 0, n = t.getBoundingClientRect().top - e;
|
|
78
74
|
a = Math.max(0, -n);
|
|
79
75
|
}
|
|
80
|
-
let o = a + i, s =
|
|
81
|
-
rowCount:
|
|
76
|
+
let o = a + i, s = p.length * e, c = ue(o, 0, s), { startIndex: l, endIndex: u } = de({
|
|
77
|
+
rowCount: p.length,
|
|
82
78
|
rowHeightPx: e,
|
|
83
79
|
overscan: H,
|
|
84
80
|
visibleTop: a,
|
|
@@ -104,15 +100,15 @@ var v = "minmax(0, 1fr)", y = (e, t) => typeof t == "string" && t !== "" ? { gri
|
|
|
104
100
|
B,
|
|
105
101
|
H,
|
|
106
102
|
V,
|
|
107
|
-
|
|
103
|
+
p.length,
|
|
108
104
|
U,
|
|
109
105
|
J
|
|
110
|
-
]), Z =
|
|
106
|
+
]), Z = m(() => {
|
|
111
107
|
R.current ??= window.requestAnimationFrame(() => {
|
|
112
108
|
R.current = null, X();
|
|
113
109
|
});
|
|
114
110
|
}, [X]);
|
|
115
|
-
|
|
111
|
+
g(() => {
|
|
116
112
|
if (!B) return;
|
|
117
113
|
let e = N.current;
|
|
118
114
|
e != null && (K ? L.current = P.current : L.current = S(e), Z());
|
|
@@ -120,7 +116,7 @@ var v = "minmax(0, 1fr)", y = (e, t) => typeof t == "string" && t !== "" ? { gri
|
|
|
120
116
|
K,
|
|
121
117
|
B,
|
|
122
118
|
Z
|
|
123
|
-
]),
|
|
119
|
+
]), h(() => {
|
|
124
120
|
if (!B) return;
|
|
125
121
|
let e = L.current ?? window, t = () => {
|
|
126
122
|
Z();
|
|
@@ -128,7 +124,7 @@ var v = "minmax(0, 1fr)", y = (e, t) => typeof t == "string" && t !== "" ? { gri
|
|
|
128
124
|
return e.addEventListener("scroll", t, { passive: !0 }), window.addEventListener("resize", t), () => {
|
|
129
125
|
e.removeEventListener("scroll", t), window.removeEventListener("resize", t);
|
|
130
126
|
};
|
|
131
|
-
}, [B, Z]),
|
|
127
|
+
}, [B, Z]), h(() => {
|
|
132
128
|
if (B || !G || !W || !q) return;
|
|
133
129
|
let e = I.current;
|
|
134
130
|
if (e == null) return;
|
|
@@ -151,21 +147,21 @@ var v = "minmax(0, 1fr)", y = (e, t) => typeof t == "string" && t !== "" ? { gri
|
|
|
151
147
|
B,
|
|
152
148
|
U,
|
|
153
149
|
J
|
|
154
|
-
]),
|
|
150
|
+
]), g(() => {
|
|
155
151
|
if (B) return;
|
|
156
152
|
let e = N.current;
|
|
157
153
|
e != null && (K ? L.current = P.current : L.current = S(e));
|
|
158
154
|
}, [K, B]);
|
|
159
|
-
let we = /* @__PURE__ */
|
|
155
|
+
let we = /* @__PURE__ */ y("div", {
|
|
160
156
|
className: e(l({ kind: j }), w?.header),
|
|
161
157
|
role: "rowgroup",
|
|
162
|
-
children: /* @__PURE__ */
|
|
158
|
+
children: /* @__PURE__ */ y("div", {
|
|
163
159
|
className: e(ee, w?.headerRow),
|
|
164
160
|
role: "row",
|
|
165
161
|
style: Y,
|
|
166
162
|
children: d.map((t) => {
|
|
167
|
-
let r = [u({ kind: j }), w?.headerCell], i =
|
|
168
|
-
return i != null && r.push(i), t.className != null && r.push(t.className), t.isPrimary && r.push(ne, w?.primaryHeaderCell), t.align != null && r.push(n({ align: t.align })), /* @__PURE__ */
|
|
163
|
+
let r = [u({ kind: j }), w?.headerCell], i = x(t.minVisibleAt);
|
|
164
|
+
return i != null && r.push(i), t.className != null && r.push(t.className), t.isPrimary && r.push(ne, w?.primaryHeaderCell), t.align != null && r.push(n({ align: t.align })), /* @__PURE__ */ y("div", {
|
|
169
165
|
role: "columnheader",
|
|
170
166
|
className: e(...r),
|
|
171
167
|
children: t.header
|
|
@@ -173,52 +169,52 @@ var v = "minmax(0, 1fr)", y = (e, t) => typeof t == "string" && t !== "" ? { gri
|
|
|
173
169
|
})
|
|
174
170
|
})
|
|
175
171
|
}), Q;
|
|
176
|
-
if (
|
|
172
|
+
if (p.length === 0) Q = /* @__PURE__ */ y("div", {
|
|
177
173
|
className: e(c, w?.emptyRow),
|
|
178
174
|
role: "row",
|
|
179
|
-
children: /* @__PURE__ */
|
|
175
|
+
children: /* @__PURE__ */ y("div", {
|
|
180
176
|
role: "cell",
|
|
181
|
-
children: me ?? /* @__PURE__ */
|
|
182
|
-
className: e("ysn84624
|
|
177
|
+
children: me ?? /* @__PURE__ */ y("div", {
|
|
178
|
+
className: e("ysn84624 txvbqb9w txvbqb19cb txvbqb16fa", w?.emptyCell),
|
|
183
179
|
children: A("common.table.empty")
|
|
184
180
|
})
|
|
185
181
|
})
|
|
186
182
|
});
|
|
187
183
|
else if (B && V != null) {
|
|
188
|
-
let { startIndex: e, endIndex: t } = xe, n = e * V, r = (
|
|
189
|
-
Q = /* @__PURE__ */
|
|
190
|
-
className:
|
|
184
|
+
let { startIndex: e, endIndex: t } = xe, n = e * V, r = (p.length - t) * V, i = p.slice(e, t);
|
|
185
|
+
Q = /* @__PURE__ */ b("div", {
|
|
186
|
+
className: se,
|
|
191
187
|
ref: F,
|
|
192
188
|
children: [
|
|
193
|
-
/* @__PURE__ */
|
|
189
|
+
/* @__PURE__ */ y("div", {
|
|
194
190
|
className: f,
|
|
195
191
|
style: { height: n }
|
|
196
192
|
}),
|
|
197
193
|
i.map((t, n) => Ce(t, e + n, V)),
|
|
198
|
-
/* @__PURE__ */
|
|
194
|
+
/* @__PURE__ */ y("div", {
|
|
199
195
|
className: f,
|
|
200
196
|
style: { height: r }
|
|
201
197
|
})
|
|
202
198
|
]
|
|
203
199
|
});
|
|
204
|
-
} else Q = /* @__PURE__ */
|
|
200
|
+
} else Q = /* @__PURE__ */ y("div", {
|
|
205
201
|
ref: F,
|
|
206
|
-
children:
|
|
202
|
+
children: p.map((e, t) => Ce(e, t, null))
|
|
207
203
|
});
|
|
208
204
|
let Te = null;
|
|
209
|
-
!B && G && W && (Te = /* @__PURE__ */
|
|
205
|
+
!B && G && W && (Te = /* @__PURE__ */ y("div", {
|
|
210
206
|
ref: I,
|
|
211
|
-
className:
|
|
207
|
+
className: ce
|
|
212
208
|
}));
|
|
213
209
|
let Ee = null, $ = null;
|
|
214
|
-
return K && (Ee = s, $ = i), /* @__PURE__ */
|
|
210
|
+
return K && (Ee = s, $ = i), /* @__PURE__ */ b("div", {
|
|
215
211
|
ref: N,
|
|
216
212
|
className: e(o({ kind: j }), Ee, w?.container, he),
|
|
217
213
|
role: "table",
|
|
218
214
|
"aria-label": M,
|
|
219
215
|
"aria-labelledby": k,
|
|
220
216
|
"data-scroll-mode": T,
|
|
221
|
-
children: [we, /* @__PURE__ */
|
|
217
|
+
children: [we, /* @__PURE__ */ b("div", {
|
|
222
218
|
ref: P,
|
|
223
219
|
className: e(r({ kind: j }), $, w?.body),
|
|
224
220
|
role: "rowgroup",
|
|
@@ -226,16 +222,8 @@ var v = "minmax(0, 1fr)", y = (e, t) => typeof t == "string" && t !== "" ? { gri
|
|
|
226
222
|
children: [Q, Te]
|
|
227
223
|
})]
|
|
228
224
|
});
|
|
229
|
-
}, he = {
|
|
230
|
-
buildInlineTemplate: y,
|
|
231
|
-
getVisibilityClass: b,
|
|
232
|
-
isVerticallyScrollable: x,
|
|
233
|
-
findScrollParent: S,
|
|
234
|
-
clamp: C,
|
|
235
|
-
shouldTriggerInfiniteLoad: fe,
|
|
236
|
-
computeVirtualWindowBounds: pe
|
|
237
225
|
};
|
|
238
226
|
//#endregion
|
|
239
|
-
export {
|
|
227
|
+
export { C as VirtualizedConnectionTable };
|
|
240
228
|
|
|
241
229
|
//# sourceMappingURL=VirtualizedConnectionTable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VirtualizedConnectionTable.js","names":[],"sources":["../../../../src/components/data-table/VirtualizedConnectionTable.tsx"],"sourcesContent":["import {\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n type CSSProperties,\n type JSX,\n} from 'react';\n\nimport type { DataTableBreakpoint } from './tableBreakpoints.js';\nimport type {\n DataTableBodyScrollMode,\n DataTableColumn,\n DataTableKind,\n GetRowId,\n} from './DataTable.js';\nimport * as dataTableStyles from './DataTable.css.js';\nimport * as styles from './VirtualizedConnectionTable.css.js';\n\nimport { cx } from '../../theme/tools.js';\nimport { useUiTranslation } from '../../i18n/useUiTranslation.js';\nimport type { SlotClasses } from '../../styles/slots.js';\n\nexport type VirtualizationConfig = {\n enabled: boolean;\n rowHeightPx: number;\n overscan: number;\n};\n\nexport type InfiniteScrollConfig = {\n enabled: boolean;\n thresholdPx?: number;\n autoLoad?: boolean;\n};\n\ntype DataTableSlot =\n | 'container'\n | 'header'\n | 'headerRow'\n | 'headerCell'\n | 'primaryHeaderCell'\n | 'body'\n | 'row'\n | 'rowEven'\n | 'rowOdd'\n | 'cell'\n | 'primaryCell'\n | 'emptyRow'\n | 'emptyCell';\n\nexport type VirtualizedConnectionTableProps<Row> = {\n columns: readonly DataTableColumn<Row>[];\n rows: readonly Row[];\n getRowId: GetRowId<Row>;\n emptyState?: JSX.Element;\n className?: string;\n gridTemplateColumns?: string;\n kind?: DataTableKind;\n classes?: SlotClasses<DataTableSlot>;\n bodyScrollMode?: DataTableBodyScrollMode;\n\n virtualization?: VirtualizationConfig;\n\n infiniteScroll?: InfiniteScrollConfig;\n hasNextPage?: boolean;\n isLoadingMore?: boolean;\n onLoadMore?: () => void;\n ariaLabel?: string;\n ariaLabelledBy?: string;\n};\n\nconst DEFAULT_TEMPLATE_CELL = 'minmax(0, 1fr)';\n\nconst buildInlineTemplate = (\n columnCount: number,\n gridTemplateColumns?: string,\n): CSSProperties => {\n if (typeof gridTemplateColumns === 'string' && gridTemplateColumns !== '') {\n return { gridTemplateColumns };\n }\n return {\n gridTemplateColumns: `repeat(${columnCount}, ${DEFAULT_TEMPLATE_CELL})`,\n };\n};\n\nconst getVisibilityClass = (minVisibleAt?: DataTableBreakpoint) => {\n if (minVisibleAt == null) {\n return null;\n }\n return dataTableStyles.hideBelowRecipe({ minVisibleAt });\n};\n\nconst isVerticallyScrollable = ({\n overflowY,\n scrollHeight,\n clientHeight,\n}: {\n overflowY: string;\n scrollHeight: number;\n clientHeight: number;\n}): boolean => {\n if (\n overflowY !== 'auto' &&\n overflowY !== 'scroll' &&\n overflowY !== 'overlay'\n ) {\n return false;\n }\n return scrollHeight > clientHeight + 1;\n};\n\nconst findScrollParent = (el: HTMLElement | null): HTMLElement | null => {\n let current: HTMLElement | null = el;\n while (current != null) {\n const style = window.getComputedStyle(current);\n if (\n isVerticallyScrollable({\n overflowY: style.overflowY,\n scrollHeight: current.scrollHeight,\n clientHeight: current.clientHeight,\n })\n ) {\n return current;\n }\n current = current.parentElement;\n }\n return null;\n};\n\ntype VirtualWindow = {\n startIndex: number;\n endIndex: number;\n};\n\ntype ComputeVirtualWindowInput = {\n rowCount: number;\n rowHeightPx: number;\n overscan: number;\n visibleTop: number;\n visibleBottom: number;\n};\n\ntype ShouldTriggerInfiniteLoadInput = {\n autoLoad: boolean;\n canLoadMore: boolean;\n totalHeight: number;\n visibleBottom: number;\n thresholdPx: number;\n isCoolingDown: boolean;\n};\n\nconst clamp = (value: number, min: number, max: number): number => {\n return Math.min(max, Math.max(min, value));\n};\n\nconst shouldTriggerInfiniteLoad = ({\n autoLoad,\n canLoadMore,\n totalHeight,\n visibleBottom,\n thresholdPx,\n isCoolingDown,\n}: ShouldTriggerInfiniteLoadInput): boolean => {\n if (!autoLoad || !canLoadMore || isCoolingDown) {\n return false;\n }\n return totalHeight - visibleBottom <= thresholdPx;\n};\n\nconst computeVirtualWindowBounds = ({\n rowCount,\n rowHeightPx,\n overscan,\n visibleTop,\n visibleBottom,\n}: ComputeVirtualWindowInput): VirtualWindow => {\n const totalHeight = rowCount * rowHeightPx;\n const clampedBottom = clamp(visibleBottom, 0, totalHeight);\n const clampedTop = clamp(visibleTop, 0, totalHeight);\n\n const rawStart = Math.floor(clampedTop / rowHeightPx) - overscan;\n const rawEnd = Math.ceil(clampedBottom / rowHeightPx) + overscan;\n\n const startIndex = clamp(rawStart, 0, rowCount);\n const endIndex = clamp(rawEnd, startIndex, rowCount);\n\n return { startIndex, endIndex };\n};\n\nexport const VirtualizedConnectionTable = <Row,>({\n columns,\n rows,\n getRowId,\n emptyState,\n className,\n gridTemplateColumns,\n kind,\n classes,\n bodyScrollMode = 'page',\n virtualization,\n infiniteScroll,\n hasNextPage = false,\n isLoadingMore = false,\n onLoadMore,\n ariaLabel,\n ariaLabelledBy,\n}: VirtualizedConnectionTableProps<Row>): JSX.Element => {\n const { t } = useUiTranslation();\n const resolvedKind: DataTableKind = kind ?? 'default';\n const resolvedAriaLabel = ariaLabel ?? t('common.table.label');\n let tableAriaLabel: string | undefined = resolvedAriaLabel;\n if (ariaLabelledBy != null) {\n tableAriaLabel = undefined;\n }\n const containerRef = useRef<HTMLDivElement>(null);\n const bodyScrollerRef = useRef<HTMLDivElement>(null);\n const bodyRef = useRef<HTMLDivElement>(null);\n const sentinelRef = useRef<HTMLDivElement>(null);\n const scrollParentRef = useRef<HTMLElement | null>(null);\n const rafRef = useRef<number | null>(null);\n const loadMoreCooldownRef = useRef(false);\n\n const isVirtualized = virtualization?.enabled === true;\n const rowHeightPx = useMemo(() => {\n if (!isVirtualized) {\n return null;\n }\n\n const configuredRowHeight = virtualization.rowHeightPx;\n if (\n typeof configuredRowHeight === 'number' &&\n Number.isFinite(configuredRowHeight) &&\n configuredRowHeight > 0\n ) {\n return configuredRowHeight;\n }\n\n return 56;\n }, [isVirtualized, virtualization]);\n\n const overscan = useMemo(() => {\n if (!isVirtualized) {\n return 0;\n }\n\n let nextOverscan = 10;\n const configuredOverscan = virtualization.overscan;\n if (\n typeof configuredOverscan === 'number' &&\n Number.isFinite(configuredOverscan)\n ) {\n nextOverscan = configuredOverscan;\n }\n return Math.max(0, nextOverscan);\n }, [isVirtualized, virtualization]);\n\n const thresholdPx = infiniteScroll?.thresholdPx ?? 800;\n const autoLoad = infiniteScroll?.autoLoad ?? true;\n const infiniteEnabled = infiniteScroll?.enabled === true;\n const hasContainedBodyScroll = bodyScrollMode === 'contained';\n\n const canLoadMore =\n infiniteEnabled && hasNextPage && !isLoadingMore && onLoadMore != null;\n\n const triggerLoadMore = useCallback(() => {\n if (onLoadMore == null) {\n return;\n }\n onLoadMore();\n }, [onLoadMore]);\n\n const [windowState, setWindowState] = useState<VirtualWindow>(() => {\n return { startIndex: 0, endIndex: Math.min(rows.length, 50) };\n });\n\n const inlineTemplateStyle = useMemo(() => {\n return buildInlineTemplate(columns.length, gridTemplateColumns);\n }, [columns.length, gridTemplateColumns]);\n\n const renderRow = useCallback(\n (row: Row, index: number, heightPx?: number | null): JSX.Element => {\n const rowId = getRowId(row, index);\n const rowClasses = [\n dataTableStyles.row({ kind: resolvedKind }),\n classes?.row,\n ];\n if (index % 2 === 0) {\n rowClasses.push(\n dataTableStyles.rowEven({ kind: resolvedKind }),\n classes?.rowEven,\n );\n } else {\n rowClasses.push(\n dataTableStyles.rowOdd({ kind: resolvedKind }),\n classes?.rowOdd,\n );\n }\n const rowStyle: CSSProperties = { ...inlineTemplateStyle };\n if (typeof heightPx === 'number') {\n rowStyle.height = heightPx;\n }\n return (\n <div\n key={rowId}\n role=\"row\"\n className={cx(...rowClasses)}\n style={rowStyle}\n >\n {columns.map((column) => {\n const cellClasses = [\n dataTableStyles.cell({ kind: resolvedKind }),\n styles.singleLineCell,\n classes?.cell,\n ];\n const visibilityClass = getVisibilityClass(column.minVisibleAt);\n if (visibilityClass != null) {\n cellClasses.push(visibilityClass);\n }\n if (column.className != null) {\n cellClasses.push(column.className);\n }\n if (column.isPrimary) {\n cellClasses.push(\n dataTableStyles.primaryCell,\n classes?.primaryCell,\n );\n }\n if (column.align != null) {\n cellClasses.push(\n dataTableStyles.alignRecipe({ align: column.align }),\n );\n }\n return (\n <div key={column.id} role=\"cell\" className={cx(...cellClasses)}>\n {column.cell(row)}\n </div>\n );\n })}\n </div>\n );\n },\n [classes, columns, getRowId, inlineTemplateStyle, resolvedKind],\n );\n\n const computeVirtualWindow = useCallback(() => {\n if (!isVirtualized) {\n return;\n }\n const height = rowHeightPx;\n if (height == null) {\n return;\n }\n const bodyEl = bodyRef.current;\n if (bodyEl == null) {\n return;\n }\n\n const bodyScroller = bodyScrollerRef.current;\n const scrollParent = scrollParentRef.current;\n let viewportHeight = scrollParent?.clientHeight ?? window.innerHeight;\n let visibleTop = 0;\n if (hasContainedBodyScroll && bodyScroller != null) {\n viewportHeight = bodyScroller.clientHeight;\n visibleTop = bodyScroller.scrollTop;\n } else {\n const parentRectTop = scrollParent?.getBoundingClientRect().top ?? 0;\n const bodyRectTop = bodyEl.getBoundingClientRect().top;\n const relativeTop = bodyRectTop - parentRectTop;\n visibleTop = Math.max(0, -relativeTop);\n }\n const visibleBottom = visibleTop + viewportHeight;\n\n const totalHeight = rows.length * height;\n const clampedBottom = clamp(visibleBottom, 0, totalHeight);\n const { startIndex, endIndex } = computeVirtualWindowBounds({\n rowCount: rows.length,\n rowHeightPx: height,\n overscan,\n visibleTop,\n visibleBottom,\n });\n\n setWindowState((prev) => {\n if (prev.startIndex === startIndex && prev.endIndex === endIndex) {\n return prev;\n }\n return { startIndex, endIndex };\n });\n\n if (\n shouldTriggerInfiniteLoad({\n autoLoad,\n canLoadMore,\n totalHeight,\n visibleBottom: clampedBottom,\n thresholdPx,\n isCoolingDown: loadMoreCooldownRef.current,\n })\n ) {\n loadMoreCooldownRef.current = true;\n triggerLoadMore();\n window.setTimeout(() => {\n loadMoreCooldownRef.current = false;\n }, 250);\n }\n }, [\n autoLoad,\n canLoadMore,\n hasContainedBodyScroll,\n isVirtualized,\n overscan,\n rowHeightPx,\n rows.length,\n thresholdPx,\n triggerLoadMore,\n ]);\n\n const scheduleCompute = useCallback(() => {\n if (rafRef.current != null) {\n return;\n }\n rafRef.current = window.requestAnimationFrame(() => {\n rafRef.current = null;\n computeVirtualWindow();\n });\n }, [computeVirtualWindow]);\n\n useLayoutEffect(() => {\n if (!isVirtualized) {\n return;\n }\n const container = containerRef.current;\n if (container == null) {\n return;\n }\n if (hasContainedBodyScroll) {\n scrollParentRef.current = bodyScrollerRef.current;\n } else {\n scrollParentRef.current = findScrollParent(container);\n }\n scheduleCompute();\n }, [hasContainedBodyScroll, isVirtualized, scheduleCompute]);\n\n useEffect(() => {\n if (!isVirtualized) {\n return undefined;\n }\n const scrollParent = scrollParentRef.current;\n const target: HTMLElement | Window = scrollParent ?? window;\n\n const handler = () => {\n scheduleCompute();\n };\n\n target.addEventListener('scroll', handler, { passive: true });\n window.addEventListener('resize', handler);\n\n return () => {\n target.removeEventListener('scroll', handler);\n window.removeEventListener('resize', handler);\n };\n }, [isVirtualized, scheduleCompute]);\n\n useEffect(() => {\n if (isVirtualized) {\n return undefined;\n }\n if (!infiniteEnabled || !autoLoad || !canLoadMore) {\n return undefined;\n }\n const sentinel = sentinelRef.current;\n if (sentinel == null) {\n return undefined;\n }\n\n const scrollParent = scrollParentRef.current;\n\n const observer = new IntersectionObserver(\n (entries) => {\n const [entry] = entries;\n if (entry == null) {\n return;\n }\n\n if (entry.isIntersecting && !loadMoreCooldownRef.current) {\n loadMoreCooldownRef.current = true;\n triggerLoadMore();\n window.setTimeout(() => {\n loadMoreCooldownRef.current = false;\n }, 250);\n }\n },\n {\n root: scrollParent,\n rootMargin: `0px 0px ${thresholdPx}px 0px`,\n },\n );\n\n observer.observe(sentinel);\n return () => {\n observer.disconnect();\n };\n }, [\n autoLoad,\n canLoadMore,\n infiniteEnabled,\n isVirtualized,\n thresholdPx,\n triggerLoadMore,\n ]);\n\n useLayoutEffect(() => {\n if (isVirtualized) {\n return;\n }\n const container = containerRef.current;\n if (container == null) {\n return;\n }\n if (hasContainedBodyScroll) {\n scrollParentRef.current = bodyScrollerRef.current;\n } else {\n scrollParentRef.current = findScrollParent(container);\n }\n }, [hasContainedBodyScroll, isVirtualized]);\n\n const headerRow = (\n <div\n className={cx(\n dataTableStyles.header({ kind: resolvedKind }),\n classes?.header,\n )}\n role=\"rowgroup\"\n >\n <div\n className={cx(dataTableStyles.headerRow, classes?.headerRow)}\n role=\"row\"\n style={inlineTemplateStyle}\n >\n {columns.map((column) => {\n const headerClasses = [\n dataTableStyles.headerCell({ kind: resolvedKind }),\n classes?.headerCell,\n ];\n const visibilityClass = getVisibilityClass(column.minVisibleAt);\n if (visibilityClass != null) {\n headerClasses.push(visibilityClass);\n }\n if (column.className != null) {\n headerClasses.push(column.className);\n }\n if (column.isPrimary) {\n headerClasses.push(\n dataTableStyles.primaryHeaderCell,\n classes?.primaryHeaderCell,\n );\n }\n if (column.align != null) {\n headerClasses.push(\n dataTableStyles.alignRecipe({ align: column.align }),\n );\n }\n return (\n <div\n key={column.id}\n role=\"columnheader\"\n className={cx(...headerClasses)}\n >\n {column.header}\n </div>\n );\n })}\n </div>\n </div>\n );\n\n let bodyRows: JSX.Element;\n if (rows.length === 0) {\n bodyRows = (\n <div\n className={cx(dataTableStyles.emptyRow, classes?.emptyRow)}\n role=\"row\"\n >\n <div role=\"cell\">\n {emptyState ?? (\n <div className={cx(dataTableStyles.emptyCell, classes?.emptyCell)}>\n {t('common.table.empty')}\n </div>\n )}\n </div>\n </div>\n );\n } else if (isVirtualized && rowHeightPx != null) {\n const { startIndex, endIndex } = windowState;\n const topSpacerHeight = startIndex * rowHeightPx;\n const bottomSpacerHeight = (rows.length - endIndex) * rowHeightPx;\n const slice = rows.slice(startIndex, endIndex);\n bodyRows = (\n <div className={styles.bodyViewport} ref={bodyRef}>\n <div className={styles.spacer} style={{ height: topSpacerHeight }} />\n {slice.map((row, sliceIndex) => {\n const absoluteIndex = startIndex + sliceIndex;\n return renderRow(row, absoluteIndex, rowHeightPx);\n })}\n <div className={styles.spacer} style={{ height: bottomSpacerHeight }} />\n </div>\n );\n } else {\n bodyRows = (\n <div ref={bodyRef}>\n {rows.map((row, index) => {\n return renderRow(row, index, null);\n })}\n </div>\n );\n }\n\n let sentinelNode: JSX.Element | null = null;\n if (!isVirtualized && infiniteEnabled && autoLoad) {\n sentinelNode = <div ref={sentinelRef} className={styles.sentinel} />;\n }\n\n let containedContainerClassName: string | null = null;\n let containedBodyClassName: string | null = null;\n if (hasContainedBodyScroll) {\n containedContainerClassName = dataTableStyles.containerWithContainedBody;\n containedBodyClassName = dataTableStyles.bodyContained;\n }\n\n return (\n <div\n ref={containerRef}\n className={cx(\n dataTableStyles.container({ kind: resolvedKind }),\n containedContainerClassName,\n classes?.container,\n className,\n )}\n role=\"table\"\n aria-label={tableAriaLabel}\n aria-labelledby={ariaLabelledBy}\n data-scroll-mode={bodyScrollMode}\n >\n {headerRow}\n <div\n ref={bodyScrollerRef}\n className={cx(\n dataTableStyles.body({ kind: resolvedKind }),\n containedBodyClassName,\n classes?.body,\n )}\n role=\"rowgroup\"\n data-scroll-mode={bodyScrollMode}\n >\n {bodyRows}\n {sentinelNode}\n </div>\n </div>\n );\n};\n\nexport const __test = {\n buildInlineTemplate,\n getVisibilityClass,\n isVerticallyScrollable,\n findScrollParent,\n clamp,\n shouldTriggerInfiniteLoad,\n computeVirtualWindowBounds,\n} as const;\n"],"mappings":";;;;;;;AAyEA,IAAM,IAAwB,kBAExB,KACJ,GACA,MAEI,OAAO,KAAwB,YAAY,MAAwB,KAC9D,EAAE,wBAAqB,GAEzB,EACL,qBAAqB,UAAU,EAAY,IAAI,EAAsB,IACtE,EAGG,KAAsB,MACtB,KAAgB,OACX,OAEF,EAAgC,EAAE,iBAAc,CAAC,EAGpD,KAA0B,EAC9B,cACA,iBACA,sBAOE,MAAc,UACd,MAAc,YACd,MAAc,YAEP,KAEF,IAAe,IAAe,GAGjC,KAAoB,MAA+C;CACvE,IAAI,IAA8B;CAClC,OAAO,KAAW,OAAM;EAEtB,IACE,EAAuB;GACrB,WAHU,OAAO,iBAAiB,EAGvB,CAAM;GACjB,cAAc,EAAQ;GACtB,cAAc,EAAQ;GACvB,CAAC,EAEF,OAAO;EAET,IAAU,EAAQ;;CAEpB,OAAO;GAyBH,KAAS,GAAe,GAAa,MAClC,KAAK,IAAI,GAAK,KAAK,IAAI,GAAK,EAAM,CAAC,EAGtC,MAA6B,EACjC,aACA,gBACA,gBACA,kBACA,gBACA,uBAEI,CAAC,KAAY,CAAC,KAAe,IACxB,KAEF,IAAc,KAAiB,GAGlC,MAA8B,EAClC,aACA,gBACA,aACA,eACA,uBAC8C;CAC9C,IAAM,IAAc,IAAW,GACzB,IAAgB,EAAM,GAAe,GAAG,EAAY,EACpD,IAAa,EAAM,GAAY,GAAG,EAAY,EAE9C,IAAW,KAAK,MAAM,IAAa,EAAY,GAAG,GAClD,IAAS,KAAK,KAAK,IAAgB,EAAY,GAAG,GAElD,IAAa,EAAM,GAAU,GAAG,EAAS;CAG/C,OAAO;EAAE;EAAY,UAFJ,EAAM,GAAQ,GAAY,EAEtB;EAAU;GAGpB,MAAoC,EAC/C,YACA,SACA,aACA,gBACA,eACA,yBACA,UACA,YACA,oBAAiB,QACjB,mBACA,mBACA,kBAAc,IACd,oBAAgB,IAChB,eACA,eACA,wBACuD;CACvD,IAAM,EAAE,SAAM,GAAkB,EAC1B,IAA8B,MAAQ,WAExC,IADsB,MAAa,EAAE,qBAAqB;CAE9D,AAAI,KAAkB,SACpB,IAAiB,KAAA;CAEnB,IAAM,IAAe,EAAuB,KAAK,EAC3C,IAAkB,EAAuB,KAAK,EAC9C,IAAU,EAAuB,KAAK,EACtC,IAAc,EAAuB,KAAK,EAC1C,IAAkB,EAA2B,KAAK,EAClD,IAAS,EAAsB,KAAK,EACpC,IAAsB,EAAO,GAAM,EAEnC,IAAgB,GAAgB,YAAY,IAC5C,IAAc,QAAc;EAChC,IAAI,CAAC,GACH,OAAO;EAGT,IAAM,IAAsB,EAAe;EAS3C,OAPE,OAAO,KAAwB,YAC/B,OAAO,SAAS,EAAoB,IACpC,IAAsB,IAEf,IAGF;IACN,CAAC,GAAe,EAAe,CAAC,EAE7B,IAAW,QAAc;EAC7B,IAAI,CAAC,GACH,OAAO;EAGT,IAAI,IAAe,IACb,IAAqB,EAAe;EAO1C,OALE,OAAO,KAAuB,YAC9B,OAAO,SAAS,EAAmB,KAEnC,IAAe,IAEV,KAAK,IAAI,GAAG,EAAa;IAC/B,CAAC,GAAe,EAAe,CAAC,EAE7B,IAAc,GAAgB,eAAe,KAC7C,IAAW,GAAgB,YAAY,IACvC,IAAkB,GAAgB,YAAY,IAC9C,IAAyB,MAAmB,aAE5C,IACJ,KAAmB,MAAe,CAAC,MAAiB,KAAc,MAE9D,IAAkB,QAAkB;EACpC,KAGQ;IACX,CAAC,EAAW,CAAC,EAEV,CAAC,IAAa,MAAkB,UAC7B;EAAE,YAAY;EAAG,UAAU,KAAK,IAAI,EAAK,QAAQ,GAAG;EAAE,EAC7D,EAEI,IAAsB,QACnB,EAAoB,EAAQ,QAAQ,GAAoB,EAC9D,CAAC,EAAQ,QAAQ,GAAoB,CAAC,EAEnC,KAAY,GACf,GAAU,GAAe,MAA0C;EAClE,IAAM,IAAQ,EAAS,GAAK,EAAM,EAC5B,IAAa,CACjB,GAAoB,EAAE,MAAM,GAAc,CAAC,EAC3C,GAAS,IACV;EACD,AAAI,IAAQ,KAAM,IAChB,EAAW,KACT,GAAwB,EAAE,MAAM,GAAc,CAAC,EAC/C,GAAS,QACV,GAED,EAAW,KACT,GAAuB,EAAE,MAAM,GAAc,CAAC,EAC9C,GAAS,OACV;EAEH,IAAM,IAA0B,EAAE,GAAG,GAAqB;EAI1D,OAHI,OAAO,KAAa,aACtB,EAAS,SAAS,IAGlB,kBAAC,OAAD;GAEE,MAAK;GACL,WAAW,EAAG,GAAG,EAAW;GAC5B,OAAO;aAEN,EAAQ,KAAK,MAAW;IACvB,IAAM,IAAc;KAClB,EAAqB,EAAE,MAAM,GAAc,CAAC;KAC5C;KACA,GAAS;KACV,EACK,IAAkB,EAAmB,EAAO,aAAa;IAkB/D,OAjBI,KAAmB,QACrB,EAAY,KAAK,EAAgB,EAE/B,EAAO,aAAa,QACtB,EAAY,KAAK,EAAO,UAAU,EAEhC,EAAO,aACT,EAAY,KACV,IACA,GAAS,YACV,EAEC,EAAO,SAAS,QAClB,EAAY,KACV,EAA4B,EAAE,OAAO,EAAO,OAAO,CAAC,CACrD,EAGD,kBAAC,OAAD;KAAqB,MAAK;KAAO,WAAW,EAAG,GAAG,EAAY;eAC3D,EAAO,KAAK,EAAI;KACb,EAFI,EAAO,GAEX;KAER;GACE,EAnCC,EAmCD;IAGV;EAAC;EAAS;EAAS;EAAU;EAAqB;EAAa,CAChE,EAEK,IAAuB,QAAkB;EAC7C,IAAI,CAAC,GACH;EAEF,IAAM,IAAS;EACf,IAAI,KAAU,MACZ;EAEF,IAAM,IAAS,EAAQ;EACvB,IAAI,KAAU,MACZ;EAGF,IAAM,IAAe,EAAgB,SAC/B,IAAe,EAAgB,SACjC,IAAiB,GAAc,gBAAgB,OAAO,aACtD,IAAa;EACjB,IAAI,KAA0B,KAAgB,MAE5C,AADA,IAAiB,EAAa,cAC9B,IAAa,EAAa;OACrB;GACL,IAAM,IAAgB,GAAc,uBAAuB,CAAC,OAAO,GAE7D,IADc,EAAO,uBAAuB,CAAC,MACjB;GAClC,IAAa,KAAK,IAAI,GAAG,CAAC,EAAY;;EAExC,IAAM,IAAgB,IAAa,GAE7B,IAAc,EAAK,SAAS,GAC5B,IAAgB,EAAM,GAAe,GAAG,EAAY,EACpD,EAAE,eAAY,gBAAa,GAA2B;GAC1D,UAAU,EAAK;GACf,aAAa;GACb;GACA;GACA;GACD,CAAC;EASF,AAPA,IAAgB,MACV,EAAK,eAAe,KAAc,EAAK,aAAa,IAC/C,IAEF;GAAE;GAAY;GAAU,CAC/B,EAGA,GAA0B;GACxB;GACA;GACA;GACA,eAAe;GACf;GACA,eAAe,EAAoB;GACpC,CAAC,KAEF,EAAoB,UAAU,IAC9B,GAAiB,EACjB,OAAO,iBAAiB;GACtB,EAAoB,UAAU;KAC7B,IAAI;IAER;EACD;EACA;EACA;EACA;EACA;EACA;EACA,EAAK;EACL;EACA;EACD,CAAC,EAEI,IAAkB,QAAkB;EACpC,AAGJ,EAAO,YAAU,OAAO,4BAA4B;GAElD,AADA,EAAO,UAAU,MACjB,GAAsB;IACtB;IACD,CAAC,EAAqB,CAAC;CAsF1B,AApFA,SAAsB;EACpB,IAAI,CAAC,GACH;EAEF,IAAM,IAAY,EAAa;EAC3B,KAAa,SAGb,IACF,EAAgB,UAAU,EAAgB,UAE1C,EAAgB,UAAU,EAAiB,EAAU,EAEvD,GAAiB;IAChB;EAAC;EAAwB;EAAe;EAAgB,CAAC,EAE5D,SAAgB;EACd,IAAI,CAAC,GACH;EAGF,IAAM,IADe,EAAgB,WACgB,QAE/C,UAAgB;GACpB,GAAiB;;EAMnB,OAHA,EAAO,iBAAiB,UAAU,GAAS,EAAE,SAAS,IAAM,CAAC,EAC7D,OAAO,iBAAiB,UAAU,EAAQ,QAE7B;GAEX,AADA,EAAO,oBAAoB,UAAU,EAAQ,EAC7C,OAAO,oBAAoB,UAAU,EAAQ;;IAE9C,CAAC,GAAe,EAAgB,CAAC,EAEpC,SAAgB;EAId,IAHI,KAGA,CAAC,KAAmB,CAAC,KAAY,CAAC,GACpC;EAEF,IAAM,IAAW,EAAY;EAC7B,IAAI,KAAY,MACd;EAGF,IAAM,IAAe,EAAgB,SAE/B,IAAW,IAAI,sBAClB,MAAY;GACX,IAAM,CAAC,KAAS;GACZ,KAAS,QAIT,EAAM,kBAAkB,CAAC,EAAoB,YAC/C,EAAoB,UAAU,IAC9B,GAAiB,EACjB,OAAO,iBAAiB;IACtB,EAAoB,UAAU;MAC7B,IAAI;KAGX;GACE,MAAM;GACN,YAAY,WAAW,EAAY;GACpC,CACF;EAGD,OADA,EAAS,QAAQ,EAAS,QACb;GACX,EAAS,YAAY;;IAEtB;EACD;EACA;EACA;EACA;EACA;EACA;EACD,CAAC,EAEF,SAAsB;EACpB,IAAI,GACF;EAEF,IAAM,IAAY,EAAa;EAC3B,KAAa,SAGb,IACF,EAAgB,UAAU,EAAgB,UAE1C,EAAgB,UAAU,EAAiB,EAAU;IAEtD,CAAC,GAAwB,EAAc,CAAC;CAE3C,IAAM,KACJ,kBAAC,OAAD;EACE,WAAW,EACT,EAAuB,EAAE,MAAM,GAAc,CAAC,EAC9C,GAAS,OACV;EACD,MAAK;YAEL,kBAAC,OAAD;GACE,WAAW,EAAG,IAA2B,GAAS,UAAU;GAC5D,MAAK;GACL,OAAO;aAEN,EAAQ,KAAK,MAAW;IACvB,IAAM,IAAgB,CACpB,EAA2B,EAAE,MAAM,GAAc,CAAC,EAClD,GAAS,WACV,EACK,IAAkB,EAAmB,EAAO,aAAa;IAkB/D,OAjBI,KAAmB,QACrB,EAAc,KAAK,EAAgB,EAEjC,EAAO,aAAa,QACtB,EAAc,KAAK,EAAO,UAAU,EAElC,EAAO,aACT,EAAc,KACZ,IACA,GAAS,kBACV,EAEC,EAAO,SAAS,QAClB,EAAc,KACZ,EAA4B,EAAE,OAAO,EAAO,OAAO,CAAC,CACrD,EAGD,kBAAC,OAAD;KAEE,MAAK;KACL,WAAW,EAAG,GAAG,EAAc;eAE9B,EAAO;KACJ,EALC,EAAO,GAKR;KAER;GACE,CAAA;EACF,CAAA,EAGJ;CACJ,IAAI,EAAK,WAAW,GAClB,IACE,kBAAC,OAAD;EACE,WAAW,EAAG,GAA0B,GAAS,SAAS;EAC1D,MAAK;YAEL,kBAAC,OAAD;GAAK,MAAK;aACP,MACC,kBAAC,OAAD;IAAK,WAAW,EAAG,yCAA2B,GAAS,UAAU;cAC9D,EAAE,qBAAqB;IACpB,CAAA;GAEJ,CAAA;EACF,CAAA;MAEH,IAAI,KAAiB,KAAe,MAAM;EAC/C,IAAM,EAAE,eAAY,gBAAa,IAC3B,IAAkB,IAAa,GAC/B,KAAsB,EAAK,SAAS,KAAY,GAChD,IAAQ,EAAK,MAAM,GAAY,EAAS;EAC9C,IACE,kBAAC,OAAD;GAAK,WAAW;GAAqB,KAAK;aAA1C;IACE,kBAAC,OAAD;KAAK,WAAW;KAAe,OAAO,EAAE,QAAQ,GAAiB;KAAI,CAAA;IACpE,EAAM,KAAK,GAAK,MAER,GAAU,GADK,IAAa,GACE,EAAY,CACjD;IACF,kBAAC,OAAD;KAAK,WAAW;KAAe,OAAO,EAAE,QAAQ,GAAoB;KAAI,CAAA;IACpE;;QAGR,IACE,kBAAC,OAAD;EAAK,KAAK;YACP,EAAK,KAAK,GAAK,MACP,GAAU,GAAK,GAAO,KAAK,CAClC;EACE,CAAA;CAIV,IAAI,KAAmC;CACvC,AAAI,CAAC,KAAiB,KAAmB,MACvC,KAAe,kBAAC,OAAD;EAAK,KAAK;EAAa,WAAW;EAAmB,CAAA;CAGtE,IAAI,KAA6C,MAC7C,IAAwC;CAM5C,OALI,MACF,KAA8B,GAC9B,IAAyB,IAIzB,kBAAC,OAAD;EACE,KAAK;EACL,WAAW,EACT,EAA0B,EAAE,MAAM,GAAc,CAAC,EACjD,IACA,GAAS,WACT,GACD;EACD,MAAK;EACL,cAAY;EACZ,mBAAiB;EACjB,oBAAkB;YAXpB,CAaG,IACD,kBAAC,OAAD;GACE,KAAK;GACL,WAAW,EACT,EAAqB,EAAE,MAAM,GAAc,CAAC,EAC5C,GACA,GAAS,KACV;GACD,MAAK;GACL,oBAAkB;aARpB,CAUG,GACA,GACG;KACF;;GAIG,KAAS;CACpB;CACA;CACA;CACA;CACA;CACA;CACA;CACD"}
|
|
1
|
+
{"version":3,"file":"VirtualizedConnectionTable.js","names":[],"sources":["../../../../src/components/data-table/VirtualizedConnectionTable.tsx"],"sourcesContent":["import {\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n type CSSProperties,\n type JSX,\n} from 'react';\n\nimport type { DataTableBreakpoint } from './tableBreakpoints.js';\nimport type {\n DataTableBodyScrollMode,\n DataTableColumn,\n DataTableKind,\n GetRowId,\n} from './DataTable.js';\nimport * as dataTableStyles from './DataTable.css.js';\nimport * as styles from './VirtualizedConnectionTable.css.js';\n\nimport { buildDataTableInlineTemplate } from '../../internal/data-table/layout.js';\nimport {\n clamp,\n computeVirtualWindowBounds,\n isVerticallyScrollable,\n shouldTriggerInfiniteLoad,\n type VirtualWindow,\n} from '../../internal/data-table/virtualization.js';\nimport { cx } from '../../theme/tools.js';\nimport { useUiTranslation } from '../../i18n/useUiTranslation.js';\nimport type { SlotClasses } from '../../styles/slots.js';\n\nexport type VirtualizationConfig = {\n enabled: boolean;\n rowHeightPx: number;\n overscan: number;\n};\n\nexport type InfiniteScrollConfig = {\n enabled: boolean;\n thresholdPx?: number;\n autoLoad?: boolean;\n};\n\ntype DataTableSlot =\n | 'container'\n | 'header'\n | 'headerRow'\n | 'headerCell'\n | 'primaryHeaderCell'\n | 'body'\n | 'row'\n | 'rowEven'\n | 'rowOdd'\n | 'cell'\n | 'primaryCell'\n | 'emptyRow'\n | 'emptyCell';\n\nexport type VirtualizedConnectionTableProps<Row> = {\n columns: readonly DataTableColumn<Row>[];\n rows: readonly Row[];\n getRowId: GetRowId<Row>;\n emptyState?: JSX.Element;\n className?: string;\n gridTemplateColumns?: string;\n kind?: DataTableKind;\n classes?: SlotClasses<DataTableSlot>;\n bodyScrollMode?: DataTableBodyScrollMode;\n\n virtualization?: VirtualizationConfig;\n\n infiniteScroll?: InfiniteScrollConfig;\n hasNextPage?: boolean;\n isLoadingMore?: boolean;\n onLoadMore?: () => void;\n ariaLabel?: string;\n ariaLabelledBy?: string;\n};\n\nconst getVisibilityClass = (minVisibleAt?: DataTableBreakpoint) => {\n if (minVisibleAt == null) {\n return null;\n }\n return dataTableStyles.hideBelowRecipe({ minVisibleAt });\n};\n\nconst findScrollParent = (el: HTMLElement | null): HTMLElement | null => {\n let current: HTMLElement | null = el;\n while (current != null) {\n const style = window.getComputedStyle(current);\n if (\n isVerticallyScrollable({\n overflowY: style.overflowY,\n scrollHeight: current.scrollHeight,\n clientHeight: current.clientHeight,\n })\n ) {\n return current;\n }\n current = current.parentElement;\n }\n return null;\n};\n\nexport const VirtualizedConnectionTable = <Row,>({\n columns,\n rows,\n getRowId,\n emptyState,\n className,\n gridTemplateColumns,\n kind,\n classes,\n bodyScrollMode = 'page',\n virtualization,\n infiniteScroll,\n hasNextPage = false,\n isLoadingMore = false,\n onLoadMore,\n ariaLabel,\n ariaLabelledBy,\n}: VirtualizedConnectionTableProps<Row>): JSX.Element => {\n const { t } = useUiTranslation();\n const resolvedKind: DataTableKind = kind ?? 'default';\n const resolvedAriaLabel = ariaLabel ?? t('common.table.label');\n let tableAriaLabel: string | undefined = resolvedAriaLabel;\n if (ariaLabelledBy != null) {\n tableAriaLabel = undefined;\n }\n const containerRef = useRef<HTMLDivElement>(null);\n const bodyScrollerRef = useRef<HTMLDivElement>(null);\n const bodyRef = useRef<HTMLDivElement>(null);\n const sentinelRef = useRef<HTMLDivElement>(null);\n const scrollParentRef = useRef<HTMLElement | null>(null);\n const rafRef = useRef<number | null>(null);\n const loadMoreCooldownRef = useRef(false);\n\n const isVirtualized = virtualization?.enabled === true;\n const rowHeightPx = useMemo(() => {\n if (!isVirtualized) {\n return null;\n }\n\n const configuredRowHeight = virtualization.rowHeightPx;\n if (\n typeof configuredRowHeight === 'number' &&\n Number.isFinite(configuredRowHeight) &&\n configuredRowHeight > 0\n ) {\n return configuredRowHeight;\n }\n\n return 56;\n }, [isVirtualized, virtualization]);\n\n const overscan = useMemo(() => {\n if (!isVirtualized) {\n return 0;\n }\n\n let nextOverscan = 10;\n const configuredOverscan = virtualization.overscan;\n if (\n typeof configuredOverscan === 'number' &&\n Number.isFinite(configuredOverscan)\n ) {\n nextOverscan = configuredOverscan;\n }\n return Math.max(0, nextOverscan);\n }, [isVirtualized, virtualization]);\n\n const thresholdPx = infiniteScroll?.thresholdPx ?? 800;\n const autoLoad = infiniteScroll?.autoLoad ?? true;\n const infiniteEnabled = infiniteScroll?.enabled === true;\n const hasContainedBodyScroll = bodyScrollMode === 'contained';\n\n const canLoadMore =\n infiniteEnabled && hasNextPage && !isLoadingMore && onLoadMore != null;\n\n const triggerLoadMore = useCallback(() => {\n if (onLoadMore == null) {\n return;\n }\n onLoadMore();\n }, [onLoadMore]);\n\n const [windowState, setWindowState] = useState<VirtualWindow>(() => {\n return { startIndex: 0, endIndex: Math.min(rows.length, 50) };\n });\n\n const inlineTemplateStyle = useMemo(() => {\n return buildDataTableInlineTemplate(columns.length, gridTemplateColumns);\n }, [columns.length, gridTemplateColumns]);\n\n const renderRow = useCallback(\n (row: Row, index: number, heightPx?: number | null): JSX.Element => {\n const rowId = getRowId(row, index);\n const rowClasses = [\n dataTableStyles.row({ kind: resolvedKind }),\n classes?.row,\n ];\n if (index % 2 === 0) {\n rowClasses.push(\n dataTableStyles.rowEven({ kind: resolvedKind }),\n classes?.rowEven,\n );\n } else {\n rowClasses.push(\n dataTableStyles.rowOdd({ kind: resolvedKind }),\n classes?.rowOdd,\n );\n }\n const rowStyle: CSSProperties = { ...inlineTemplateStyle };\n if (typeof heightPx === 'number') {\n rowStyle.height = heightPx;\n }\n return (\n <div\n key={rowId}\n role=\"row\"\n className={cx(...rowClasses)}\n style={rowStyle}\n >\n {columns.map((column) => {\n const cellClasses = [\n dataTableStyles.cell({ kind: resolvedKind }),\n styles.singleLineCell,\n classes?.cell,\n ];\n const visibilityClass = getVisibilityClass(column.minVisibleAt);\n if (visibilityClass != null) {\n cellClasses.push(visibilityClass);\n }\n if (column.className != null) {\n cellClasses.push(column.className);\n }\n if (column.isPrimary) {\n cellClasses.push(\n dataTableStyles.primaryCell,\n classes?.primaryCell,\n );\n }\n if (column.align != null) {\n cellClasses.push(\n dataTableStyles.alignRecipe({ align: column.align }),\n );\n }\n return (\n <div key={column.id} role=\"cell\" className={cx(...cellClasses)}>\n {column.cell(row)}\n </div>\n );\n })}\n </div>\n );\n },\n [classes, columns, getRowId, inlineTemplateStyle, resolvedKind],\n );\n\n const computeVirtualWindow = useCallback(() => {\n if (!isVirtualized) {\n return;\n }\n const height = rowHeightPx;\n if (height == null) {\n return;\n }\n const bodyEl = bodyRef.current;\n if (bodyEl == null) {\n return;\n }\n\n const bodyScroller = bodyScrollerRef.current;\n const scrollParent = scrollParentRef.current;\n let viewportHeight = scrollParent?.clientHeight ?? window.innerHeight;\n let visibleTop = 0;\n if (hasContainedBodyScroll && bodyScroller != null) {\n viewportHeight = bodyScroller.clientHeight;\n visibleTop = bodyScroller.scrollTop;\n } else {\n const parentRectTop = scrollParent?.getBoundingClientRect().top ?? 0;\n const bodyRectTop = bodyEl.getBoundingClientRect().top;\n const relativeTop = bodyRectTop - parentRectTop;\n visibleTop = Math.max(0, -relativeTop);\n }\n const visibleBottom = visibleTop + viewportHeight;\n\n const totalHeight = rows.length * height;\n const clampedBottom = clamp(visibleBottom, 0, totalHeight);\n const { startIndex, endIndex } = computeVirtualWindowBounds({\n rowCount: rows.length,\n rowHeightPx: height,\n overscan,\n visibleTop,\n visibleBottom,\n });\n\n setWindowState((prev) => {\n if (prev.startIndex === startIndex && prev.endIndex === endIndex) {\n return prev;\n }\n return { startIndex, endIndex };\n });\n\n if (\n shouldTriggerInfiniteLoad({\n autoLoad,\n canLoadMore,\n totalHeight,\n visibleBottom: clampedBottom,\n thresholdPx,\n isCoolingDown: loadMoreCooldownRef.current,\n })\n ) {\n loadMoreCooldownRef.current = true;\n triggerLoadMore();\n window.setTimeout(() => {\n loadMoreCooldownRef.current = false;\n }, 250);\n }\n }, [\n autoLoad,\n canLoadMore,\n hasContainedBodyScroll,\n isVirtualized,\n overscan,\n rowHeightPx,\n rows.length,\n thresholdPx,\n triggerLoadMore,\n ]);\n\n const scheduleCompute = useCallback(() => {\n if (rafRef.current != null) {\n return;\n }\n rafRef.current = window.requestAnimationFrame(() => {\n rafRef.current = null;\n computeVirtualWindow();\n });\n }, [computeVirtualWindow]);\n\n useLayoutEffect(() => {\n if (!isVirtualized) {\n return;\n }\n const container = containerRef.current;\n if (container == null) {\n return;\n }\n if (hasContainedBodyScroll) {\n scrollParentRef.current = bodyScrollerRef.current;\n } else {\n scrollParentRef.current = findScrollParent(container);\n }\n scheduleCompute();\n }, [hasContainedBodyScroll, isVirtualized, scheduleCompute]);\n\n useEffect(() => {\n if (!isVirtualized) {\n return undefined;\n }\n const scrollParent = scrollParentRef.current;\n const target: HTMLElement | Window = scrollParent ?? window;\n\n const handler = () => {\n scheduleCompute();\n };\n\n target.addEventListener('scroll', handler, { passive: true });\n window.addEventListener('resize', handler);\n\n return () => {\n target.removeEventListener('scroll', handler);\n window.removeEventListener('resize', handler);\n };\n }, [isVirtualized, scheduleCompute]);\n\n useEffect(() => {\n if (isVirtualized) {\n return undefined;\n }\n if (!infiniteEnabled || !autoLoad || !canLoadMore) {\n return undefined;\n }\n const sentinel = sentinelRef.current;\n if (sentinel == null) {\n return undefined;\n }\n\n const scrollParent = scrollParentRef.current;\n\n const observer = new IntersectionObserver(\n (entries) => {\n const [entry] = entries;\n if (entry == null) {\n return;\n }\n\n if (entry.isIntersecting && !loadMoreCooldownRef.current) {\n loadMoreCooldownRef.current = true;\n triggerLoadMore();\n window.setTimeout(() => {\n loadMoreCooldownRef.current = false;\n }, 250);\n }\n },\n {\n root: scrollParent,\n rootMargin: `0px 0px ${thresholdPx}px 0px`,\n },\n );\n\n observer.observe(sentinel);\n return () => {\n observer.disconnect();\n };\n }, [\n autoLoad,\n canLoadMore,\n infiniteEnabled,\n isVirtualized,\n thresholdPx,\n triggerLoadMore,\n ]);\n\n useLayoutEffect(() => {\n if (isVirtualized) {\n return;\n }\n const container = containerRef.current;\n if (container == null) {\n return;\n }\n if (hasContainedBodyScroll) {\n scrollParentRef.current = bodyScrollerRef.current;\n } else {\n scrollParentRef.current = findScrollParent(container);\n }\n }, [hasContainedBodyScroll, isVirtualized]);\n\n const headerRow = (\n <div\n className={cx(\n dataTableStyles.header({ kind: resolvedKind }),\n classes?.header,\n )}\n role=\"rowgroup\"\n >\n <div\n className={cx(dataTableStyles.headerRow, classes?.headerRow)}\n role=\"row\"\n style={inlineTemplateStyle}\n >\n {columns.map((column) => {\n const headerClasses = [\n dataTableStyles.headerCell({ kind: resolvedKind }),\n classes?.headerCell,\n ];\n const visibilityClass = getVisibilityClass(column.minVisibleAt);\n if (visibilityClass != null) {\n headerClasses.push(visibilityClass);\n }\n if (column.className != null) {\n headerClasses.push(column.className);\n }\n if (column.isPrimary) {\n headerClasses.push(\n dataTableStyles.primaryHeaderCell,\n classes?.primaryHeaderCell,\n );\n }\n if (column.align != null) {\n headerClasses.push(\n dataTableStyles.alignRecipe({ align: column.align }),\n );\n }\n return (\n <div\n key={column.id}\n role=\"columnheader\"\n className={cx(...headerClasses)}\n >\n {column.header}\n </div>\n );\n })}\n </div>\n </div>\n );\n\n let bodyRows: JSX.Element;\n if (rows.length === 0) {\n bodyRows = (\n <div\n className={cx(dataTableStyles.emptyRow, classes?.emptyRow)}\n role=\"row\"\n >\n <div role=\"cell\">\n {emptyState ?? (\n <div className={cx(dataTableStyles.emptyCell, classes?.emptyCell)}>\n {t('common.table.empty')}\n </div>\n )}\n </div>\n </div>\n );\n } else if (isVirtualized && rowHeightPx != null) {\n const { startIndex, endIndex } = windowState;\n const topSpacerHeight = startIndex * rowHeightPx;\n const bottomSpacerHeight = (rows.length - endIndex) * rowHeightPx;\n const slice = rows.slice(startIndex, endIndex);\n bodyRows = (\n <div className={styles.bodyViewport} ref={bodyRef}>\n <div className={styles.spacer} style={{ height: topSpacerHeight }} />\n {slice.map((row, sliceIndex) => {\n const absoluteIndex = startIndex + sliceIndex;\n return renderRow(row, absoluteIndex, rowHeightPx);\n })}\n <div className={styles.spacer} style={{ height: bottomSpacerHeight }} />\n </div>\n );\n } else {\n bodyRows = (\n <div ref={bodyRef}>\n {rows.map((row, index) => {\n return renderRow(row, index, null);\n })}\n </div>\n );\n }\n\n let sentinelNode: JSX.Element | null = null;\n if (!isVirtualized && infiniteEnabled && autoLoad) {\n sentinelNode = <div ref={sentinelRef} className={styles.sentinel} />;\n }\n\n let containedContainerClassName: string | null = null;\n let containedBodyClassName: string | null = null;\n if (hasContainedBodyScroll) {\n containedContainerClassName = dataTableStyles.containerWithContainedBody;\n containedBodyClassName = dataTableStyles.bodyContained;\n }\n\n return (\n <div\n ref={containerRef}\n className={cx(\n dataTableStyles.container({ kind: resolvedKind }),\n containedContainerClassName,\n classes?.container,\n className,\n )}\n role=\"table\"\n aria-label={tableAriaLabel}\n aria-labelledby={ariaLabelledBy}\n data-scroll-mode={bodyScrollMode}\n >\n {headerRow}\n <div\n ref={bodyScrollerRef}\n className={cx(\n dataTableStyles.body({ kind: resolvedKind }),\n containedBodyClassName,\n classes?.body,\n )}\n role=\"rowgroup\"\n data-scroll-mode={bodyScrollMode}\n >\n {bodyRows}\n {sentinelNode}\n </div>\n </div>\n );\n};\n"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* empty css */
|
|
2
2
|
/* empty css */
|
|
3
3
|
//#region src/components/feedback/OperationFeedback.css.ts
|
|
4
|
-
var e = "_19ozap70
|
|
4
|
+
var e = "_19ozap70 txvbqbdr8 txvbqbf6i txvbqbffj txvbqb17w0", t = "_19ozap71 txvbqbdr8 txvbqbf91 txvbqbey txvbqbff6";
|
|
5
5
|
//#endregion
|
|
6
6
|
export { t as row, e as stack };
|
|
7
7
|
|
|
@@ -15,7 +15,7 @@ var o = ({ errorMessage: o = null, successMessage: s = null, retryLabel: c, onRe
|
|
|
15
15
|
})), /* @__PURE__ */ a("div", {
|
|
16
16
|
className: r,
|
|
17
17
|
children: [o != null && /* @__PURE__ */ a("div", {
|
|
18
|
-
className: "_19ozap71
|
|
18
|
+
className: "_19ozap71 txvbqbdr8 txvbqbf91 txvbqbey txvbqbff6",
|
|
19
19
|
role: "alert",
|
|
20
20
|
children: [/* @__PURE__ */ i(t, { children: o }), u]
|
|
21
21
|
}), s != null && /* @__PURE__ */ i(n, {
|
|
@@ -28,7 +28,7 @@ var i = ({ enabled: i, hasNext: a, isLoading: o, onTrigger: s, thresholdPx: c =
|
|
|
28
28
|
className: e,
|
|
29
29
|
"aria-hidden": "true",
|
|
30
30
|
children: o && /* @__PURE__ */ r("span", {
|
|
31
|
-
className: "_14q3b2q1
|
|
31
|
+
className: "_14q3b2q1 txvbqb9j txvbqb19cb",
|
|
32
32
|
children: l
|
|
33
33
|
})
|
|
34
34
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* empty css */
|
|
2
2
|
/* empty css */
|
|
3
3
|
//#region src/components/infinite/infiniteScrollTrigger.css.ts
|
|
4
|
-
var e = "_14q3b2q0
|
|
4
|
+
var e = "_14q3b2q0 txvbqb10jb txvbqbvve txvbqb17w0 txvbqbdr8 txvbqbjtp", t = "_14q3b2q1 txvbqb9j txvbqb19cb";
|
|
5
5
|
//#endregion
|
|
6
6
|
export { t as loadingText, e as trigger };
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* empty css */
|
|
2
2
|
/* empty css */
|
|
3
3
|
//#region src/components/layout/ActionPanel.css.ts
|
|
4
|
-
var e = "_13wai4x0
|
|
4
|
+
var e = "_13wai4x0 txvbqbdr8 txvbqbf6i txvbqbffj", t = "_13wai4x1 txvbqbdr8 txvbqbf6i txvbqbfet", n = "_13wai4x2 txvbqbm9g txvbqb9j txvbqbfd0 txvbqb19c9", r = "_13wai4x3 txvbqbm9g txvbqb9j txvbqb19cb", i = "_13wai4x4 txvbqbdr8 txvbqbf6i txvbqbffj", a = "_13wai4x5 txvbqbdr8 txvbqbf91 txvbqbff6", o = "_13wai4x6 txvbqb9j txvbqb19cb";
|
|
5
5
|
//#endregion
|
|
6
6
|
export { a as actions, i as content, r as description, o as feedback, t as header, e as root, n as title };
|
|
7
7
|
|
|
@@ -14,7 +14,7 @@ var c = ({ actions: c, children: l, className: u, description: d, feedback: f, t
|
|
|
14
14
|
className: a,
|
|
15
15
|
children: p
|
|
16
16
|
}), d != null && /* @__PURE__ */ o("div", {
|
|
17
|
-
className: "_13wai4x3
|
|
17
|
+
className: "_13wai4x3 txvbqbm9g txvbqb9j txvbqb19cb",
|
|
18
18
|
children: d
|
|
19
19
|
})]
|
|
20
20
|
}),
|
|
@@ -23,11 +23,11 @@ var c = ({ actions: c, children: l, className: u, description: d, feedback: f, t
|
|
|
23
23
|
children: l
|
|
24
24
|
}),
|
|
25
25
|
c != null && /* @__PURE__ */ o("div", {
|
|
26
|
-
className: "_13wai4x5
|
|
26
|
+
className: "_13wai4x5 txvbqbdr8 txvbqbf91 txvbqbff6",
|
|
27
27
|
children: c
|
|
28
28
|
}),
|
|
29
29
|
f != null && /* @__PURE__ */ o("div", {
|
|
30
|
-
className: e("_13wai4x6
|
|
30
|
+
className: e("_13wai4x6 txvbqb9j txvbqb19cb"),
|
|
31
31
|
children: f
|
|
32
32
|
})
|
|
33
33
|
]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionPanel.js","names":[],"sources":["../../../../src/components/layout/ActionPanel.tsx"],"sourcesContent":["import { type JSX, type ReactNode } from 'react';\n\nimport { cx } from '../../theme/tools.js';\nimport { PanelShell } from './PanelShell.js';\nimport * as styles from './ActionPanel.css.js';\n\nexport type ActionPanelProps = {\n title: ReactNode;\n description?: ReactNode;\n children: ReactNode;\n actions?: ReactNode;\n feedback?: ReactNode;\n className?: string;\n};\n\nexport const ActionPanel = ({\n actions,\n children,\n className,\n description,\n feedback,\n title,\n}: ActionPanelProps): JSX.Element => {\n return (\n <PanelShell className={className}>\n <div className={styles.root}>\n <div className={styles.header}>\n <h3 className={styles.title}>{title}</h3>\n {description != null && (\n <div className={styles.description}>{description}</div>\n )}\n </div>\n <div className={styles.content}>{children}</div>\n {actions != null && <div className={styles.actions}>{actions}</div>}\n {feedback != null && (\n <div className={cx(styles.feedback)}>{feedback}</div>\n )}\n </div>\n </PanelShell>\n );\n};\n\nexport default ActionPanel;\n"],"mappings":";;;;;AAeA,IAAa,KAAe,EAC1B,SAAA,GACA,aACA,cACA,aAAA,GACA,UAAA,GACA,OAAA,QAGE,kBAAC,GAAD;CAAuB;WACrB,kBAAC,OAAD;EAAK,WAAW;YAAhB;GACE,kBAAC,OAAD;IAAK,WAAW;cAAhB,CACE,kBAAC,MAAD;KAAI,WAAW;eAAe;KAAW,CAAA,EACxC,KAAe,QACd,kBAAC,OAAD;KAAK,WAAW;eAAqB;KAAkB,CAAA,CAErD;;GACN,kBAAC,OAAD;IAAK,WAAW;IAAiB;IAAe,CAAA;GAC/C,KAAW,QAAQ,kBAAC,OAAD;IAAK,WAAW;cAAiB;IAAc,CAAA;GAClE,KAAY,QACX,kBAAC,OAAD;IAAK,WAAW,EAAG
|
|
1
|
+
{"version":3,"file":"ActionPanel.js","names":[],"sources":["../../../../src/components/layout/ActionPanel.tsx"],"sourcesContent":["import { type JSX, type ReactNode } from 'react';\n\nimport { cx } from '../../theme/tools.js';\nimport { PanelShell } from './PanelShell.js';\nimport * as styles from './ActionPanel.css.js';\n\nexport type ActionPanelProps = {\n title: ReactNode;\n description?: ReactNode;\n children: ReactNode;\n actions?: ReactNode;\n feedback?: ReactNode;\n className?: string;\n};\n\nexport const ActionPanel = ({\n actions,\n children,\n className,\n description,\n feedback,\n title,\n}: ActionPanelProps): JSX.Element => {\n return (\n <PanelShell className={className}>\n <div className={styles.root}>\n <div className={styles.header}>\n <h3 className={styles.title}>{title}</h3>\n {description != null && (\n <div className={styles.description}>{description}</div>\n )}\n </div>\n <div className={styles.content}>{children}</div>\n {actions != null && <div className={styles.actions}>{actions}</div>}\n {feedback != null && (\n <div className={cx(styles.feedback)}>{feedback}</div>\n )}\n </div>\n </PanelShell>\n );\n};\n\nexport default ActionPanel;\n"],"mappings":";;;;;AAeA,IAAa,KAAe,EAC1B,SAAA,GACA,aACA,cACA,aAAA,GACA,UAAA,GACA,OAAA,QAGE,kBAAC,GAAD;CAAuB;WACrB,kBAAC,OAAD;EAAK,WAAW;YAAhB;GACE,kBAAC,OAAD;IAAK,WAAW;cAAhB,CACE,kBAAC,MAAD;KAAI,WAAW;eAAe;KAAW,CAAA,EACxC,KAAe,QACd,kBAAC,OAAD;KAAK,WAAW;eAAqB;KAAkB,CAAA,CAErD;;GACN,kBAAC,OAAD;IAAK,WAAW;IAAiB;IAAe,CAAA;GAC/C,KAAW,QAAQ,kBAAC,OAAD;IAAK,WAAW;cAAiB;IAAc,CAAA;GAClE,KAAY,QACX,kBAAC,OAAD;IAAK,WAAW,EAAG,gCAAgB;cAAG;IAAe,CAAA;GAEnD;;CACK,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* empty css */
|
|
2
2
|
/* empty css */
|
|
3
3
|
//#region src/components/layout/AppHeader.css.ts
|
|
4
|
-
var e = "_1e6xs5y0
|
|
4
|
+
var e = "_1e6xs5y0 txvbqbypl txvbqbzn6 txvbqb10k1 txvbqbvw4 txvbqbdr8 txvbqbf6i txvbqbffj txvbqb17w0", t = "_1e6xs5y1 txvbqbdr8 txvbqbf6i txvbqbf67 txvbqbel txvbqbf0 txvbqbjus txvbqbffw", n = "_1e6xs5y2 txvbqbdr8 txvbqbf6i txvbqbga8 txvbqbt9i", r = "_1e6xs5y3 txvbqbm9g txvbqbaz txvbqbbe txvbqbfdd txvbqb19c9", i = "_1e6xs5y4 txvbqbm9g txvbqb9j txvbqb19cb txvbqbryx", a = "_1e6xs5y5 txvbqbdr8 txvbqbey txvbqbf91 txvbqbff6 txvbqb19cb txvbqb9j", o = "_1e6xs5y6 txvbqbdr8 txvbqbey txvbqbf91 txvbqbff6", s = "_1e6xs5y7 txvbqbdr8 txvbqbf6i txvbqbff6";
|
|
5
5
|
//#endregion
|
|
6
6
|
export { o as actions, n as body, a as meta, s as navStack, e as root, i as subtitle, r as title, t as top };
|
|
7
7
|
|
|
@@ -14,20 +14,20 @@ var s = ({ actions: s, className: c, meta: l, primaryNav: u, secondaryNav: d, su
|
|
|
14
14
|
children: p
|
|
15
15
|
}),
|
|
16
16
|
f != null && /* @__PURE__ */ a("div", {
|
|
17
|
-
className: "_1e6xs5y4
|
|
17
|
+
className: "_1e6xs5y4 txvbqbm9g txvbqb9j txvbqb19cb txvbqbryx",
|
|
18
18
|
children: f
|
|
19
19
|
}),
|
|
20
20
|
l != null && /* @__PURE__ */ a("div", {
|
|
21
|
-
className: "_1e6xs5y5
|
|
21
|
+
className: "_1e6xs5y5 txvbqbdr8 txvbqbey txvbqbf91 txvbqbff6 txvbqb19cb txvbqb9j",
|
|
22
22
|
children: l
|
|
23
23
|
})
|
|
24
24
|
]
|
|
25
25
|
}), s != null && /* @__PURE__ */ a("div", {
|
|
26
|
-
className: "_1e6xs5y6
|
|
26
|
+
className: "_1e6xs5y6 txvbqbdr8 txvbqbey txvbqbf91 txvbqbff6",
|
|
27
27
|
children: s
|
|
28
28
|
})]
|
|
29
29
|
}), (u != null || d != null) && /* @__PURE__ */ o("div", {
|
|
30
|
-
className: "_1e6xs5y7
|
|
30
|
+
className: "_1e6xs5y7 txvbqbdr8 txvbqbf6i txvbqbff6",
|
|
31
31
|
children: [u, d]
|
|
32
32
|
})]
|
|
33
33
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* empty css */
|
|
2
2
|
/* empty css */
|
|
3
3
|
//#region src/components/layout/ContentLayout.css.ts
|
|
4
|
-
var e = "_17ichq70
|
|
4
|
+
var e = "_17ichq70 txvbqb17w0 txvbqbdr8 txvbqbjuf", t = "_17ichq71 txvbqb17w0 txvbqbdr8 txvbqbf6i txvbqbfgm", n = "_17ichq72 txvbqbdr8 txvbqbf91 txvbqbffw txvbqbel txvbqbjus", r = "_17ichq73 txvbqbdr8 txvbqbf6i txvbqbfet txvbqbt9i", i = "_17ichq74 txvbqbaz txvbqbm2y txvbqbfd0 txvbqb19c9 txvbqbm9g", a = "_17ichq75 txvbqb9w txvbqb19cb txvbqbm9g", o = "_17ichq76 txvbqbdr8 txvbqbey txvbqbf91 txvbqbff6", s = "_17ichq77 txvbqbdr8 txvbqbf91 txvbqbff6 txvbqbju2", c = "_17ichq78 txvbqbdsb", l = "_17ichq79 txvbqbdr8 txvbqbf6i txvbqbfgm", u = "_17ichq7a txvbqb11k5 txvbqbjxb txvbqbbnr txvbqb17w0 txvbqbdr8 txvbqbjtp txvbqb2o txvbqbxra", d = "_17ichq7b txvbqb2p";
|
|
5
5
|
//#endregion
|
|
6
6
|
export { s as actionCluster, c as actionClusterItem, l as body, u as bottomFloatArea, d as bottomFloatContent, n as header, r as headingGroup, t as inner, o as metaRow, e as section, a as subheader, i as title };
|
|
7
7
|
|
|
@@ -47,9 +47,9 @@ var p = 320, m = 48, h = (e, t) => e == null ? null : d(typeof e == "string" ||
|
|
|
47
47
|
children: [/* @__PURE__ */ f("div", {
|
|
48
48
|
className: e(o, y?.inner, S),
|
|
49
49
|
children: [(D != null || E != null || w != null || A) && /* @__PURE__ */ f("div", {
|
|
50
|
-
className: e("_17ichq72
|
|
50
|
+
className: e("_17ichq72 txvbqbdr8 txvbqbf91 txvbqbffw txvbqbel txvbqbjus", y?.header),
|
|
51
51
|
children: [/* @__PURE__ */ f("div", {
|
|
52
|
-
className: e("_17ichq73
|
|
52
|
+
className: e("_17ichq73 txvbqbdr8 txvbqbf6i txvbqbfet txvbqbt9i", y?.headingGroup),
|
|
53
53
|
children: [
|
|
54
54
|
h(D, P),
|
|
55
55
|
g(E, F),
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* empty css */
|
|
2
2
|
/* empty css */
|
|
3
3
|
//#region src/components/layout/DetailSummaryHeader.css.ts
|
|
4
|
-
var e = "_1baunl10
|
|
4
|
+
var e = "_1baunl10 txvbqbdr8 txvbqbf6i txvbqbf67 txvbqbjus txvbqbel txvbqbf0 txvbqbffj", t = "_1baunl11 txvbqbdr8 txvbqbf6i txvbqbfet txvbqbt9i", n = "_1baunl12 txvbqbm9g txvbqba9 txvbqbfd0 txvbqb19c9", r = "_1baunl13 txvbqbm9g txvbqb9j txvbqb19cb", i = "_1baunl14 txvbqbdr8 txvbqbf91 txvbqbey txvbqbff6 txvbqb9j txvbqb19cb", a = "_1baunl15 txvbqbdr8 txvbqbf91 txvbqbey txvbqbff6";
|
|
5
5
|
//#endregion
|
|
6
6
|
export { a as actions, t as body, i as meta, e as root, r as subtitle, n as title };
|
|
7
7
|
|
|
@@ -12,16 +12,16 @@ var o = ({ actions: o, className: s, meta: c, subtitle: l, title: u }) => /* @__
|
|
|
12
12
|
children: u
|
|
13
13
|
}),
|
|
14
14
|
l != null && /* @__PURE__ */ i("div", {
|
|
15
|
-
className: "_1baunl13
|
|
15
|
+
className: "_1baunl13 txvbqbm9g txvbqb9j txvbqb19cb",
|
|
16
16
|
children: l
|
|
17
17
|
}),
|
|
18
18
|
c != null && /* @__PURE__ */ i("div", {
|
|
19
|
-
className: "_1baunl14
|
|
19
|
+
className: "_1baunl14 txvbqbdr8 txvbqbf91 txvbqbey txvbqbff6 txvbqb9j txvbqb19cb",
|
|
20
20
|
children: c
|
|
21
21
|
})
|
|
22
22
|
]
|
|
23
23
|
}), o != null && /* @__PURE__ */ i("div", {
|
|
24
|
-
className: "_1baunl15
|
|
24
|
+
className: "_1baunl15 txvbqbdr8 txvbqbf91 txvbqbey txvbqbff6",
|
|
25
25
|
children: o
|
|
26
26
|
})]
|
|
27
27
|
});
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
/* empty css */
|
|
3
3
|
import { createRuntimeFn as e } from "@vanilla-extract/recipes/createRuntimeFn";
|
|
4
4
|
//#region src/components/layout/PageShell.css.ts
|
|
5
|
-
var t = "_1kley2d0
|
|
6
|
-
defaultClassName: "_1kley2d15 _1kley2d12 _1kley2d11
|
|
5
|
+
var t = "_1kley2d0 txvbqbdr8 txvbqb17w0 txvbqb196j txvbqb191j", n = "_1kley2d1 txvbqbyo5 txvbqbzlq txvbqb10jb txvbqbvve txvbqbipm txvbqbi1c txvbqbdxd txvbqbt9i", r = "_1kley2d2 txvbqbipm txvbqbs9r txvbqbusr", i = "_1kley2d3 txvbqbdr8 txvbqbe8 txvbqbfeg txvbqbfft txvbqbt9i txvbqbf65 txvbqbf6s txvbqbi1f txvbqbi1c", a = "_1kley2d4 txvbqb11ki txvbqb16gq txvbqbipm txvbqbf7y txvbqbdr8 txvbqbusr", o = "_1kley2d5", s = "_1kley2d6", c = "_1kley2d8 _1kley2d7 txvbqbdr8 txvbqbi1f", l = "_1kley2d9", u = "_1kley2da", d = "_1kley2db txvbqbdq5 txvbqbdsl txvbqbey txvbqbjtp txvbqb17jd txvbqbhos txvbqb2gm txvbqb2et txvbqb1uy txvbqb17h txvbqb196b txvbqb19c9 txvbqbv txvbqbf7y", f = "_1kley2dd _1kley2dc txvbqbdsb txvbqbdqf txvbqbey txvbqbjtp txvbqb17jd txvbqbhos txvbqb2gm txvbqb2et txvbqb1uy txvbqb17h txvbqb196b txvbqb19c9 txvbqbv txvbqbf7y txvbqb7g txvbqb76 txvbqb7t", p = "_1kley2de txvbqbdq5 txvbqbdsl txvbqb11kv txvbqb11jp txvbqb11l8 txvbqb11ml txvbqb16gq txvbqb16i3 txvbqb18w4 txvbqbey txvbqbjtp txvbqb17jd txvbqbhos txvbqb2gm txvbqb2et txvbqb1uy txvbqb17h txvbqb196b txvbqb19c9 txvbqbv", m = "_1kley2df txvbqbdxd txvbqbi1f txvbqbt9i txvbqbs9r txvbqbdr8 txvbqbf6i txvbqb196b txvbqbusr txvbqb2gm txvbqb1uy txvbqb2et txvbqb17u txvbqbclc", h = "_1kley2dg txvbqbs9r txvbqbusr", g = "_1kley2dh txvbqbi1f txvbqbi1c", _ = "_1kley2di txvbqbdr8 txvbqbf6i txvbqbs9r txvbqbi1f txvbqbi1c", v = "_1kley2dj txvbqbdyg txvbqb196b txvbqb2gz txvbqb1uy txvbqb2et txvbqb17u", y = "_1kley2dk", b = "_1kley2dm _1kley2dl txvbqbhh txvbqb1933 txvbqbb txvbqbdyg txvbqbtay txvbqb11js txvbqb17h7", x = "_1kley2dn txvbqbdqi txvbqbdqf", S = "_1kley2do txvbqb11ki txvbqb16gq txvbqb18v1 txvbqbdr8 txvbqbf6i txvbqbffj txvbqb196b txvbqb1g5 txvbqb2et txvbqb8oi txvbqb577 txvbqbyp8 txvbqbzmt txvbqbvve txvbqb10jo", C = "_1kley2dp txvbqbdr8 txvbqbf91 txvbqbel txvbqbjus txvbqbffw txvbqb17w0", w = "_1kley2dq txvbqbdr8 txvbqbey txvbqbffj txvbqbdxd txvbqbt9i", T = "_1kley2dr txvbqbdr8 txvbqbf6i txvbqbff6 txvbqbt9i", E = "_1kley2ds txvbqbdr8 txvbqbf91 txvbqbey txvbqbcta txvbqb12j6 txvbqbm8d txvbqbm9g txvbqbux3 txvbqb19cb txvbqb96", D = "_1kley2dt txvbqbdr8 txvbqbey txvbqbfet txvbqbs26", O = "_1kley2dv _1kley2du txvbqb19c9 txvbqb3f txvbqbfcn txvbqbusr txvbqb16g0 txvbqb18xk", k = "_1kley2dw txvbqb19c9 txvbqbfd0 txvbqbusr txvbqb16g0 txvbqb18xk", A = "_1kley2dx txvbqb19cl txvbqb96", j = "_1kley2dy txvbqbdr8 txvbqbf91 txvbqbff6 txvbqbju2", M = "_1kley2dz txvbqbdsb", N = "_1kley2d10 txvbqb17w0 txvbqbdr8 txvbqbf91 txvbqbff6", P = e({
|
|
6
|
+
defaultClassName: "_1kley2d15 _1kley2d12 _1kley2d11 txvbqbey txvbqb196f txvbqb2gm txvbqb19cb txvbqbdsb txvbqb9j txvbqbfcn txvbqbxo1 txvbqbxqx txvbqb3f txvbqb7g txvbqb76 txvbqb7t",
|
|
7
7
|
variantClassNames: {
|
|
8
8
|
state: {
|
|
9
9
|
default: "_1kley2d16",
|
|
10
|
-
active: "_1kley2d17 _1kley2d13
|
|
10
|
+
active: "_1kley2d17 _1kley2d13 txvbqb1959 txvbqb198p txvbqbcj6"
|
|
11
11
|
},
|
|
12
12
|
mode: {
|
|
13
13
|
link: "_1kley2d18",
|
|
@@ -19,7 +19,7 @@ var t = "_1kley2d0 txvbqb9ip txvbqbu7g txvbqbv49 txvbqbv07", n = "_1kley2d1 txvb
|
|
|
19
19
|
mode: "link"
|
|
20
20
|
},
|
|
21
21
|
compoundVariants: []
|
|
22
|
-
}), F = "_1kley2d1a
|
|
22
|
+
}), F = "_1kley2d1a txvbqbdxd txvbqbs9r txvbqbdr8 txvbqbf6i txvbqbuse txvbqbuyj txvbqbuyg", I = "_1kley2d1b txvbqbusr txvbqbs9r";
|
|
23
23
|
//#endregion
|
|
24
24
|
export { j as actionGroup, k as breadcrumbCurrent, D as breadcrumbItem, O as breadcrumbLink, E as breadcrumbList, T as breadcrumbNav, A as breadcrumbSeparator, F as content, I as contentContained, f as desktopSidebarToggle, S as header, w as headerLeading, C as headerRow, m as mainColumn, h as mainColumnContained, g as mainColumnWithSidePanel, l as mobileSidebarBackdrop, u as mobileSidebarBackdropOpen, p as mobileSidebarClose, d as mobileSidebarToggle, n as page, r as pageContained, i as pageWithSidePanel, M as secondaryAction, t as shell, _ as sidePanel, y as sidePanelResizable, b as sidePanelResizer, x as sidePanelResizerHiddenOnMobile, v as sidePanelSurface, a as sidebarColumn, o as sidebarColumnMobile, s as sidebarColumnMobileOpen, c as sidebarInner, P as tabRecipe, N as tabsRow };
|
|
25
25
|
|