@plumile/ui 0.1.134 → 0.1.142
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 +129 -15
- package/lib/esm/admin/organisms/admin_sidebar/AdminSidebar.js +4 -4
- package/lib/esm/admin/organisms/admin_sidebar/adminSidebar.css.js +0 -2
- package/lib/esm/admin/organisms/admin_topbar/adminTopbar.css.js +1 -0
- package/lib/esm/admin/templates/admin_shell_layout/AdminShellLayout.js +2 -2
- package/lib/esm/admin/templates/admin_shell_layout/AdminShellLayout.js.map +1 -1
- package/lib/esm/atomic/atoms/badge/Badge.js.map +1 -1
- package/lib/esm/atomic/atoms/error_message/ErrorMessage.js +9 -8
- package/lib/esm/atomic/atoms/error_message/ErrorMessage.js.map +1 -1
- package/lib/esm/atomic/atoms/error_message/errorMessage.css.js +1 -0
- package/lib/esm/atomic/molecules/card/Card.js +17 -19
- package/lib/esm/atomic/molecules/card/Card.js.map +1 -1
- package/lib/esm/atomic/molecules/empty-state/EmptyState.css.js +80 -2
- package/lib/esm/atomic/molecules/empty-state/EmptyState.css.js.map +1 -1
- package/lib/esm/atomic/molecules/empty-state/EmptyState.js +50 -28
- package/lib/esm/atomic/molecules/empty-state/EmptyState.js.map +1 -1
- package/lib/esm/atomic/molecules/form_error/FormError.js +29 -19
- package/lib/esm/atomic/molecules/form_error/FormError.js.map +1 -1
- package/lib/esm/atomic/molecules/form_error/formError.css.js +1 -1
- package/lib/esm/atomic/molecules/form_error/formError.css.js.map +1 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownDelete.css.js +0 -1
- package/lib/esm/atomic/molecules/markdown/components/MarkdownHeading.css.js +1 -0
- package/lib/esm/atomic/molecules/tabs/Tabs.js +82 -28
- package/lib/esm/atomic/molecules/tabs/Tabs.js.map +1 -1
- package/lib/esm/atomic/molecules/tabs/tabs.css.js +50 -8
- package/lib/esm/atomic/molecules/tabs/tabs.css.js.map +1 -1
- package/lib/esm/atomic/organisms/sidebar/NavigationSidebar.js +48 -48
- package/lib/esm/atomic/organisms/sidebar/NavigationSidebar.js.map +1 -1
- package/lib/esm/backoffice/atoms/status_badge/StatusBadge.js.map +1 -1
- package/lib/esm/backoffice/molecules/backoffice_audit_metadata_panel/BackofficeAuditMetadataPanel.js +38 -0
- package/lib/esm/backoffice/molecules/backoffice_audit_metadata_panel/BackofficeAuditMetadataPanel.js.map +1 -0
- package/lib/esm/backoffice/molecules/backoffice_detail_field/BackofficeDetailField.js +35 -0
- package/lib/esm/backoffice/molecules/backoffice_detail_field/BackofficeDetailField.js.map +1 -0
- package/lib/esm/backoffice/molecules/backoffice_detail_field/backofficeDetailField.css.js +16 -0
- package/lib/esm/backoffice/molecules/backoffice_detail_field/backofficeDetailField.css.js.map +1 -0
- package/lib/esm/backoffice/molecules/backoffice_detail_flag_tag/BackofficeDetailFlagTag.js +25 -0
- package/lib/esm/backoffice/molecules/backoffice_detail_flag_tag/BackofficeDetailFlagTag.js.map +1 -0
- package/lib/esm/backoffice/molecules/backoffice_detail_flag_tag/backofficeDetailFlagTag.css.js +8 -0
- package/lib/esm/backoffice/molecules/backoffice_detail_flag_tag/backofficeDetailFlagTag.css.js.map +1 -0
- package/lib/esm/backoffice/molecules/backoffice_detail_section/BackofficeDetailSection.js +37 -0
- package/lib/esm/backoffice/molecules/backoffice_detail_section/BackofficeDetailSection.js.map +1 -0
- package/lib/esm/backoffice/molecules/backoffice_detail_section/backofficeDetailSection.css.js +8 -0
- package/lib/esm/backoffice/molecules/backoffice_detail_section/backofficeDetailSection.css.js.map +1 -0
- package/lib/esm/backoffice/molecules/backoffice_detail_tagged_value/BackofficeDetailTaggedValue.js +19 -0
- package/lib/esm/backoffice/molecules/backoffice_detail_tagged_value/BackofficeDetailTaggedValue.js.map +1 -0
- package/lib/esm/backoffice/molecules/backoffice_detail_tagged_value/backofficeDetailTaggedValue.css.js +8 -0
- package/lib/esm/backoffice/molecules/backoffice_detail_tagged_value/backofficeDetailTaggedValue.css.js.map +1 -0
- package/lib/esm/backoffice/molecules/backoffice_empty_state/BackofficeEmptyState.js +15 -32
- package/lib/esm/backoffice/molecules/backoffice_empty_state/BackofficeEmptyState.js.map +1 -1
- package/lib/esm/backoffice/molecules/backoffice_enum_label/BackofficeEnumLabel.js +11 -0
- package/lib/esm/backoffice/molecules/backoffice_enum_label/BackofficeEnumLabel.js.map +1 -0
- package/lib/esm/backoffice/molecules/backoffice_form_section/BackofficeFormSection.js +17 -18
- package/lib/esm/backoffice/molecules/backoffice_form_section/BackofficeFormSection.js.map +1 -1
- package/lib/esm/backoffice/molecules/backoffice_json_viewer/LazyBackofficeJsonViewer.helpers.js +12 -0
- package/lib/esm/backoffice/molecules/backoffice_json_viewer/LazyBackofficeJsonViewer.helpers.js.map +1 -0
- package/lib/esm/backoffice/molecules/backoffice_json_viewer/LazyBackofficeJsonViewer.js +15 -20
- package/lib/esm/backoffice/molecules/backoffice_json_viewer/LazyBackofficeJsonViewer.js.map +1 -1
- package/lib/esm/backoffice/molecules/backoffice_key_value_list/BackofficeKeyValueList.js +23 -16
- package/lib/esm/backoffice/molecules/backoffice_key_value_list/BackofficeKeyValueList.js.map +1 -1
- package/lib/esm/backoffice/molecules/backoffice_key_value_list/backofficeKeyValueList.css.js +2 -2
- package/lib/esm/backoffice/molecules/backoffice_key_value_list/backofficeKeyValueList.css.js.map +1 -1
- package/lib/esm/backoffice/molecules/backoffice_list_footer/BackofficeListFooter.helpers.js +11 -0
- package/lib/esm/backoffice/molecules/backoffice_list_footer/BackofficeListFooter.helpers.js.map +1 -0
- package/lib/esm/backoffice/molecules/backoffice_list_footer/BackofficeListFooter.js +55 -0
- package/lib/esm/backoffice/molecules/backoffice_list_footer/BackofficeListFooter.js.map +1 -0
- package/lib/esm/backoffice/molecules/backoffice_list_footer/backofficeListFooter.css.js +8 -0
- package/lib/esm/backoffice/molecules/backoffice_list_footer/backofficeListFooter.css.js.map +1 -0
- package/lib/esm/backoffice/molecules/backoffice_payload_viewer/BackofficePayloadViewer.helpers.js +15 -0
- package/lib/esm/backoffice/molecules/backoffice_payload_viewer/BackofficePayloadViewer.helpers.js.map +1 -0
- package/lib/esm/backoffice/molecules/backoffice_payload_viewer/BackofficePayloadViewer.js +63 -0
- package/lib/esm/backoffice/molecules/backoffice_payload_viewer/BackofficePayloadViewer.js.map +1 -0
- package/lib/esm/backoffice/molecules/backoffice_payload_viewer/backofficePayloadViewer.css.js +8 -0
- package/lib/esm/backoffice/molecules/backoffice_payload_viewer/backofficePayloadViewer.css.js.map +1 -0
- package/lib/esm/backoffice/molecules/backoffice_picker/BackofficePicker.js +76 -0
- package/lib/esm/backoffice/molecules/backoffice_picker/BackofficePicker.js.map +1 -0
- package/lib/esm/backoffice/molecules/backoffice_picker/backofficePicker.css.js +8 -0
- package/lib/esm/backoffice/molecules/backoffice_picker/backofficePicker.css.js.map +1 -0
- package/lib/esm/backoffice/molecules/backoffice_reference_value/BackofficeReferenceValue.js +23 -0
- package/lib/esm/backoffice/molecules/backoffice_reference_value/BackofficeReferenceValue.js.map +1 -0
- package/lib/esm/backoffice/molecules/backoffice_reference_value/backofficeReferenceValue.css.js +8 -0
- package/lib/esm/backoffice/molecules/backoffice_reference_value/backofficeReferenceValue.css.js.map +1 -0
- package/lib/esm/backoffice/molecules/backoffice_scope_stack/BackofficeScopeStack.js +18 -0
- package/lib/esm/backoffice/molecules/backoffice_scope_stack/BackofficeScopeStack.js.map +1 -0
- package/lib/esm/backoffice/molecules/backoffice_status_group/BackofficeStatusGroup.js +8 -0
- package/lib/esm/backoffice/molecules/backoffice_status_group/BackofficeStatusGroup.js.map +1 -0
- package/lib/esm/backoffice/molecules/backoffice_status_meta_badge/BackofficeStatusMetaBadge.js +28 -0
- package/lib/esm/backoffice/molecules/backoffice_status_meta_badge/BackofficeStatusMetaBadge.js.map +1 -0
- package/lib/esm/backoffice/molecules/backoffice_status_meta_badge/backofficeStatusMetaBadge.css.js +8 -0
- package/lib/esm/backoffice/molecules/backoffice_status_meta_badge/backofficeStatusMetaBadge.css.js.map +1 -0
- package/lib/esm/backoffice/molecules/backoffice_toolbar/BackofficeToolbar.js +60 -0
- package/lib/esm/backoffice/molecules/backoffice_toolbar/BackofficeToolbar.js.map +1 -0
- package/lib/esm/backoffice/molecules/backoffice_toolbar/backofficeToolbar.css.js +14 -0
- package/lib/esm/backoffice/molecules/backoffice_toolbar/backofficeToolbar.css.js.map +1 -0
- package/lib/esm/backoffice/molecules/bulk_actions_bar/bulkActionsBar.css.js +1 -1
- package/lib/esm/backoffice/molecules/bulk_actions_bar/bulkActionsBar.css.js.map +1 -1
- package/lib/esm/backoffice/molecules/confirm_dialog/ConfirmDialog.js +3 -3
- package/lib/esm/backoffice/molecules/confirm_dialog/ConfirmDialog.js.map +1 -1
- package/lib/esm/backoffice/molecules/global_search_input/GlobalSearchInput.js +4 -4
- 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.js +60 -60
- package/lib/esm/backoffice/molecules/sidebar_nav_item/SidebarNavItem.js.map +1 -1
- package/lib/esm/backoffice/molecules/sidebar_nav_item/sidebarNavItem.css.js +2 -2
- package/lib/esm/backoffice/molecules/sidebar_nav_item/sidebarNavItem.css.js.map +1 -1
- package/lib/esm/backoffice/molecules/sidebar_nav_section/SidebarNavSection.js +96 -96
- package/lib/esm/backoffice/molecules/sidebar_nav_section/SidebarNavSection.js.map +1 -1
- package/lib/esm/backoffice/molecules/sidebar_nav_section/sidebarNavSection.css.js +2 -2
- package/lib/esm/backoffice/molecules/sidebar_nav_section/sidebarNavSection.css.js.map +1 -1
- package/lib/esm/backoffice/molecules/sidebar_profile_menu/BackofficeSidebarProfileMenu.js +52 -52
- package/lib/esm/backoffice/molecules/sidebar_profile_menu/BackofficeSidebarProfileMenu.js.map +1 -1
- package/lib/esm/backoffice/molecules/sidebar_profile_menu/sidebarProfileMenu.css.js +6 -6
- package/lib/esm/backoffice/molecules/sidebar_profile_menu/sidebarProfileMenu.css.js.map +1 -1
- package/lib/esm/backoffice/organisms/audit_timeline/AuditTimeline.js +69 -34
- package/lib/esm/backoffice/organisms/audit_timeline/AuditTimeline.js.map +1 -1
- package/lib/esm/backoffice/organisms/audit_timeline/auditTimeline.css.js +22 -2
- package/lib/esm/backoffice/organisms/audit_timeline/auditTimeline.css.js.map +1 -1
- package/lib/esm/backoffice/organisms/backoffice_data_table/BackofficeDataTable.js +4 -4
- package/lib/esm/backoffice/organisms/backoffice_data_table/BackofficeDataTable.js.map +1 -1
- package/lib/esm/backoffice/templates/detail_page_template/DetailPageTemplate.js +70 -40
- package/lib/esm/backoffice/templates/detail_page_template/DetailPageTemplate.js.map +1 -1
- package/lib/esm/backoffice/templates/detail_page_template/detailPageTemplate.css.js +66 -3
- package/lib/esm/backoffice/templates/detail_page_template/detailPageTemplate.css.js.map +1 -1
- package/lib/esm/components/dashboard/activity_card/ActivityCard.js +4 -4
- package/lib/esm/components/dashboard/dashboard_metric_group/DashboardMetricGroup.css.js +9 -0
- package/lib/esm/components/dashboard/dashboard_metric_group/DashboardMetricGroup.css.js.map +1 -0
- package/lib/esm/components/dashboard/dashboard_metric_group/DashboardMetricGroup.js +30 -0
- package/lib/esm/components/dashboard/dashboard_metric_group/DashboardMetricGroup.js.map +1 -0
- package/lib/esm/components/dashboard/dashboard_panel/DashboardPanel.css.js +8 -0
- package/lib/esm/components/dashboard/dashboard_panel/DashboardPanel.css.js.map +1 -0
- package/lib/esm/components/dashboard/dashboard_panel/DashboardPanel.js +16 -0
- package/lib/esm/components/dashboard/dashboard_panel/DashboardPanel.js.map +1 -0
- package/lib/esm/components/dashboard/dashboard_quick_actions/DashboardQuickActions.css.js +8 -0
- package/lib/esm/components/dashboard/dashboard_quick_actions/DashboardQuickActions.css.js.map +1 -0
- package/lib/esm/components/dashboard/dashboard_quick_actions/DashboardQuickActions.js +27 -0
- package/lib/esm/components/dashboard/dashboard_quick_actions/DashboardQuickActions.js.map +1 -0
- package/lib/esm/components/dashboard/dashboard_status_list/DashboardStatusList.css.js +8 -0
- package/lib/esm/components/dashboard/dashboard_status_list/DashboardStatusList.css.js.map +1 -0
- package/lib/esm/components/dashboard/dashboard_status_list/DashboardStatusList.js +28 -0
- package/lib/esm/components/dashboard/dashboard_status_list/DashboardStatusList.js.map +1 -0
- package/lib/esm/components/dashboard/metric_card/MetricCard.css.js +30 -2
- package/lib/esm/components/dashboard/metric_card/MetricCard.css.js.map +1 -1
- package/lib/esm/components/dashboard/metric_card/MetricCard.js +40 -26
- package/lib/esm/components/dashboard/metric_card/MetricCard.js.map +1 -1
- package/lib/esm/components/dashboard/metric_tile_group/MetricTileGroup.css.js +23 -2
- package/lib/esm/components/dashboard/metric_tile_group/MetricTileGroup.css.js.map +1 -1
- package/lib/esm/components/dashboard/metric_tile_group/MetricTileGroup.js +16 -4
- package/lib/esm/components/dashboard/metric_tile_group/MetricTileGroup.js.map +1 -1
- package/lib/esm/components/dashboard/status_summary_panel/StatusSummaryPanel.js +4 -4
- package/lib/esm/components/dashboard/timeline_event_row/TimelineEventRow.css.js +14 -2
- package/lib/esm/components/dashboard/timeline_event_row/TimelineEventRow.css.js.map +1 -1
- package/lib/esm/components/dashboard/timeline_event_row/TimelineEventRow.js +46 -25
- package/lib/esm/components/dashboard/timeline_event_row/TimelineEventRow.js.map +1 -1
- package/lib/esm/components/data-table/DataTable.css.js +19 -19
- package/lib/esm/components/data-table/DataTable.css.js.map +1 -1
- package/lib/esm/components/data-table/DataTable.js +142 -76
- package/lib/esm/components/data-table/DataTable.js.map +1 -1
- package/lib/esm/components/data-table/ResponsiveRecordList.js.map +1 -1
- package/lib/esm/components/data-table/VirtualizedConnectionTable.css.js +2 -2
- package/lib/esm/components/data-table/VirtualizedConnectionTable.css.js.map +1 -1
- package/lib/esm/components/data-table/VirtualizedConnectionTable.js +177 -170
- package/lib/esm/components/data-table/VirtualizedConnectionTable.js.map +1 -1
- package/lib/esm/components/feedback/InlineBanner.js +49 -0
- package/lib/esm/components/feedback/InlineBanner.js.map +1 -0
- package/lib/esm/components/feedback/OperationFeedback.css.js +2 -2
- package/lib/esm/components/feedback/OperationFeedback.css.js.map +1 -1
- package/lib/esm/components/feedback/OperationFeedback.js +20 -24
- package/lib/esm/components/feedback/OperationFeedback.js.map +1 -1
- package/lib/esm/components/feedback/inlineBanner.css.js +19 -0
- package/lib/esm/components/feedback/inlineBanner.css.js.map +1 -0
- package/lib/esm/components/infinite/InfiniteScrollTrigger.js +31 -23
- package/lib/esm/components/infinite/InfiniteScrollTrigger.js.map +1 -1
- package/lib/esm/components/layout/ActionPanel.css.js +2 -2
- package/lib/esm/components/layout/ActionPanel.css.js.map +1 -1
- package/lib/esm/components/layout/ActionPanel.js +29 -35
- package/lib/esm/components/layout/ActionPanel.js.map +1 -1
- package/lib/esm/components/layout/PageShell.css.js +2 -20
- package/lib/esm/components/layout/PageShell.css.js.map +1 -1
- package/lib/esm/components/layout/PageShell.js +155 -279
- package/lib/esm/components/layout/PageShell.js.map +1 -1
- package/lib/esm/components/layout/ResizableSplitView.css.js +8 -0
- package/lib/esm/components/layout/ResizableSplitView.css.js.map +1 -0
- package/lib/esm/components/layout/ResizableSplitView.js +176 -0
- package/lib/esm/components/layout/ResizableSplitView.js.map +1 -0
- package/lib/esm/components/layout/Surface.css.js +41 -0
- package/lib/esm/components/layout/Surface.css.js.map +1 -0
- package/lib/esm/components/layout/Surface.js +61 -0
- package/lib/esm/components/layout/Surface.js.map +1 -0
- package/lib/esm/components/layout/toolbar/Toolbar.css.js +64 -0
- package/lib/esm/components/layout/toolbar/Toolbar.css.js.map +1 -0
- package/lib/esm/components/layout/toolbar/Toolbar.js +36 -0
- package/lib/esm/components/layout/toolbar/Toolbar.js.map +1 -0
- package/lib/esm/components/navigation/sidebar/SidebarNavigation.js +89 -0
- package/lib/esm/components/navigation/sidebar/SidebarNavigation.js.map +1 -0
- package/lib/esm/components/navigation/sidebar/SidebarNavigationItem.js +2 -0
- package/lib/esm/components/navigation/sidebar/SidebarNavigationSection.js +2 -0
- package/lib/esm/components/navigation/sidebar/SidebarProfileMenu.js +2 -0
- package/lib/esm/components/navigation/sidebar/sidebarNavigation.css.js +48 -0
- package/lib/esm/components/navigation/sidebar/sidebarNavigation.css.js.map +1 -0
- package/lib/esm/components/subscriptions/RefetchNeededBanner.js +16 -23
- package/lib/esm/components/subscriptions/RefetchNeededBanner.js.map +1 -1
- package/lib/esm/i18n/locales/en/ui.js +16 -5
- package/lib/esm/i18n/locales/en/ui.js.map +1 -1
- package/lib/esm/i18n/locales/fr/ui.js +16 -5
- package/lib/esm/i18n/locales/fr/ui.js.map +1 -1
- package/lib/esm/index.js +237 -233
- package/lib/esm/internal/data-table/virtualization.js +1 -1
- package/lib/esm/internal/data-table/virtualization.js.map +1 -1
- package/lib/esm/internal/infinite/infiniteLoad.js +23 -0
- package/lib/esm/internal/infinite/infiniteLoad.js.map +1 -0
- package/lib/esm/node_modules/dompurify/dist/purify.es.js +290 -246
- package/lib/esm/node_modules/dompurify/dist/purify.es.js.map +1 -1
- package/lib/esm/node_modules/katex/dist/katex.js +1561 -1599
- package/lib/esm/node_modules/katex/dist/katex.js.map +1 -1
- package/lib/esm/style.css +1 -1
- package/lib/esm/theme/backofficeTheme.css.js +100 -0
- package/lib/esm/theme/backofficeTheme.css.js.map +1 -1
- package/lib/esm/theme/publicTheme.css.js +100 -0
- package/lib/esm/theme/publicTheme.css.js.map +1 -1
- package/lib/esm/theme/theme.css.js +200 -0
- package/lib/esm/theme/themeContract.css.js +359 -309
- package/lib/esm/theme/themeContract.css.js.map +1 -1
- package/lib/types/admin/templates/admin_shell_layout/AdminShellLayout.d.ts +4 -4
- package/lib/types/admin/templates/admin_shell_layout/AdminShellLayout.d.ts.map +1 -1
- package/lib/types/atomic/atoms/badge/Badge.d.ts +3 -3
- package/lib/types/atomic/atoms/badge/Badge.d.ts.map +1 -1
- package/lib/types/atomic/atoms/error_message/ErrorMessage.d.ts +1 -1
- package/lib/types/atomic/atoms/error_message/ErrorMessage.d.ts.map +1 -1
- package/lib/types/atomic/molecules/card/Card.d.ts.map +1 -1
- package/lib/types/atomic/molecules/empty-state/EmptyState.css.d.ts +56 -5
- package/lib/types/atomic/molecules/empty-state/EmptyState.css.d.ts.map +1 -1
- package/lib/types/atomic/molecules/empty-state/EmptyState.d.ts +14 -4
- package/lib/types/atomic/molecules/empty-state/EmptyState.d.ts.map +1 -1
- package/lib/types/atomic/molecules/form_error/FormError.d.ts +5 -2
- package/lib/types/atomic/molecules/form_error/FormError.d.ts.map +1 -1
- package/lib/types/atomic/molecules/form_error/formError.css.d.ts.map +1 -1
- package/lib/types/atomic/molecules/tabs/Tabs.d.ts +16 -7
- package/lib/types/atomic/molecules/tabs/Tabs.d.ts.map +1 -1
- package/lib/types/atomic/molecules/tabs/tabs.css.d.ts +21 -2
- package/lib/types/atomic/molecules/tabs/tabs.css.d.ts.map +1 -1
- package/lib/types/backoffice/atoms/status_badge/StatusBadge.d.ts.map +1 -1
- package/lib/types/backoffice/molecules/backoffice_audit_metadata_panel/BackofficeAuditMetadataPanel.d.ts +21 -0
- package/lib/types/backoffice/molecules/backoffice_audit_metadata_panel/BackofficeAuditMetadataPanel.d.ts.map +1 -0
- package/lib/types/backoffice/molecules/backoffice_detail_field/BackofficeDetailField.d.ts +17 -0
- package/lib/types/backoffice/molecules/backoffice_detail_field/BackofficeDetailField.d.ts.map +1 -0
- package/lib/types/backoffice/molecules/backoffice_detail_field/backofficeDetailField.css.d.ts +14 -0
- package/lib/types/backoffice/molecules/backoffice_detail_field/backofficeDetailField.css.d.ts.map +1 -0
- package/lib/types/backoffice/molecules/backoffice_detail_flag_tag/BackofficeDetailFlagTag.d.ts +11 -0
- package/lib/types/backoffice/molecules/backoffice_detail_flag_tag/BackofficeDetailFlagTag.d.ts.map +1 -0
- package/lib/types/backoffice/molecules/backoffice_detail_flag_tag/backofficeDetailFlagTag.css.d.ts +4 -0
- package/lib/types/backoffice/molecules/backoffice_detail_flag_tag/backofficeDetailFlagTag.css.d.ts.map +1 -0
- package/lib/types/backoffice/molecules/backoffice_detail_section/BackofficeDetailSection.d.ts +12 -0
- package/lib/types/backoffice/molecules/backoffice_detail_section/BackofficeDetailSection.d.ts.map +1 -0
- package/lib/types/backoffice/molecules/backoffice_detail_section/backofficeDetailSection.css.d.ts +6 -0
- package/lib/types/backoffice/molecules/backoffice_detail_section/backofficeDetailSection.css.d.ts.map +1 -0
- package/lib/types/backoffice/molecules/backoffice_detail_tagged_value/BackofficeDetailTaggedValue.d.ts +13 -0
- package/lib/types/backoffice/molecules/backoffice_detail_tagged_value/BackofficeDetailTaggedValue.d.ts.map +1 -0
- package/lib/types/backoffice/molecules/backoffice_detail_tagged_value/backofficeDetailTaggedValue.css.d.ts +3 -0
- package/lib/types/backoffice/molecules/backoffice_detail_tagged_value/backofficeDetailTaggedValue.css.d.ts.map +1 -0
- package/lib/types/backoffice/molecules/backoffice_empty_state/BackofficeEmptyState.d.ts.map +1 -1
- package/lib/types/backoffice/molecules/backoffice_enum_label/BackofficeEnumLabel.d.ts +9 -0
- package/lib/types/backoffice/molecules/backoffice_enum_label/BackofficeEnumLabel.d.ts.map +1 -0
- package/lib/types/backoffice/molecules/backoffice_form_section/BackofficeFormSection.d.ts.map +1 -1
- package/lib/types/backoffice/molecules/backoffice_json_viewer/LazyBackofficeJsonViewer.d.ts +0 -3
- package/lib/types/backoffice/molecules/backoffice_json_viewer/LazyBackofficeJsonViewer.d.ts.map +1 -1
- package/lib/types/backoffice/molecules/backoffice_json_viewer/LazyBackofficeJsonViewer.helpers.d.ts +5 -0
- package/lib/types/backoffice/molecules/backoffice_json_viewer/LazyBackofficeJsonViewer.helpers.d.ts.map +1 -0
- package/lib/types/backoffice/molecules/backoffice_key_value_list/BackofficeKeyValueList.d.ts +8 -2
- package/lib/types/backoffice/molecules/backoffice_key_value_list/BackofficeKeyValueList.d.ts.map +1 -1
- package/lib/types/backoffice/molecules/backoffice_key_value_list/backofficeKeyValueList.css.d.ts +3 -0
- package/lib/types/backoffice/molecules/backoffice_key_value_list/backofficeKeyValueList.css.d.ts.map +1 -1
- package/lib/types/backoffice/molecules/backoffice_list_footer/BackofficeListFooter.d.ts +23 -0
- package/lib/types/backoffice/molecules/backoffice_list_footer/BackofficeListFooter.d.ts.map +1 -0
- package/lib/types/backoffice/molecules/backoffice_list_footer/BackofficeListFooter.helpers.d.ts +25 -0
- package/lib/types/backoffice/molecules/backoffice_list_footer/BackofficeListFooter.helpers.d.ts.map +1 -0
- package/lib/types/backoffice/molecules/{backoffice_infinite_list_status/backofficeInfiniteListStatus.css.d.ts → backoffice_list_footer/backofficeListFooter.css.d.ts} +3 -2
- package/lib/types/backoffice/molecules/backoffice_list_footer/backofficeListFooter.css.d.ts.map +1 -0
- package/lib/types/backoffice/molecules/backoffice_payload_viewer/BackofficePayloadViewer.d.ts +26 -0
- package/lib/types/backoffice/molecules/backoffice_payload_viewer/BackofficePayloadViewer.d.ts.map +1 -0
- package/lib/types/backoffice/molecules/backoffice_payload_viewer/BackofficePayloadViewer.helpers.d.ts +7 -0
- package/lib/types/backoffice/molecules/backoffice_payload_viewer/BackofficePayloadViewer.helpers.d.ts.map +1 -0
- package/lib/types/backoffice/molecules/backoffice_payload_viewer/backofficePayloadViewer.css.d.ts +6 -0
- package/lib/types/backoffice/molecules/backoffice_payload_viewer/backofficePayloadViewer.css.d.ts.map +1 -0
- package/lib/types/backoffice/molecules/backoffice_picker/BackofficePicker.d.ts +35 -0
- package/lib/types/backoffice/molecules/backoffice_picker/BackofficePicker.d.ts.map +1 -0
- package/lib/types/backoffice/molecules/backoffice_picker/backofficePicker.css.d.ts +9 -0
- package/lib/types/backoffice/molecules/backoffice_picker/backofficePicker.css.d.ts.map +1 -0
- package/lib/types/backoffice/molecules/backoffice_reference_value/BackofficeReferenceValue.d.ts +10 -0
- package/lib/types/backoffice/molecules/backoffice_reference_value/BackofficeReferenceValue.d.ts.map +1 -0
- package/lib/types/backoffice/molecules/backoffice_reference_value/backofficeReferenceValue.css.d.ts +3 -0
- package/lib/types/backoffice/molecules/backoffice_reference_value/backofficeReferenceValue.css.d.ts.map +1 -0
- package/lib/types/backoffice/molecules/backoffice_scope_stack/BackofficeScopeStack.d.ts +15 -0
- package/lib/types/backoffice/molecules/backoffice_scope_stack/BackofficeScopeStack.d.ts.map +1 -0
- package/lib/types/backoffice/molecules/backoffice_status_group/BackofficeStatusGroup.d.ts +8 -0
- package/lib/types/backoffice/molecules/backoffice_status_group/BackofficeStatusGroup.d.ts.map +1 -0
- package/lib/types/backoffice/molecules/backoffice_status_meta_badge/BackofficeStatusMetaBadge.d.ts +14 -0
- package/lib/types/backoffice/molecules/backoffice_status_meta_badge/BackofficeStatusMetaBadge.d.ts.map +1 -0
- package/lib/types/backoffice/molecules/backoffice_status_meta_badge/backofficeStatusMetaBadge.css.d.ts +2 -0
- package/lib/types/backoffice/molecules/backoffice_status_meta_badge/backofficeStatusMetaBadge.css.d.ts.map +1 -0
- package/lib/types/backoffice/molecules/backoffice_toolbar/BackofficeToolbar.d.ts +22 -0
- package/lib/types/backoffice/molecules/backoffice_toolbar/BackofficeToolbar.d.ts.map +1 -0
- package/lib/types/backoffice/molecules/backoffice_toolbar/backofficeToolbar.css.d.ts +18 -0
- package/lib/types/backoffice/molecules/backoffice_toolbar/backofficeToolbar.css.d.ts.map +1 -0
- package/lib/types/backoffice/molecules/bulk_actions_bar/bulkActionsBar.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.d.ts.map +1 -1
- package/lib/types/backoffice/molecules/sidebar_nav_item/sidebarNavItem.css.d.ts +1 -0
- package/lib/types/backoffice/molecules/sidebar_nav_item/sidebarNavItem.css.d.ts.map +1 -1
- package/lib/types/backoffice/molecules/sidebar_nav_section/SidebarNavSection.d.ts.map +1 -1
- package/lib/types/backoffice/molecules/sidebar_nav_section/sidebarNavSection.css.d.ts +2 -0
- package/lib/types/backoffice/molecules/sidebar_nav_section/sidebarNavSection.css.d.ts.map +1 -1
- package/lib/types/backoffice/molecules/sidebar_profile_menu/BackofficeSidebarProfileMenu.d.ts.map +1 -1
- package/lib/types/backoffice/molecules/sidebar_profile_menu/sidebarProfileMenu.css.d.ts +8 -0
- package/lib/types/backoffice/molecules/sidebar_profile_menu/sidebarProfileMenu.css.d.ts.map +1 -1
- package/lib/types/backoffice/organisms/audit_timeline/AuditTimeline.d.ts +20 -2
- package/lib/types/backoffice/organisms/audit_timeline/AuditTimeline.d.ts.map +1 -1
- package/lib/types/backoffice/organisms/audit_timeline/auditTimeline.css.d.ts +32 -2
- package/lib/types/backoffice/organisms/audit_timeline/auditTimeline.css.d.ts.map +1 -1
- package/lib/types/backoffice/organisms/backoffice_data_table/BackofficeDataTable.d.ts +2 -2
- package/lib/types/backoffice/organisms/backoffice_data_table/BackofficeDataTable.d.ts.map +1 -1
- package/lib/types/backoffice/templates/detail_page_template/DetailPageTemplate.d.ts +12 -1
- package/lib/types/backoffice/templates/detail_page_template/DetailPageTemplate.d.ts.map +1 -1
- package/lib/types/backoffice/templates/detail_page_template/detailPageTemplate.css.d.ts +25 -4
- package/lib/types/backoffice/templates/detail_page_template/detailPageTemplate.css.d.ts.map +1 -1
- package/lib/types/components/dashboard/dashboard_metric_group/DashboardMetricGroup.css.d.ts +4 -0
- package/lib/types/components/dashboard/dashboard_metric_group/DashboardMetricGroup.css.d.ts.map +1 -0
- package/lib/types/components/dashboard/dashboard_metric_group/DashboardMetricGroup.d.ts +19 -0
- package/lib/types/components/dashboard/dashboard_metric_group/DashboardMetricGroup.d.ts.map +1 -0
- package/lib/types/components/dashboard/dashboard_panel/DashboardPanel.css.d.ts +2 -0
- package/lib/types/components/dashboard/dashboard_panel/DashboardPanel.css.d.ts.map +1 -0
- package/lib/types/components/dashboard/dashboard_panel/DashboardPanel.d.ts +11 -0
- package/lib/types/components/dashboard/dashboard_panel/DashboardPanel.d.ts.map +1 -0
- package/lib/types/components/dashboard/dashboard_quick_actions/DashboardQuickActions.css.d.ts +5 -0
- package/lib/types/components/dashboard/dashboard_quick_actions/DashboardQuickActions.css.d.ts.map +1 -0
- package/lib/types/components/dashboard/dashboard_quick_actions/DashboardQuickActions.d.ts +14 -0
- package/lib/types/components/dashboard/dashboard_quick_actions/DashboardQuickActions.d.ts.map +1 -0
- package/lib/types/components/dashboard/dashboard_status_list/DashboardStatusList.css.d.ts +6 -0
- package/lib/types/components/dashboard/dashboard_status_list/DashboardStatusList.css.d.ts.map +1 -0
- package/lib/types/components/dashboard/dashboard_status_list/DashboardStatusList.d.ts +14 -0
- package/lib/types/components/dashboard/dashboard_status_list/DashboardStatusList.d.ts.map +1 -0
- package/lib/types/components/dashboard/metric_card/MetricCard.css.d.ts +38 -1
- package/lib/types/components/dashboard/metric_card/MetricCard.css.d.ts.map +1 -1
- package/lib/types/components/dashboard/metric_card/MetricCard.d.ts +7 -1
- package/lib/types/components/dashboard/metric_card/MetricCard.d.ts.map +1 -1
- package/lib/types/components/dashboard/metric_tile_group/MetricTileGroup.css.d.ts +17 -1
- package/lib/types/components/dashboard/metric_tile_group/MetricTileGroup.css.d.ts.map +1 -1
- package/lib/types/components/dashboard/metric_tile_group/MetricTileGroup.d.ts +4 -1
- package/lib/types/components/dashboard/metric_tile_group/MetricTileGroup.d.ts.map +1 -1
- package/lib/types/components/dashboard/timeline_event_row/TimelineEventRow.css.d.ts +31 -2
- package/lib/types/components/dashboard/timeline_event_row/TimelineEventRow.css.d.ts.map +1 -1
- package/lib/types/components/dashboard/timeline_event_row/TimelineEventRow.d.ts +8 -3
- package/lib/types/components/dashboard/timeline_event_row/TimelineEventRow.d.ts.map +1 -1
- package/lib/types/components/data-table/DataTable.css.d.ts +1 -0
- package/lib/types/components/data-table/DataTable.css.d.ts.map +1 -1
- package/lib/types/components/data-table/DataTable.d.ts +54 -3
- package/lib/types/components/data-table/DataTable.d.ts.map +1 -1
- package/lib/types/components/data-table/ResponsiveRecordList.d.ts +1 -4
- package/lib/types/components/data-table/ResponsiveRecordList.d.ts.map +1 -1
- package/lib/types/components/data-table/VirtualizedConnectionTable.css.d.ts +0 -1
- package/lib/types/components/data-table/VirtualizedConnectionTable.css.d.ts.map +1 -1
- package/lib/types/components/data-table/VirtualizedConnectionTable.d.ts +11 -5
- package/lib/types/components/data-table/VirtualizedConnectionTable.d.ts.map +1 -1
- package/lib/types/{backoffice/molecules/inline_banner → components/feedback}/InlineBanner.d.ts +4 -2
- package/lib/types/components/feedback/InlineBanner.d.ts.map +1 -0
- package/lib/types/components/feedback/OperationFeedback.css.d.ts +0 -1
- package/lib/types/components/feedback/OperationFeedback.css.d.ts.map +1 -1
- package/lib/types/components/feedback/OperationFeedback.d.ts.map +1 -1
- package/lib/types/components/feedback/inlineBanner.css.d.ts.map +1 -0
- package/lib/types/components/infinite/InfiniteScrollTrigger.d.ts.map +1 -1
- package/lib/types/components/layout/ActionPanel.css.d.ts +1 -0
- package/lib/types/components/layout/ActionPanel.css.d.ts.map +1 -1
- package/lib/types/components/layout/ActionPanel.d.ts.map +1 -1
- package/lib/types/components/layout/PageShell.css.d.ts +1 -14
- package/lib/types/components/layout/PageShell.css.d.ts.map +1 -1
- package/lib/types/components/layout/PageShell.d.ts +1 -3
- package/lib/types/components/layout/PageShell.d.ts.map +1 -1
- package/lib/types/components/layout/ResizableSplitView.css.d.ts +8 -0
- package/lib/types/components/layout/ResizableSplitView.css.d.ts.map +1 -0
- package/lib/types/components/layout/ResizableSplitView.d.ts +27 -0
- package/lib/types/components/layout/ResizableSplitView.d.ts.map +1 -0
- package/lib/types/components/layout/Surface.css.d.ts +31 -0
- package/lib/types/components/layout/Surface.css.d.ts.map +1 -0
- package/lib/types/components/layout/Surface.d.ts +30 -0
- package/lib/types/components/layout/Surface.d.ts.map +1 -0
- package/lib/types/components/layout/toolbar/Toolbar.css.d.ts +40 -0
- package/lib/types/components/layout/toolbar/Toolbar.css.d.ts.map +1 -0
- package/lib/types/components/layout/toolbar/Toolbar.d.ts +35 -0
- package/lib/types/components/layout/toolbar/Toolbar.d.ts.map +1 -0
- package/lib/types/components/navigation/sidebar/SidebarNavigation.d.ts +57 -0
- package/lib/types/components/navigation/sidebar/SidebarNavigation.d.ts.map +1 -0
- package/lib/types/components/navigation/sidebar/SidebarNavigationItem.d.ts +2 -0
- package/lib/types/components/navigation/sidebar/SidebarNavigationItem.d.ts.map +1 -0
- package/lib/types/components/navigation/sidebar/SidebarNavigationSection.d.ts +2 -0
- package/lib/types/components/navigation/sidebar/SidebarNavigationSection.d.ts.map +1 -0
- package/lib/types/components/navigation/sidebar/SidebarProfileMenu.d.ts +2 -0
- package/lib/types/components/navigation/sidebar/SidebarProfileMenu.d.ts.map +1 -0
- package/lib/types/components/navigation/sidebar/sidebarNavigation.css.d.ts +19 -0
- package/lib/types/components/navigation/sidebar/sidebarNavigation.css.d.ts.map +1 -0
- package/lib/types/components/subscriptions/RefetchNeededBanner.d.ts.map +1 -1
- package/lib/types/i18n/resources.d.ts +32 -14
- package/lib/types/i18n/resources.d.ts.map +1 -1
- package/lib/types/index.d.ts +33 -33
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/internal/data-table/virtualization.d.ts +2 -2
- package/lib/types/internal/data-table/virtualization.d.ts.map +1 -1
- package/lib/types/internal/infinite/infiniteLoad.d.ts +27 -0
- package/lib/types/internal/infinite/infiniteLoad.d.ts.map +1 -0
- package/lib/types/theme/backofficeTheme.css.d.ts +100 -0
- package/lib/types/theme/backofficeTheme.css.d.ts.map +1 -1
- package/lib/types/theme/publicTheme.css.d.ts +100 -0
- package/lib/types/theme/publicTheme.css.d.ts.map +1 -1
- package/lib/types/theme/sprinkles.css.d.ts +2 -2
- package/lib/types/theme/themeContract.css.d.ts +50 -0
- package/lib/types/theme/themeContract.css.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/i18n/locales/en/ui.json +16 -7
- package/src/i18n/locales/fr/ui.json +16 -7
- package/lib/esm/atomic/molecules/card/Card.css.js +0 -8
- package/lib/esm/atomic/molecules/card/Card.css.js.map +0 -1
- package/lib/esm/atomic/molecules/form/FormErrorBanner.css.js +0 -8
- package/lib/esm/atomic/molecules/form/FormErrorBanner.css.js.map +0 -1
- package/lib/esm/atomic/molecules/form/FormErrorBanner.js +0 -17
- package/lib/esm/atomic/molecules/form/FormErrorBanner.js.map +0 -1
- package/lib/esm/atomic/templates/detail-page/DetailPage.js +0 -49
- package/lib/esm/atomic/templates/detail-page/DetailPage.js.map +0 -1
- package/lib/esm/atomic/templates/detail-page/detailPage.css.js +0 -8
- package/lib/esm/atomic/templates/detail-page/detailPage.css.js.map +0 -1
- package/lib/esm/backoffice/molecules/backoffice_detail_layout/BackofficeDetailLayout.js +0 -33
- package/lib/esm/backoffice/molecules/backoffice_detail_layout/BackofficeDetailLayout.js.map +0 -1
- package/lib/esm/backoffice/molecules/backoffice_detail_layout/backofficeDetailLayout.css.js +0 -8
- package/lib/esm/backoffice/molecules/backoffice_detail_layout/backofficeDetailLayout.css.js.map +0 -1
- package/lib/esm/backoffice/molecules/backoffice_empty_state/backofficeEmptyState.css.js +0 -8
- package/lib/esm/backoffice/molecules/backoffice_empty_state/backofficeEmptyState.css.js.map +0 -1
- package/lib/esm/backoffice/molecules/backoffice_filters_bar/BackofficeFiltersBar.js +0 -36
- package/lib/esm/backoffice/molecules/backoffice_filters_bar/BackofficeFiltersBar.js.map +0 -1
- package/lib/esm/backoffice/molecules/backoffice_filters_bar/backofficeFiltersBar.css.js +0 -8
- package/lib/esm/backoffice/molecules/backoffice_filters_bar/backofficeFiltersBar.css.js.map +0 -1
- package/lib/esm/backoffice/molecules/backoffice_form_section/backofficeFormSection.css.js +0 -8
- package/lib/esm/backoffice/molecules/backoffice_form_section/backofficeFormSection.css.js.map +0 -1
- package/lib/esm/backoffice/molecules/backoffice_infinite_list_status/BackofficeInfiniteListStatus.js +0 -37
- package/lib/esm/backoffice/molecules/backoffice_infinite_list_status/BackofficeInfiniteListStatus.js.map +0 -1
- package/lib/esm/backoffice/molecules/backoffice_infinite_list_status/backofficeInfiniteListStatus.css.js +0 -8
- package/lib/esm/backoffice/molecules/backoffice_infinite_list_status/backofficeInfiniteListStatus.css.js.map +0 -1
- package/lib/esm/backoffice/molecules/backoffice_load_more/BackofficeLoadMore.js +0 -35
- package/lib/esm/backoffice/molecules/backoffice_load_more/BackofficeLoadMore.js.map +0 -1
- package/lib/esm/backoffice/molecules/backoffice_load_more/backofficeLoadMore.css.js +0 -8
- package/lib/esm/backoffice/molecules/backoffice_load_more/backofficeLoadMore.css.js.map +0 -1
- package/lib/esm/backoffice/molecules/backoffice_table_toolbar/BackofficeTableToolbar.js +0 -41
- package/lib/esm/backoffice/molecules/backoffice_table_toolbar/BackofficeTableToolbar.js.map +0 -1
- package/lib/esm/backoffice/molecules/backoffice_table_toolbar/backofficeTableToolbar.css.js +0 -8
- package/lib/esm/backoffice/molecules/backoffice_table_toolbar/backofficeTableToolbar.css.js.map +0 -1
- package/lib/esm/backoffice/molecules/backoffice_tabs/BackofficeTabs.js +0 -46
- package/lib/esm/backoffice/molecules/backoffice_tabs/BackofficeTabs.js.map +0 -1
- package/lib/esm/backoffice/molecules/backoffice_tabs/backofficeTabs.css.js +0 -17
- package/lib/esm/backoffice/molecules/backoffice_tabs/backofficeTabs.css.js.map +0 -1
- package/lib/esm/backoffice/molecules/inline_banner/InlineBanner.js +0 -46
- package/lib/esm/backoffice/molecules/inline_banner/InlineBanner.js.map +0 -1
- package/lib/esm/backoffice/molecules/inline_banner/inlineBanner.css.js +0 -19
- package/lib/esm/backoffice/molecules/inline_banner/inlineBanner.css.js.map +0 -1
- package/lib/esm/backoffice/molecules/table_toolbar/TableToolbar.js +0 -41
- package/lib/esm/backoffice/molecules/table_toolbar/TableToolbar.js.map +0 -1
- package/lib/esm/backoffice/molecules/table_toolbar/tableToolbar.css.js +0 -8
- package/lib/esm/backoffice/molecules/table_toolbar/tableToolbar.css.js.map +0 -1
- package/lib/esm/backoffice/organisms/backoffice_virtualized_connection_table/BackofficeVirtualizedConnectionTable.js +0 -26
- package/lib/esm/backoffice/organisms/backoffice_virtualized_connection_table/BackofficeVirtualizedConnectionTable.js.map +0 -1
- package/lib/esm/backoffice/organisms/backoffice_virtualized_connection_table/backofficeVirtualizedConnectionTable.css.js +0 -8
- package/lib/esm/backoffice/organisms/backoffice_virtualized_connection_table/backofficeVirtualizedConnectionTable.css.js.map +0 -1
- package/lib/esm/backoffice/organisms/backoffice_virtualized_connection_table/helpers.js +0 -18
- package/lib/esm/backoffice/organisms/backoffice_virtualized_connection_table/helpers.js.map +0 -1
- package/lib/esm/components/dashboard/section_nav/SectionNav.css.js +0 -8
- package/lib/esm/components/dashboard/section_nav/SectionNav.css.js.map +0 -1
- package/lib/esm/components/dashboard/section_nav/SectionNav.js +0 -25
- package/lib/esm/components/dashboard/section_nav/SectionNav.js.map +0 -1
- package/lib/esm/components/dashboard/segmented_nav/SegmentedNav.css.js +0 -8
- package/lib/esm/components/dashboard/segmented_nav/SegmentedNav.css.js.map +0 -1
- package/lib/esm/components/dashboard/segmented_nav/SegmentedNav.js +0 -24
- package/lib/esm/components/dashboard/segmented_nav/SegmentedNav.js.map +0 -1
- package/lib/esm/components/layout/AppShell.js +0 -19
- package/lib/esm/components/layout/AppShell.js.map +0 -1
- package/lib/esm/components/layout/SidebarPageLayout.js +0 -16
- package/lib/esm/components/layout/SidebarPageLayout.js.map +0 -1
- package/lib/esm/components/layout/SplitViewLayout.css.js +0 -8
- package/lib/esm/components/layout/SplitViewLayout.css.js.map +0 -1
- package/lib/esm/components/layout/SplitViewLayout.js +0 -18
- package/lib/esm/components/layout/SplitViewLayout.js.map +0 -1
- package/lib/esm/components/layout/TabsContentLayout.css.js +0 -8
- package/lib/esm/components/layout/TabsContentLayout.css.js.map +0 -1
- package/lib/esm/components/layout/TabsContentLayout.js +0 -31
- package/lib/esm/components/layout/TabsContentLayout.js.map +0 -1
- package/lib/esm/components/layout/ToolbarRow.css.js +0 -8
- package/lib/esm/components/layout/ToolbarRow.css.js.map +0 -1
- package/lib/esm/components/layout/ToolbarRow.js +0 -12
- package/lib/esm/components/layout/ToolbarRow.js.map +0 -1
- package/lib/esm/components/subscriptions/RefetchNeededBanner.css.js +0 -8
- package/lib/esm/components/subscriptions/RefetchNeededBanner.css.js.map +0 -1
- package/lib/types/atomic/molecules/card/Card.css.d.ts +0 -5
- package/lib/types/atomic/molecules/card/Card.css.d.ts.map +0 -1
- package/lib/types/atomic/molecules/form/FormErrorBanner.css.d.ts +0 -2
- package/lib/types/atomic/molecules/form/FormErrorBanner.css.d.ts.map +0 -1
- package/lib/types/atomic/molecules/form/FormErrorBanner.d.ts +0 -7
- package/lib/types/atomic/molecules/form/FormErrorBanner.d.ts.map +0 -1
- package/lib/types/atomic/templates/detail-page/DetailPage.d.ts +0 -19
- package/lib/types/atomic/templates/detail-page/DetailPage.d.ts.map +0 -1
- package/lib/types/atomic/templates/detail-page/detailPage.css.d.ts +0 -9
- package/lib/types/atomic/templates/detail-page/detailPage.css.d.ts.map +0 -1
- package/lib/types/backoffice/molecules/backoffice_detail_layout/BackofficeDetailLayout.d.ts +0 -10
- package/lib/types/backoffice/molecules/backoffice_detail_layout/BackofficeDetailLayout.d.ts.map +0 -1
- package/lib/types/backoffice/molecules/backoffice_detail_layout/backofficeDetailLayout.css.d.ts +0 -7
- package/lib/types/backoffice/molecules/backoffice_detail_layout/backofficeDetailLayout.css.d.ts.map +0 -1
- package/lib/types/backoffice/molecules/backoffice_empty_state/backofficeEmptyState.css.d.ts +0 -6
- package/lib/types/backoffice/molecules/backoffice_empty_state/backofficeEmptyState.css.d.ts.map +0 -1
- package/lib/types/backoffice/molecules/backoffice_filters_bar/BackofficeFiltersBar.d.ts +0 -13
- package/lib/types/backoffice/molecules/backoffice_filters_bar/BackofficeFiltersBar.d.ts.map +0 -1
- package/lib/types/backoffice/molecules/backoffice_filters_bar/backofficeFiltersBar.css.d.ts +0 -6
- package/lib/types/backoffice/molecules/backoffice_filters_bar/backofficeFiltersBar.css.d.ts.map +0 -1
- package/lib/types/backoffice/molecules/backoffice_form_section/backofficeFormSection.css.d.ts +0 -5
- package/lib/types/backoffice/molecules/backoffice_form_section/backofficeFormSection.css.d.ts.map +0 -1
- package/lib/types/backoffice/molecules/backoffice_infinite_list_status/BackofficeInfiniteListStatus.d.ts +0 -16
- package/lib/types/backoffice/molecules/backoffice_infinite_list_status/BackofficeInfiniteListStatus.d.ts.map +0 -1
- package/lib/types/backoffice/molecules/backoffice_infinite_list_status/backofficeInfiniteListStatus.css.d.ts.map +0 -1
- package/lib/types/backoffice/molecules/backoffice_load_more/BackofficeLoadMore.d.ts +0 -13
- package/lib/types/backoffice/molecules/backoffice_load_more/BackofficeLoadMore.d.ts.map +0 -1
- package/lib/types/backoffice/molecules/backoffice_load_more/backofficeLoadMore.css.d.ts +0 -5
- package/lib/types/backoffice/molecules/backoffice_load_more/backofficeLoadMore.css.d.ts.map +0 -1
- package/lib/types/backoffice/molecules/backoffice_table_toolbar/BackofficeTableToolbar.d.ts +0 -16
- package/lib/types/backoffice/molecules/backoffice_table_toolbar/BackofficeTableToolbar.d.ts.map +0 -1
- package/lib/types/backoffice/molecules/backoffice_table_toolbar/backofficeTableToolbar.css.d.ts +0 -10
- package/lib/types/backoffice/molecules/backoffice_table_toolbar/backofficeTableToolbar.css.d.ts.map +0 -1
- package/lib/types/backoffice/molecules/backoffice_tabs/BackofficeTabs.d.ts +0 -19
- package/lib/types/backoffice/molecules/backoffice_tabs/BackofficeTabs.d.ts.map +0 -1
- package/lib/types/backoffice/molecules/backoffice_tabs/backofficeTabs.css.d.ts +0 -15
- package/lib/types/backoffice/molecules/backoffice_tabs/backofficeTabs.css.d.ts.map +0 -1
- package/lib/types/backoffice/molecules/inline_banner/InlineBanner.d.ts.map +0 -1
- package/lib/types/backoffice/molecules/inline_banner/inlineBanner.css.d.ts.map +0 -1
- package/lib/types/backoffice/molecules/table_toolbar/TableToolbar.d.ts +0 -13
- package/lib/types/backoffice/molecules/table_toolbar/TableToolbar.d.ts.map +0 -1
- package/lib/types/backoffice/molecules/table_toolbar/tableToolbar.css.d.ts +0 -6
- package/lib/types/backoffice/molecules/table_toolbar/tableToolbar.css.d.ts.map +0 -1
- package/lib/types/backoffice/organisms/backoffice_virtualized_connection_table/BackofficeVirtualizedConnectionTable.d.ts +0 -31
- package/lib/types/backoffice/organisms/backoffice_virtualized_connection_table/BackofficeVirtualizedConnectionTable.d.ts.map +0 -1
- package/lib/types/backoffice/organisms/backoffice_virtualized_connection_table/backofficeVirtualizedConnectionTable.css.d.ts +0 -5
- package/lib/types/backoffice/organisms/backoffice_virtualized_connection_table/backofficeVirtualizedConnectionTable.css.d.ts.map +0 -1
- package/lib/types/backoffice/organisms/backoffice_virtualized_connection_table/helpers.d.ts +0 -5
- package/lib/types/backoffice/organisms/backoffice_virtualized_connection_table/helpers.d.ts.map +0 -1
- package/lib/types/components/dashboard/section_nav/SectionNav.css.d.ts +0 -4
- package/lib/types/components/dashboard/section_nav/SectionNav.css.d.ts.map +0 -1
- package/lib/types/components/dashboard/section_nav/SectionNav.d.ts +0 -15
- package/lib/types/components/dashboard/section_nav/SectionNav.d.ts.map +0 -1
- package/lib/types/components/dashboard/segmented_nav/SegmentedNav.css.d.ts +0 -4
- package/lib/types/components/dashboard/segmented_nav/SegmentedNav.css.d.ts.map +0 -1
- package/lib/types/components/dashboard/segmented_nav/SegmentedNav.d.ts +0 -15
- package/lib/types/components/dashboard/segmented_nav/SegmentedNav.d.ts.map +0 -1
- package/lib/types/components/layout/AppShell.d.ts +0 -17
- package/lib/types/components/layout/AppShell.d.ts.map +0 -1
- package/lib/types/components/layout/SidebarPageLayout.d.ts +0 -15
- package/lib/types/components/layout/SidebarPageLayout.d.ts.map +0 -1
- package/lib/types/components/layout/SplitViewLayout.css.d.ts +0 -3
- package/lib/types/components/layout/SplitViewLayout.css.d.ts.map +0 -1
- package/lib/types/components/layout/SplitViewLayout.d.ts +0 -11
- package/lib/types/components/layout/SplitViewLayout.d.ts.map +0 -1
- package/lib/types/components/layout/TabsContentLayout.css.d.ts +0 -6
- package/lib/types/components/layout/TabsContentLayout.css.d.ts.map +0 -1
- package/lib/types/components/layout/TabsContentLayout.d.ts +0 -9
- package/lib/types/components/layout/TabsContentLayout.d.ts.map +0 -1
- package/lib/types/components/layout/ToolbarRow.css.d.ts +0 -2
- package/lib/types/components/layout/ToolbarRow.css.d.ts.map +0 -1
- package/lib/types/components/layout/ToolbarRow.d.ts +0 -8
- package/lib/types/components/layout/ToolbarRow.d.ts.map +0 -1
- package/lib/types/components/subscriptions/RefetchNeededBanner.css.d.ts +0 -5
- package/lib/types/components/subscriptions/RefetchNeededBanner.css.d.ts.map +0 -1
- /package/lib/types/{backoffice/molecules/inline_banner → components/feedback}/inlineBanner.css.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResizableSplitView.css.js","names":[],"sources":["../../../../src/components/layout/ResizableSplitView.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\n\nimport { sprinkles } from '../../theme/sprinkles.css.js';\nimport { vars } from '../../theme/themeContract.css.js';\n\nexport const root = style([\n sprinkles({\n display: 'flex',\n alignItems: 'stretch',\n gap: 0,\n minWidth: 0,\n width: 'full',\n }),\n {\n minHeight: 0,\n },\n]);\n\nexport const rootStacked = sprinkles({\n flexDirection: 'column',\n gap: 3,\n});\n\nexport const rootSplit = sprinkles({\n flexDirection: 'row',\n});\n\nexport const main = style([\n sprinkles({\n flex: 1,\n minWidth: 0,\n }),\n {\n minHeight: 0,\n },\n]);\n\nexport const sidePanel = sprinkles({\n flex: 'none',\n minWidth: 0,\n});\n\nexport const sidePanelStacked = sprinkles({\n width: 'full',\n});\n\nexport const resizer = style([\n sprinkles({\n alignSelf: 'stretch',\n backgroundColor: 'transparent',\n cursor: 'col-resize',\n flex: 'none',\n minWidth: 4,\n position: 'relative',\n width: 4,\n }),\n {\n touchAction: 'none',\n selectors: {\n '&::after': {\n content: '',\n position: 'absolute',\n top: '50%',\n left: '50%',\n width: '4px',\n height: '96px',\n transform: 'translate(-50%, -50%)',\n borderRadius: vars.borderRadius.full,\n backgroundColor: vars.colors.border,\n boxShadow: vars.boxShadow.sm,\n transitionProperty: 'default',\n transitionDuration: vars.transitionDuration[120],\n transitionTimingFunction: vars.transitionTimingFunction.ease,\n },\n '&:hover::after, &[data-active=\"true\"]::after': {\n backgroundColor: vars.colors.primary,\n boxShadow: `0 0 0 1px ${vars.colors.primaryLight}`,\n },\n '&:focus-visible': {\n outline: `2px solid ${vars.colors.primary}`,\n outlineOffset: '2px',\n },\n },\n },\n]);\n"],"mappings":""}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import { cx as e } from "../../theme/tools.js";
|
|
2
|
+
import { useUiTranslation as t } from "../../i18n/useUiTranslation.js";
|
|
3
|
+
import { main as n, root as r, rootSplit as i, rootStacked as a, sidePanel as o, sidePanelStacked as s } from "./ResizableSplitView.css.js";
|
|
4
|
+
import { useCallback as c, useEffect as l, useRef as u, useState as d } from "react";
|
|
5
|
+
import { jsx as f, jsxs as ee } from "react/jsx-runtime";
|
|
6
|
+
//#region src/components/layout/ResizableSplitView.tsx
|
|
7
|
+
var te = 360, ne = 280, re = 320, p = .5, ie = 1024, ae = 16, oe = 64, m = (e) => {
|
|
8
|
+
if (e == null || typeof window > "u") return null;
|
|
9
|
+
try {
|
|
10
|
+
let t = window.localStorage.getItem(e);
|
|
11
|
+
if (t == null) return null;
|
|
12
|
+
let n = Number(t);
|
|
13
|
+
return !Number.isFinite(n) || n <= 0 ? null : n;
|
|
14
|
+
} catch {
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
}, h = (e, t) => {
|
|
18
|
+
if (!(e == null || typeof window > "u")) try {
|
|
19
|
+
window.localStorage.setItem(e, String(t));
|
|
20
|
+
} catch {}
|
|
21
|
+
}, g = (e, t, n, r) => {
|
|
22
|
+
let i = e * n, a = e - r;
|
|
23
|
+
return Math.max(0, Math.min(i, a, t ?? Infinity));
|
|
24
|
+
}, _ = (e, t, n, r, i, a) => {
|
|
25
|
+
let o = g(t, r, i, a), s = Math.min(n, o);
|
|
26
|
+
return o <= 0 && (s = 0), Math.max(s, Math.min(e, Math.max(s, o)));
|
|
27
|
+
};
|
|
28
|
+
function v({ className: v, defaultSidePanelWidth: y = te, main: b, mainClassName: x, maxSidePanelRatio: S = p, maxSidePanelWidth: C, minMainWidth: w = re, minSidePanelWidth: T = ne, onSidePanelWidthChange: E, resizable: D = !0, resizerLabel: se, sidePanel: O, sidePanelClassName: ce, sidePanelLabel: k, sidePanelWidth: A, stackedBreakpoint: j = ie, storageKey: M }) {
|
|
29
|
+
let { t: le } = t(), N = u(null), P = u(A ?? y), F = u({
|
|
30
|
+
active: !1,
|
|
31
|
+
pointerId: null,
|
|
32
|
+
startClientX: 0,
|
|
33
|
+
startWidth: P.current
|
|
34
|
+
}), [ue, de] = d(() => m(M) ?? y), [fe, pe] = d(0), [I, L] = d(!1), [R, z] = d(!1), B = A ?? ue, V = O != null, H = V && D && !R, U = c(() => {
|
|
35
|
+
let e = N.current;
|
|
36
|
+
return e == null ? 0 : e.getBoundingClientRect().width;
|
|
37
|
+
}, []), W = c((e) => {
|
|
38
|
+
let t = U();
|
|
39
|
+
return t <= 0 ? e : _(e, t, T, C, S, w);
|
|
40
|
+
}, [
|
|
41
|
+
U,
|
|
42
|
+
S,
|
|
43
|
+
C,
|
|
44
|
+
w,
|
|
45
|
+
T
|
|
46
|
+
]), G = c((e) => {
|
|
47
|
+
let t = W(e);
|
|
48
|
+
return P.current = t, A ?? de(t), E?.(t), t;
|
|
49
|
+
}, [
|
|
50
|
+
W,
|
|
51
|
+
E,
|
|
52
|
+
A
|
|
53
|
+
]);
|
|
54
|
+
l(() => {
|
|
55
|
+
P.current = B;
|
|
56
|
+
}, [B]), l(() => {
|
|
57
|
+
let e = N.current;
|
|
58
|
+
e != null && pe(e.getBoundingClientRect().width);
|
|
59
|
+
}, [V, R]), l(() => {
|
|
60
|
+
if (typeof window > "u") return () => {};
|
|
61
|
+
let e = window.matchMedia(`(max-width: ${j - 1}px)`), t = () => {
|
|
62
|
+
z(e.matches);
|
|
63
|
+
};
|
|
64
|
+
return t(), e.addEventListener("change", t), () => {
|
|
65
|
+
e.removeEventListener("change", t);
|
|
66
|
+
};
|
|
67
|
+
}, [j]), l(() => {
|
|
68
|
+
if (!V || R) return;
|
|
69
|
+
let e = W(B);
|
|
70
|
+
if (e === B) {
|
|
71
|
+
P.current = e;
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
G(e);
|
|
75
|
+
}, [
|
|
76
|
+
W,
|
|
77
|
+
G,
|
|
78
|
+
V,
|
|
79
|
+
R,
|
|
80
|
+
B
|
|
81
|
+
]);
|
|
82
|
+
let K = c(() => {
|
|
83
|
+
F.current.active && (F.current.active = !1, F.current.pointerId = null, L(!1), h(M, P.current));
|
|
84
|
+
}, [M]);
|
|
85
|
+
l(() => {
|
|
86
|
+
if (typeof window > "u") return () => {};
|
|
87
|
+
let e = (e) => {
|
|
88
|
+
let t = F.current;
|
|
89
|
+
if (!t.active || t.pointerId != null && e.pointerId !== t.pointerId) return;
|
|
90
|
+
e.preventDefault();
|
|
91
|
+
let n = t.startClientX - e.clientX;
|
|
92
|
+
G(t.startWidth + n);
|
|
93
|
+
}, t = (e) => {
|
|
94
|
+
let t = F.current;
|
|
95
|
+
t.pointerId != null && e.pointerId !== t.pointerId || K();
|
|
96
|
+
};
|
|
97
|
+
return window.addEventListener("pointermove", e), window.addEventListener("pointerup", t), window.addEventListener("pointercancel", t), () => {
|
|
98
|
+
window.removeEventListener("pointermove", e), window.removeEventListener("pointerup", t), window.removeEventListener("pointercancel", t);
|
|
99
|
+
};
|
|
100
|
+
}, [G, K]);
|
|
101
|
+
let q = c((e) => {
|
|
102
|
+
H && (e.preventDefault(), "setPointerCapture" in e.currentTarget && e.currentTarget.setPointerCapture(e.pointerId), F.current = {
|
|
103
|
+
active: !0,
|
|
104
|
+
pointerId: e.pointerId,
|
|
105
|
+
startClientX: e.clientX,
|
|
106
|
+
startWidth: B
|
|
107
|
+
}, L(!0));
|
|
108
|
+
}, [H, B]), me = c((e) => {
|
|
109
|
+
if (!H || e.key !== "ArrowLeft" && e.key !== "ArrowRight") return;
|
|
110
|
+
e.preventDefault();
|
|
111
|
+
let t = ae;
|
|
112
|
+
e.shiftKey && (t = oe);
|
|
113
|
+
let n = -t;
|
|
114
|
+
e.key === "ArrowLeft" && (n = t), h(M, G(B + n));
|
|
115
|
+
}, [
|
|
116
|
+
H,
|
|
117
|
+
G,
|
|
118
|
+
B,
|
|
119
|
+
M
|
|
120
|
+
]);
|
|
121
|
+
if (!V) return /* @__PURE__ */ f("div", {
|
|
122
|
+
ref: N,
|
|
123
|
+
className: e(r, i, v),
|
|
124
|
+
children: /* @__PURE__ */ f("div", {
|
|
125
|
+
className: e(n, x),
|
|
126
|
+
children: b
|
|
127
|
+
})
|
|
128
|
+
});
|
|
129
|
+
let J;
|
|
130
|
+
R || (J = { width: `${B}px` });
|
|
131
|
+
let Y = g(fe, C, S, w), X = Math.min(T, Y);
|
|
132
|
+
Y <= 0 && (X = 0);
|
|
133
|
+
let he = Math.max(X, Y), ge = se ?? le("layout.pageShell.resizeSidePanel"), Z = i;
|
|
134
|
+
R && (Z = a);
|
|
135
|
+
let Q = "false";
|
|
136
|
+
I && (Q = "true");
|
|
137
|
+
let $;
|
|
138
|
+
return R && ($ = s), /* @__PURE__ */ ee("div", {
|
|
139
|
+
ref: N,
|
|
140
|
+
className: e(r, Z, v),
|
|
141
|
+
children: [
|
|
142
|
+
/* @__PURE__ */ f("div", {
|
|
143
|
+
className: e(n, x),
|
|
144
|
+
children: b
|
|
145
|
+
}),
|
|
146
|
+
H && /* @__PURE__ */ f("div", {
|
|
147
|
+
className: "_1sh6osj9 _1sh6osj8 txvbqbhh txvbqb1933 txvbqbb txvbqbdyg txvbqbtay txvbqb11js txvbqb17h7",
|
|
148
|
+
role: "separator",
|
|
149
|
+
"aria-orientation": "vertical",
|
|
150
|
+
"aria-label": ge,
|
|
151
|
+
"aria-valuemin": Math.round(X),
|
|
152
|
+
"aria-valuemax": Math.round(he),
|
|
153
|
+
"aria-valuenow": Math.round(B),
|
|
154
|
+
tabIndex: 0,
|
|
155
|
+
"data-active": Q,
|
|
156
|
+
onPointerDown: q,
|
|
157
|
+
onKeyDown: me
|
|
158
|
+
}),
|
|
159
|
+
/* @__PURE__ */ f("aside", {
|
|
160
|
+
className: e(o, $, ce),
|
|
161
|
+
"aria-label": k,
|
|
162
|
+
style: J,
|
|
163
|
+
children: O
|
|
164
|
+
})
|
|
165
|
+
]
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
var y = {
|
|
169
|
+
clampWidth: _,
|
|
170
|
+
readStoredWidth: m,
|
|
171
|
+
resolveMaxWidth: g
|
|
172
|
+
};
|
|
173
|
+
//#endregion
|
|
174
|
+
export { v as ResizableSplitView, y as __test };
|
|
175
|
+
|
|
176
|
+
//# sourceMappingURL=ResizableSplitView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResizableSplitView.js","names":[],"sources":["../../../../src/components/layout/ResizableSplitView.tsx"],"sourcesContent":["import {\n useCallback,\n useEffect,\n useRef,\n useState,\n type CSSProperties,\n type JSX,\n type KeyboardEvent,\n type PointerEvent as ReactPointerEvent,\n type ReactNode,\n} from 'react';\n\nimport { useUiTranslation } from '../../i18n/useUiTranslation.js';\nimport { cx } from '../../theme/tools.js';\nimport * as styles from './ResizableSplitView.css.js';\n\nconst DEFAULT_SIDE_PANEL_WIDTH = 360;\nconst DEFAULT_MIN_SIDE_PANEL_WIDTH = 280;\nconst DEFAULT_MIN_MAIN_WIDTH = 320;\nconst DEFAULT_MAX_SIDE_PANEL_RATIO = 0.5;\nconst DEFAULT_STACKED_BREAKPOINT = 1024;\nconst RESIZE_STEP = 16;\nconst RESIZE_SHIFT_STEP = 64;\n\ntype ResizeState = {\n active: boolean;\n pointerId: number | null;\n startClientX: number;\n startWidth: number;\n};\n\nexport type ResizableSplitViewProps = {\n main: ReactNode;\n sidePanel?: ReactNode | null;\n sidePanelLabel?: string;\n sidePanelWidth?: number;\n defaultSidePanelWidth?: number;\n minSidePanelWidth?: number;\n maxSidePanelWidth?: number;\n minMainWidth?: number;\n maxSidePanelRatio?: number;\n onSidePanelWidthChange?: (width: number) => void;\n storageKey?: string;\n stackedBreakpoint?: number;\n className?: string;\n mainClassName?: string;\n sidePanelClassName?: string;\n resizerLabel?: string;\n resizable?: boolean;\n};\n\nconst readStoredWidth = (storageKey: string | undefined): number | null => {\n if (storageKey == null || typeof window === 'undefined') {\n return null;\n }\n\n try {\n const stored = window.localStorage.getItem(storageKey);\n if (stored == null) {\n return null;\n }\n const parsed = Number(stored);\n if (!Number.isFinite(parsed) || parsed <= 0) {\n return null;\n }\n return parsed;\n } catch {\n return null;\n }\n};\n\nconst persistWidth = (storageKey: string | undefined, width: number): void => {\n if (storageKey == null || typeof window === 'undefined') {\n return;\n }\n\n try {\n window.localStorage.setItem(storageKey, String(width));\n } catch {\n // Ignore quota and permission errors.\n }\n};\n\nconst resolveMaxWidth = (\n containerWidth: number,\n maxSidePanelWidth: number | undefined,\n maxSidePanelRatio: number,\n minMainWidth: number,\n): number => {\n const ratioMax = containerWidth * maxSidePanelRatio;\n const mainMax = containerWidth - minMainWidth;\n const configuredMax = maxSidePanelWidth ?? Number.POSITIVE_INFINITY;\n return Math.max(0, Math.min(ratioMax, mainMax, configuredMax));\n};\n\nconst clampWidth = (\n candidateWidth: number,\n containerWidth: number,\n minSidePanelWidth: number,\n maxSidePanelWidth: number | undefined,\n maxSidePanelRatio: number,\n minMainWidth: number,\n): number => {\n const maxWidth = resolveMaxWidth(\n containerWidth,\n maxSidePanelWidth,\n maxSidePanelRatio,\n minMainWidth,\n );\n let safeMin = Math.min(minSidePanelWidth, maxWidth);\n if (maxWidth <= 0) {\n safeMin = 0;\n }\n const safeMax = Math.max(safeMin, maxWidth);\n return Math.max(safeMin, Math.min(candidateWidth, safeMax));\n};\n\n/** Render an optional side panel with accessible pointer and keyboard resizing. */\nexport function ResizableSplitView({\n className,\n defaultSidePanelWidth = DEFAULT_SIDE_PANEL_WIDTH,\n main,\n mainClassName,\n maxSidePanelRatio = DEFAULT_MAX_SIDE_PANEL_RATIO,\n maxSidePanelWidth,\n minMainWidth = DEFAULT_MIN_MAIN_WIDTH,\n minSidePanelWidth = DEFAULT_MIN_SIDE_PANEL_WIDTH,\n onSidePanelWidthChange,\n resizable = true,\n resizerLabel,\n sidePanel,\n sidePanelClassName,\n sidePanelLabel,\n sidePanelWidth,\n stackedBreakpoint = DEFAULT_STACKED_BREAKPOINT,\n storageKey,\n}: ResizableSplitViewProps): JSX.Element {\n const { t } = useUiTranslation();\n const rootRef = useRef<HTMLDivElement | null>(null);\n const widthSnapshotRef = useRef(sidePanelWidth ?? defaultSidePanelWidth);\n const resizeStateRef = useRef<ResizeState>({\n active: false,\n pointerId: null,\n startClientX: 0,\n startWidth: widthSnapshotRef.current,\n });\n const [uncontrolledWidth, setUncontrolledWidth] = useState(() => {\n return readStoredWidth(storageKey) ?? defaultSidePanelWidth;\n });\n const [measuredContainerWidth, setMeasuredContainerWidth] = useState(0);\n const [isResizing, setIsResizing] = useState(false);\n const [isStacked, setIsStacked] = useState(false);\n\n const resolvedWidth = sidePanelWidth ?? uncontrolledWidth;\n const hasSidePanel = sidePanel != null;\n const canResize = hasSidePanel && resizable && !isStacked;\n\n const getContainerWidth = useCallback((): number => {\n const root = rootRef.current;\n if (root == null) {\n return 0;\n }\n return root.getBoundingClientRect().width;\n }, []);\n\n const clampForContainer = useCallback(\n (candidateWidth: number): number => {\n const containerWidth = getContainerWidth();\n if (containerWidth <= 0) {\n return candidateWidth;\n }\n return clampWidth(\n candidateWidth,\n containerWidth,\n minSidePanelWidth,\n maxSidePanelWidth,\n maxSidePanelRatio,\n minMainWidth,\n );\n },\n [\n getContainerWidth,\n maxSidePanelRatio,\n maxSidePanelWidth,\n minMainWidth,\n minSidePanelWidth,\n ],\n );\n\n const commitWidth = useCallback(\n (candidateWidth: number): number => {\n const nextWidth = clampForContainer(candidateWidth);\n widthSnapshotRef.current = nextWidth;\n if (sidePanelWidth == null) {\n setUncontrolledWidth(nextWidth);\n }\n onSidePanelWidthChange?.(nextWidth);\n return nextWidth;\n },\n [clampForContainer, onSidePanelWidthChange, sidePanelWidth],\n );\n\n useEffect(() => {\n widthSnapshotRef.current = resolvedWidth;\n }, [resolvedWidth]);\n\n useEffect(() => {\n const root = rootRef.current;\n if (root == null) {\n return;\n }\n setMeasuredContainerWidth(root.getBoundingClientRect().width);\n }, [hasSidePanel, isStacked]);\n\n useEffect(() => {\n if (typeof window === 'undefined') {\n return () => {};\n }\n const mediaQuery = window.matchMedia(\n `(max-width: ${stackedBreakpoint - 1}px)`,\n );\n const handleChange = () => {\n setIsStacked(mediaQuery.matches);\n };\n\n handleChange();\n mediaQuery.addEventListener('change', handleChange);\n\n return () => {\n mediaQuery.removeEventListener('change', handleChange);\n };\n }, [stackedBreakpoint]);\n\n useEffect(() => {\n if (!hasSidePanel || isStacked) {\n return;\n }\n const nextWidth = clampForContainer(resolvedWidth);\n if (nextWidth === resolvedWidth) {\n widthSnapshotRef.current = nextWidth;\n return;\n }\n commitWidth(nextWidth);\n }, [clampForContainer, commitWidth, hasSidePanel, isStacked, resolvedWidth]);\n\n const finishResize = useCallback(() => {\n if (!resizeStateRef.current.active) {\n return;\n }\n resizeStateRef.current.active = false;\n resizeStateRef.current.pointerId = null;\n setIsResizing(false);\n persistWidth(storageKey, widthSnapshotRef.current);\n }, [storageKey]);\n\n useEffect(() => {\n if (typeof window === 'undefined') {\n return () => {};\n }\n\n const handlePointerMove = (event: PointerEvent) => {\n const state = resizeStateRef.current;\n if (!state.active) {\n return;\n }\n if (state.pointerId != null && event.pointerId !== state.pointerId) {\n return;\n }\n event.preventDefault();\n const deltaX = state.startClientX - event.clientX;\n commitWidth(state.startWidth + deltaX);\n };\n\n const handlePointerUp = (event: PointerEvent) => {\n const state = resizeStateRef.current;\n if (state.pointerId != null && event.pointerId !== state.pointerId) {\n return;\n }\n finishResize();\n };\n\n window.addEventListener('pointermove', handlePointerMove);\n window.addEventListener('pointerup', handlePointerUp);\n window.addEventListener('pointercancel', handlePointerUp);\n\n return () => {\n window.removeEventListener('pointermove', handlePointerMove);\n window.removeEventListener('pointerup', handlePointerUp);\n window.removeEventListener('pointercancel', handlePointerUp);\n };\n }, [commitWidth, finishResize]);\n\n const handlePointerDown = useCallback(\n (event: ReactPointerEvent<HTMLDivElement>) => {\n if (!canResize) {\n return;\n }\n event.preventDefault();\n if ('setPointerCapture' in event.currentTarget) {\n event.currentTarget.setPointerCapture(event.pointerId);\n }\n resizeStateRef.current = {\n active: true,\n pointerId: event.pointerId,\n startClientX: event.clientX,\n startWidth: resolvedWidth,\n };\n setIsResizing(true);\n },\n [canResize, resolvedWidth],\n );\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (!canResize) {\n return;\n }\n if (event.key !== 'ArrowLeft' && event.key !== 'ArrowRight') {\n return;\n }\n event.preventDefault();\n let step = RESIZE_STEP;\n if (event.shiftKey) {\n step = RESIZE_SHIFT_STEP;\n }\n let delta = -step;\n if (event.key === 'ArrowLeft') {\n delta = step;\n }\n const nextWidth = commitWidth(resolvedWidth + delta);\n persistWidth(storageKey, nextWidth);\n },\n [canResize, commitWidth, resolvedWidth, storageKey],\n );\n\n if (!hasSidePanel) {\n return (\n <div\n ref={rootRef}\n className={cx(styles.root, styles.rootSplit, className)}\n >\n <div className={cx(styles.main, mainClassName)}>{main}</div>\n </div>\n );\n }\n\n let sidePanelStyle: CSSProperties | undefined;\n if (!isStacked) {\n sidePanelStyle = { width: `${resolvedWidth}px` };\n }\n\n const maxResolvedWidth = resolveMaxWidth(\n measuredContainerWidth,\n maxSidePanelWidth,\n maxSidePanelRatio,\n minMainWidth,\n );\n let resizerMin = Math.min(minSidePanelWidth, maxResolvedWidth);\n if (maxResolvedWidth <= 0) {\n resizerMin = 0;\n }\n const resizerMax = Math.max(resizerMin, maxResolvedWidth);\n const resolvedResizerLabel =\n resizerLabel ?? t('layout.pageShell.resizeSidePanel');\n let rootLayoutClassName = styles.rootSplit;\n if (isStacked) {\n rootLayoutClassName = styles.rootStacked;\n }\n let resizerActive = 'false';\n if (isResizing) {\n resizerActive = 'true';\n }\n let stackedSidePanelClassName: string | undefined;\n if (isStacked) {\n stackedSidePanelClassName = styles.sidePanelStacked;\n }\n\n return (\n <div\n ref={rootRef}\n className={cx(styles.root, rootLayoutClassName, className)}\n >\n <div className={cx(styles.main, mainClassName)}>{main}</div>\n {canResize && (\n <div\n className={styles.resizer}\n role=\"separator\"\n aria-orientation=\"vertical\"\n aria-label={resolvedResizerLabel}\n aria-valuemin={Math.round(resizerMin)}\n aria-valuemax={Math.round(resizerMax)}\n aria-valuenow={Math.round(resolvedWidth)}\n tabIndex={0}\n data-active={resizerActive}\n onPointerDown={handlePointerDown}\n onKeyDown={handleKeyDown}\n />\n )}\n <aside\n className={cx(\n styles.sidePanel,\n stackedSidePanelClassName,\n sidePanelClassName,\n )}\n aria-label={sidePanelLabel}\n style={sidePanelStyle}\n >\n {sidePanel}\n </aside>\n </div>\n );\n}\n\nexport const __test = {\n clampWidth,\n readStoredWidth,\n resolveMaxWidth,\n} as const;\n"],"mappings":";;;;;;AAgBA,IAAM,KAA2B,KAC3B,KAA+B,KAC/B,KAAyB,KACzB,IAA+B,IAC/B,KAA6B,MAC7B,KAAc,IACd,KAAoB,IA6BpB,KAAmB,MAAkD;CACzE,IAAI,KAAc,QAAQ,OAAO,SAAW,KAC1C,OAAO;CAGT,IAAI;EACF,IAAM,IAAS,OAAO,aAAa,QAAQ,EAAW;EACtD,IAAI,KAAU,MACZ,OAAO;EAET,IAAM,IAAS,OAAO,EAAO;EAI7B,OAHI,CAAC,OAAO,SAAS,EAAO,IAAI,KAAU,IACjC,OAEF;SACD;EACN,OAAO;;GAIL,KAAgB,GAAgC,MAAwB;CACxE,WAAc,QAAQ,OAAO,SAAW,MAI5C,IAAI;EACF,OAAO,aAAa,QAAQ,GAAY,OAAO,EAAM,CAAC;SAChD;GAKJ,KACJ,GACA,GACA,GACA,MACW;CACX,IAAM,IAAW,IAAiB,GAC5B,IAAU,IAAiB;CAEjC,OAAO,KAAK,IAAI,GAAG,KAAK,IAAI,GAAU,GADhB,KAAqB,SACkB,CAAC;GAG1D,KACJ,GACA,GACA,GACA,GACA,GACA,MACW;CACX,IAAM,IAAW,EACf,GACA,GACA,GACA,EACD,EACG,IAAU,KAAK,IAAI,GAAmB,EAAS;CAKnD,OAJI,KAAY,MACd,IAAU,IAGL,KAAK,IAAI,GAAS,KAAK,IAAI,GADlB,KAAK,IAAI,GAAS,EACgB,CAAQ,CAAC;;AAI7D,SAAgB,EAAmB,EACjC,cACA,2BAAwB,IACxB,MAAA,GACA,kBACA,uBAAoB,GACpB,sBACA,kBAAe,IACf,uBAAoB,IACpB,2BACA,eAAY,IACZ,kBACA,WAAA,GACA,wBACA,mBACA,mBACA,uBAAoB,IACpB,iBACuC;CACvC,IAAM,EAAE,UAAM,GAAkB,EAC1B,IAAU,EAA8B,KAAK,EAC7C,IAAmB,EAAO,KAAkB,EAAsB,EAClE,IAAiB,EAAoB;EACzC,QAAQ;EACR,WAAW;EACX,cAAc;EACd,YAAY,EAAiB;EAC9B,CAAC,EACI,CAAC,IAAmB,MAAwB,QACzC,EAAgB,EAAW,IAAI,EACtC,EACI,CAAC,IAAwB,MAA6B,EAAS,EAAE,EACjE,CAAC,GAAY,KAAiB,EAAS,GAAM,EAC7C,CAAC,GAAW,KAAgB,EAAS,GAAM,EAE3C,IAAgB,KAAkB,IAClC,IAAe,KAAa,MAC5B,IAAY,KAAgB,KAAa,CAAC,GAE1C,IAAoB,QAA0B;EAClD,IAAM,IAAO,EAAQ;EAIrB,OAHI,KAAQ,OACH,IAEF,EAAK,uBAAuB,CAAC;IACnC,EAAE,CAAC,EAEA,IAAoB,GACvB,MAAmC;EAClC,IAAM,IAAiB,GAAmB;EAI1C,OAHI,KAAkB,IACb,IAEF,EACL,GACA,GACA,GACA,GACA,GACA,EACD;IAEH;EACE;EACA;EACA;EACA;EACA;EACD,CACF,EAEK,IAAc,GACjB,MAAmC;EAClC,IAAM,IAAY,EAAkB,EAAe;EAMnD,OALA,EAAiB,UAAU,GACvB,KACF,GAAqB,EAAU,EAEjC,IAAyB,EAAU,EAC5B;IAET;EAAC;EAAmB;EAAwB;EAAe,CAC5D;CAiCD,AA/BA,QAAgB;EACd,EAAiB,UAAU;IAC1B,CAAC,EAAc,CAAC,EAEnB,QAAgB;EACd,IAAM,IAAO,EAAQ;EACjB,KAAQ,QAGZ,GAA0B,EAAK,uBAAuB,CAAC,MAAM;IAC5D,CAAC,GAAc,EAAU,CAAC,EAE7B,QAAgB;EACd,IAAI,OAAO,SAAW,KACpB,aAAa;EAEf,IAAM,IAAa,OAAO,WACxB,eAAe,IAAoB,EAAE,KACtC,EACK,UAAqB;GACzB,EAAa,EAAW,QAAQ;;EAMlC,OAHA,GAAc,EACd,EAAW,iBAAiB,UAAU,EAAa,QAEtC;GACX,EAAW,oBAAoB,UAAU,EAAa;;IAEvD,CAAC,EAAkB,CAAC,EAEvB,QAAgB;EACd,IAAI,CAAC,KAAgB,GACnB;EAEF,IAAM,IAAY,EAAkB,EAAc;EAClD,IAAI,MAAc,GAAe;GAC/B,EAAiB,UAAU;GAC3B;;EAEF,EAAY,EAAU;IACrB;EAAC;EAAmB;EAAa;EAAc;EAAW;EAAc,CAAC;CAE5E,IAAM,IAAe,QAAkB;EAChC,EAAe,QAAQ,WAG5B,EAAe,QAAQ,SAAS,IAChC,EAAe,QAAQ,YAAY,MACnC,EAAc,GAAM,EACpB,EAAa,GAAY,EAAiB,QAAQ;IACjD,CAAC,EAAW,CAAC;CAEhB,QAAgB;EACd,IAAI,OAAO,SAAW,KACpB,aAAa;EAGf,IAAM,KAAqB,MAAwB;GACjD,IAAM,IAAQ,EAAe;GAI7B,IAHI,CAAC,EAAM,UAGP,EAAM,aAAa,QAAQ,EAAM,cAAc,EAAM,WACvD;GAEF,EAAM,gBAAgB;GACtB,IAAM,IAAS,EAAM,eAAe,EAAM;GAC1C,EAAY,EAAM,aAAa,EAAO;KAGlC,KAAmB,MAAwB;GAC/C,IAAM,IAAQ,EAAe;GACzB,EAAM,aAAa,QAAQ,EAAM,cAAc,EAAM,aAGzD,GAAc;;EAOhB,OAJA,OAAO,iBAAiB,eAAe,EAAkB,EACzD,OAAO,iBAAiB,aAAa,EAAgB,EACrD,OAAO,iBAAiB,iBAAiB,EAAgB,QAE5C;GAGX,AAFA,OAAO,oBAAoB,eAAe,EAAkB,EAC5D,OAAO,oBAAoB,aAAa,EAAgB,EACxD,OAAO,oBAAoB,iBAAiB,EAAgB;;IAE7D,CAAC,GAAa,EAAa,CAAC;CAE/B,IAAM,IAAoB,GACvB,MAA6C;EACvC,MAGL,EAAM,gBAAgB,EAClB,uBAAuB,EAAM,iBAC/B,EAAM,cAAc,kBAAkB,EAAM,UAAU,EAExD,EAAe,UAAU;GACvB,QAAQ;GACR,WAAW,EAAM;GACjB,cAAc,EAAM;GACpB,YAAY;GACb,EACD,EAAc,GAAK;IAErB,CAAC,GAAW,EAAc,CAC3B,EAEK,KAAgB,GACnB,MAAyC;EAIxC,IAHI,CAAC,KAGD,EAAM,QAAQ,eAAe,EAAM,QAAQ,cAC7C;EAEF,EAAM,gBAAgB;EACtB,IAAI,IAAO;EACX,AAAI,EAAM,aACR,IAAO;EAET,IAAI,IAAQ,CAAC;EAKb,AAJI,EAAM,QAAQ,gBAChB,IAAQ,IAGV,EAAa,GADK,EAAY,IAAgB,EACrB,CAAU;IAErC;EAAC;EAAW;EAAa;EAAe;EAAW,CACpD;CAED,IAAI,CAAC,GACH,OACE,kBAAC,OAAD;EACE,KAAK;EACL,WAAW,EAAG,GAAa,GAAkB,EAAU;YAEvD,kBAAC,OAAD;GAAK,WAAW,EAAG,GAAa,EAAc;aAAG;GAAW,CAAA;EACxD,CAAA;CAIV,IAAI;CACJ,AAAK,MACH,IAAiB,EAAE,OAAO,GAAG,EAAc,KAAK;CAGlD,IAAM,IAAmB,EACvB,IACA,GACA,GACA,EACD,EACG,IAAa,KAAK,IAAI,GAAmB,EAAiB;CAC9D,AAAI,KAAoB,MACtB,IAAa;CAEf,IAAM,KAAa,KAAK,IAAI,GAAY,EAAiB,EACnD,KACJ,MAAgB,GAAE,mCAAmC,EACnD,IAAsB;CAC1B,AAAI,MACF,IAAsB;CAExB,IAAI,IAAgB;CACpB,AAAI,MACF,IAAgB;CAElB,IAAI;CAKJ,OAJI,MACF,IAA4B,IAI5B,mBAAC,OAAD;EACE,KAAK;EACL,WAAW,EAAG,GAAa,GAAqB,EAAU;YAF5D;GAIE,kBAAC,OAAD;IAAK,WAAW,EAAG,GAAa,EAAc;cAAG;IAAW,CAAA;GAC3D,KACC,kBAAC,OAAD;IACE,WAAW;IACX,MAAK;IACL,oBAAiB;IACjB,cAAY;IACZ,iBAAe,KAAK,MAAM,EAAW;IACrC,iBAAe,KAAK,MAAM,GAAW;IACrC,iBAAe,KAAK,MAAM,EAAc;IACxC,UAAU;IACV,eAAa;IACb,eAAe;IACf,WAAW;IACX,CAAA;GAEJ,kBAAC,SAAD;IACE,WAAW,EACT,GACA,GACA,GACD;IACD,cAAY;IACZ,OAAO;cAEN;IACK,CAAA;GACJ;;;AAIV,IAAa,IAAS;CACpB;CACA;CACA;CACD"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/* empty css */
|
|
2
|
+
/* empty css */
|
|
3
|
+
import { createRuntimeFn as e } from "@vanilla-extract/recipes/createRuntimeFn";
|
|
4
|
+
//#region src/components/layout/Surface.css.ts
|
|
5
|
+
var t = e({
|
|
6
|
+
defaultClassName: "_1e1g2cpe _1e1g2cp0 txvbqbdr8 txvbqbf6i txvbqbt9i txvbqb17w0 txvbqbcs7",
|
|
7
|
+
variantClassNames: {
|
|
8
|
+
variant: {
|
|
9
|
+
brand: "_1e1g2cpf _1e1g2cp1 txvbqb197x",
|
|
10
|
+
neutral: "_1e1g2cpg _1e1g2cp2 txvbqb196b",
|
|
11
|
+
muted: "_1e1g2cph _1e1g2cp3 txvbqb196d",
|
|
12
|
+
plain: "_1e1g2cpi _1e1g2cp4 txvbqb1933"
|
|
13
|
+
},
|
|
14
|
+
density: {
|
|
15
|
+
compact: "_1e1g2cpj _1e1g2cp5 txvbqbffj txvbqbuyj",
|
|
16
|
+
default: "_1e1g2cpk _1e1g2cp6 txvbqbffj txvbqbuyj",
|
|
17
|
+
spacious: "_1e1g2cpl _1e1g2cp7 txvbqbffw txvbqbuz9"
|
|
18
|
+
},
|
|
19
|
+
border: {
|
|
20
|
+
none: "_1e1g2cpm _1e1g2cp8 txvbqb1g5 txvbqb2e3",
|
|
21
|
+
subtle: "_1e1g2cpn _1e1g2cp9 txvbqb1uy txvbqb2et txvbqb17u",
|
|
22
|
+
light: "_1e1g2cpo _1e1g2cpa txvbqb1uy txvbqb2et txvbqb18k"
|
|
23
|
+
},
|
|
24
|
+
radius: {
|
|
25
|
+
md: "_1e1g2cpp _1e1g2cpb txvbqb2g9",
|
|
26
|
+
lg: "_1e1g2cpq _1e1g2cpc txvbqb2gm",
|
|
27
|
+
xl: "_1e1g2cpr _1e1g2cpd txvbqb2gz"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
defaultVariants: {
|
|
31
|
+
variant: "neutral",
|
|
32
|
+
density: "default",
|
|
33
|
+
border: "subtle",
|
|
34
|
+
radius: "lg"
|
|
35
|
+
},
|
|
36
|
+
compoundVariants: []
|
|
37
|
+
}), n = "_1e1g2cps txvbqbdr8 txvbqbel txvbqbjus txvbqbffj", r = "_1e1g2cpt txvbqbdr8 txvbqbf6i txvbqbfet txvbqbt9i", i = "_1e1g2cpu txvbqbm9g txvbqb9w txvbqbfd0 txvbqb19c9", a = "_1e1g2cpv txvbqbm9g txvbqb9j txvbqb19cb", o = "_1e1g2cpw txvbqbdr8 txvbqbey txvbqbju2 txvbqbf91 txvbqbff6", s = "_1e1g2cpx txvbqbt9i", c = "_1e1g2cpy txvbqbdr8 txvbqbf91 txvbqbff6";
|
|
38
|
+
//#endregion
|
|
39
|
+
export { o as actions, s as content, a as description, c as footer, n as header, r as heading, t as surface, i as title };
|
|
40
|
+
|
|
41
|
+
//# sourceMappingURL=Surface.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Surface.css.js","names":[],"sources":["../../../../src/components/layout/Surface.css.ts"],"sourcesContent":["import { recipe } from '@vanilla-extract/recipes';\n\nimport { sprinkles } from '../../theme/sprinkles.css.js';\n\nexport const surface = recipe({\n base: sprinkles({\n display: 'flex',\n flexDirection: 'column',\n minWidth: 0,\n width: 'full',\n boxShadow: 'none',\n }),\n variants: {\n variant: {\n brand: sprinkles({ backgroundColor: 'brandSecondaryOrange-20' }),\n neutral: sprinkles({ backgroundColor: 'surface' }),\n muted: sprinkles({ backgroundColor: 'surfaceSecondary' }),\n plain: sprinkles({ backgroundColor: 'transparent' }),\n },\n density: {\n compact: sprinkles({ gap: 3, padding: 4 }),\n default: sprinkles({ gap: 3, padding: 4 }),\n spacious: sprinkles({ gap: 4, padding: 6 }),\n },\n border: {\n none: sprinkles({ borderWidth: 0, borderStyle: 'none' }),\n subtle: sprinkles({\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'borderSubtle',\n }),\n light: sprinkles({\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'borderLight',\n }),\n },\n radius: {\n md: sprinkles({ borderRadius: 'md' }),\n lg: sprinkles({ borderRadius: 'lg' }),\n xl: sprinkles({ borderRadius: 'xl' }),\n },\n },\n defaultVariants: {\n variant: 'neutral',\n density: 'default',\n border: 'subtle',\n radius: 'lg',\n },\n});\n\nexport const header = sprinkles({\n display: 'flex',\n alignItems: 'flex-start',\n justifyContent: 'space-between',\n gap: 3,\n});\n\nexport const heading = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 1,\n minWidth: 0,\n});\n\nexport const title = sprinkles({\n margin: 0,\n fontSize: 'base',\n fontWeight: 'semibold',\n color: 'text',\n});\n\nexport const description = sprinkles({\n margin: 0,\n fontSize: 'sm',\n color: 'textSecondary',\n});\n\nexport const actions = sprinkles({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-end',\n flexWrap: 'wrap',\n gap: 2,\n});\n\nexport const content = sprinkles({\n minWidth: 0,\n});\n\nexport const footer = sprinkles({\n display: 'flex',\n flexWrap: 'wrap',\n gap: 2,\n});\n"],"mappings":""}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { cx as e } from "../../theme/tools.js";
|
|
2
|
+
import { content as t, surface as n } from "./Surface.css.js";
|
|
3
|
+
import { useId as r } from "react";
|
|
4
|
+
import { jsx as i, jsxs as a } from "react/jsx-runtime";
|
|
5
|
+
//#region src/components/layout/Surface.tsx
|
|
6
|
+
var o = ({ actions: r, ariaLabelledBy: o, as: s = "div", border: c = "subtle", children: l, className: u, contentClassName: d, density: f = "default", description: p, footer: m, radius: h = "lg", title: g, titleAs: _ = "h2", variant: v = "neutral" }) => {
|
|
7
|
+
let y = g != null || p != null || r != null;
|
|
8
|
+
return /* @__PURE__ */ a(s, {
|
|
9
|
+
"aria-labelledby": o,
|
|
10
|
+
className: e(n({
|
|
11
|
+
variant: v,
|
|
12
|
+
density: f,
|
|
13
|
+
border: c,
|
|
14
|
+
radius: h
|
|
15
|
+
}), u),
|
|
16
|
+
children: [
|
|
17
|
+
y && /* @__PURE__ */ a("header", {
|
|
18
|
+
className: "_1e1g2cps txvbqbdr8 txvbqbel txvbqbjus txvbqbffj",
|
|
19
|
+
children: [(g != null || p != null) && /* @__PURE__ */ a("div", {
|
|
20
|
+
className: "_1e1g2cpt txvbqbdr8 txvbqbf6i txvbqbfet txvbqbt9i",
|
|
21
|
+
children: [g != null && /* @__PURE__ */ i(_, {
|
|
22
|
+
className: "_1e1g2cpu txvbqbm9g txvbqb9w txvbqbfd0 txvbqb19c9",
|
|
23
|
+
id: o,
|
|
24
|
+
children: g
|
|
25
|
+
}), p != null && /* @__PURE__ */ i("div", {
|
|
26
|
+
className: "_1e1g2cpv txvbqbm9g txvbqb9j txvbqb19cb",
|
|
27
|
+
children: p
|
|
28
|
+
})]
|
|
29
|
+
}), r != null && /* @__PURE__ */ i("div", {
|
|
30
|
+
className: "_1e1g2cpw txvbqbdr8 txvbqbey txvbqbju2 txvbqbf91 txvbqbff6",
|
|
31
|
+
children: r
|
|
32
|
+
})]
|
|
33
|
+
}),
|
|
34
|
+
/* @__PURE__ */ i("div", {
|
|
35
|
+
className: e(t, d),
|
|
36
|
+
children: l
|
|
37
|
+
}),
|
|
38
|
+
m != null && /* @__PURE__ */ i("footer", {
|
|
39
|
+
className: "_1e1g2cpy txvbqbdr8 txvbqbf91 txvbqbff6",
|
|
40
|
+
children: m
|
|
41
|
+
})
|
|
42
|
+
]
|
|
43
|
+
});
|
|
44
|
+
}, s = ({ as: e = "section", border: t = "subtle", density: n = "default", radius: a = "lg", title: s, titleAs: c = "h3", variant: l = "neutral", ...u }) => {
|
|
45
|
+
let d = r(), f;
|
|
46
|
+
return s != null && (f = d), /* @__PURE__ */ i(o, {
|
|
47
|
+
...u,
|
|
48
|
+
ariaLabelledBy: f,
|
|
49
|
+
as: e,
|
|
50
|
+
border: t,
|
|
51
|
+
density: n,
|
|
52
|
+
radius: a,
|
|
53
|
+
title: s,
|
|
54
|
+
titleAs: c,
|
|
55
|
+
variant: l
|
|
56
|
+
});
|
|
57
|
+
};
|
|
58
|
+
//#endregion
|
|
59
|
+
export { o as Surface, o as default, s as SurfaceSection };
|
|
60
|
+
|
|
61
|
+
//# sourceMappingURL=Surface.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Surface.js","names":[],"sources":["../../../../src/components/layout/Surface.tsx"],"sourcesContent":["import { useId, type JSX, type ReactNode } from 'react';\n\nimport { cx } from '../../theme/tools.js';\n\nimport * as styles from './Surface.css.js';\n\nexport type SurfaceElement = 'div' | 'section' | 'article';\nexport type SurfaceTitleElement = 'h2' | 'h3' | 'div';\nexport type SurfaceVariant = 'brand' | 'neutral' | 'muted' | 'plain';\nexport type SurfaceDensity = 'compact' | 'default' | 'spacious';\nexport type SurfaceBorder = 'none' | 'subtle' | 'light';\nexport type SurfaceRadius = 'md' | 'lg' | 'xl';\n\nexport type SurfaceProps = {\n as?: SurfaceElement;\n title?: ReactNode;\n description?: ReactNode;\n actions?: ReactNode;\n footer?: ReactNode;\n children: ReactNode;\n className?: string;\n contentClassName?: string;\n titleAs?: SurfaceTitleElement;\n variant?: SurfaceVariant;\n density?: SurfaceDensity;\n border?: SurfaceBorder;\n radius?: SurfaceRadius;\n ariaLabelledBy?: string;\n};\n\nexport const Surface = ({\n actions,\n ariaLabelledBy,\n as: Component = 'div',\n border = 'subtle',\n children,\n className,\n contentClassName,\n density = 'default',\n description,\n footer,\n radius = 'lg',\n title,\n titleAs: TitleComponent = 'h2',\n variant = 'neutral',\n}: SurfaceProps): JSX.Element => {\n const hasHeader = title != null || description != null || actions != null;\n\n return (\n <Component\n aria-labelledby={ariaLabelledBy}\n className={cx(\n styles.surface({ variant, density, border, radius }),\n className,\n )}\n >\n {hasHeader && (\n <header className={styles.header}>\n {(title != null || description != null) && (\n <div className={styles.heading}>\n {title != null && (\n <TitleComponent className={styles.title} id={ariaLabelledBy}>\n {title}\n </TitleComponent>\n )}\n {description != null && (\n <div className={styles.description}>{description}</div>\n )}\n </div>\n )}\n {actions != null && <div className={styles.actions}>{actions}</div>}\n </header>\n )}\n <div className={cx(styles.content, contentClassName)}>{children}</div>\n {footer != null && <footer className={styles.footer}>{footer}</footer>}\n </Component>\n );\n};\n\nexport type SurfaceSectionProps = Omit<\n SurfaceProps,\n 'as' | 'ariaLabelledBy'\n> & {\n as?: Extract<SurfaceElement, 'section' | 'article' | 'div'>;\n};\n\nexport const SurfaceSection = ({\n as = 'section',\n border = 'subtle',\n density = 'default',\n radius = 'lg',\n title,\n titleAs = 'h3',\n variant = 'neutral',\n ...props\n}: SurfaceSectionProps): JSX.Element => {\n const titleId = useId();\n let ariaLabelledBy: string | undefined;\n if (title != null) {\n ariaLabelledBy = titleId;\n }\n\n return (\n <Surface\n {...props}\n ariaLabelledBy={ariaLabelledBy}\n as={as}\n border={border}\n density={density}\n radius={radius}\n title={title}\n titleAs={titleAs}\n variant={variant}\n />\n );\n};\n\nexport default Surface;\n"],"mappings":";;;;;AA8BA,IAAa,KAAW,EACtB,SAAA,GACA,mBACA,IAAI,IAAY,OAChB,YAAS,UACT,aACA,cACA,qBACA,aAAU,WACV,aAAA,GACA,QAAA,GACA,YAAS,MACT,OAAA,GACA,SAAS,IAAiB,MAC1B,aAAU,gBACqB;CAC/B,IAAM,IAAY,KAAS,QAAQ,KAAe,QAAQ,KAAW;CAErE,OACE,kBAAC,GAAD;EACE,mBAAiB;EACjB,WAAW,EACT,EAAe;GAAE;GAAS;GAAS;GAAQ;GAAQ,CAAC,EACpD,EACD;YALH;GAOG,KACC,kBAAC,UAAD;IAAQ,WAAW;cAAnB,EACI,KAAS,QAAQ,KAAe,SAChC,kBAAC,OAAD;KAAK,WAAW;eAAhB,CACG,KAAS,QACR,kBAAC,GAAD;MAAgB,WAAW;MAAc,IAAI;gBAC1C;MACc,CAAA,EAElB,KAAe,QACd,kBAAC,OAAD;MAAK,WAAW;gBAAqB;MAAkB,CAAA,CAErD;QAEP,KAAW,QAAQ,kBAAC,OAAD;KAAK,WAAW;eAAiB;KAAc,CAAA,CAC5D;;GAEX,kBAAC,OAAD;IAAK,WAAW,EAAG,GAAgB,EAAiB;IAAG;IAAe,CAAA;GACrE,KAAU,QAAQ,kBAAC,UAAD;IAAQ,WAAW;cAAgB;IAAgB,CAAA;GAC5D;;GAWH,KAAkB,EAC7B,QAAK,WACL,YAAS,UACT,aAAU,WACV,YAAS,MACT,UACA,aAAU,MACV,aAAU,WACV,GAAG,QACmC;CACtC,IAAM,IAAU,GAAO,EACnB;CAKJ,OAJI,KAAS,SACX,IAAiB,IAIjB,kBAAC,GAAD;EACE,GAAI;EACY;EACZ;EACI;EACC;EACD;EACD;EACE;EACA;EACT,CAAA"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/* empty css */
|
|
2
|
+
/* empty css */
|
|
3
|
+
import { createRuntimeFn as e } from "@vanilla-extract/recipes/createRuntimeFn";
|
|
4
|
+
//#region src/components/layout/toolbar/Toolbar.css.ts
|
|
5
|
+
var t = e({
|
|
6
|
+
defaultClassName: "_8tcb289 _8tcb280 txvbqbdr8 txvbqbey txvbqb17w0",
|
|
7
|
+
variantClassNames: {
|
|
8
|
+
density: {
|
|
9
|
+
compact: "_8tcb28a _8tcb281 txvbqbff6",
|
|
10
|
+
default: "_8tcb28b _8tcb282 txvbqbffj"
|
|
11
|
+
},
|
|
12
|
+
wrap: {
|
|
13
|
+
nowrap: "_8tcb28c _8tcb283 txvbqbf8o",
|
|
14
|
+
wrap: "_8tcb28d _8tcb284 txvbqbf91"
|
|
15
|
+
},
|
|
16
|
+
justify: {
|
|
17
|
+
start: "_8tcb28e _8tcb285 txvbqbjuf",
|
|
18
|
+
between: "_8tcb28f _8tcb286 txvbqbjus",
|
|
19
|
+
end: "_8tcb28g _8tcb287 txvbqbju2"
|
|
20
|
+
},
|
|
21
|
+
surface: {
|
|
22
|
+
plain: "_8tcb28h",
|
|
23
|
+
bar: "_8tcb28i _8tcb288 txvbqbyov txvbqbzmg txvbqb10jo txvbqbvvr txvbqb2gm txvbqb1uy txvbqb2et txvbqb17h txvbqb196b"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
defaultVariants: {
|
|
27
|
+
density: "default",
|
|
28
|
+
wrap: "wrap",
|
|
29
|
+
justify: "between",
|
|
30
|
+
surface: "plain"
|
|
31
|
+
},
|
|
32
|
+
compoundVariants: []
|
|
33
|
+
}), n = e({
|
|
34
|
+
defaultClassName: "_8tcb28r _8tcb28j txvbqbdr8 txvbqbey txvbqbff6 txvbqbt9i",
|
|
35
|
+
variantClassNames: {
|
|
36
|
+
grow: {
|
|
37
|
+
false: "_8tcb28s",
|
|
38
|
+
true: "_8tcb28t _8tcb28k txvbqbdxq"
|
|
39
|
+
},
|
|
40
|
+
align: {
|
|
41
|
+
center: "_8tcb28u _8tcb28l txvbqbey",
|
|
42
|
+
stretch: "_8tcb28v _8tcb28m txvbqbe8"
|
|
43
|
+
},
|
|
44
|
+
justify: {
|
|
45
|
+
start: "_8tcb28w _8tcb28n txvbqbjuf",
|
|
46
|
+
end: "_8tcb28x _8tcb28o txvbqbju2"
|
|
47
|
+
},
|
|
48
|
+
wrap: {
|
|
49
|
+
false: "_8tcb28y _8tcb28p txvbqbf8o",
|
|
50
|
+
true: "_8tcb28z _8tcb28q txvbqbf91"
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
defaultVariants: {
|
|
54
|
+
grow: !1,
|
|
55
|
+
align: "center",
|
|
56
|
+
justify: "start",
|
|
57
|
+
wrap: !1
|
|
58
|
+
},
|
|
59
|
+
compoundVariants: []
|
|
60
|
+
}), r = "_8tcb2810 txvbqbdxq txvbqbt9i", i = "_8tcb2811 txvbqbhh txvbqb17wd txvbqbtrx txvbqb196z";
|
|
61
|
+
//#endregion
|
|
62
|
+
export { n as group, i as separator, r as spacer, t as toolbar };
|
|
63
|
+
|
|
64
|
+
//# sourceMappingURL=Toolbar.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Toolbar.css.js","names":[],"sources":["../../../../../src/components/layout/toolbar/Toolbar.css.ts"],"sourcesContent":["import { recipe } from '@vanilla-extract/recipes';\n\nimport { sprinkles } from '../../../theme/sprinkles.css.js';\n\nexport const toolbar = recipe({\n base: sprinkles({\n display: 'flex',\n alignItems: 'center',\n width: 'full',\n }),\n variants: {\n density: {\n compact: sprinkles({\n gap: 2,\n }),\n default: sprinkles({\n gap: 3,\n }),\n },\n wrap: {\n nowrap: sprinkles({\n flexWrap: 'nowrap',\n }),\n wrap: sprinkles({\n flexWrap: 'wrap',\n }),\n },\n justify: {\n start: sprinkles({\n justifyContent: 'flex-start',\n }),\n between: sprinkles({\n justifyContent: 'space-between',\n }),\n end: sprinkles({\n justifyContent: 'flex-end',\n }),\n },\n surface: {\n plain: {},\n bar: sprinkles({\n paddingX: 4,\n paddingY: 3,\n borderRadius: 'lg',\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'border',\n backgroundColor: 'surface',\n }),\n },\n },\n defaultVariants: {\n density: 'default',\n wrap: 'wrap',\n justify: 'between',\n surface: 'plain',\n },\n});\n\nexport const group = recipe({\n base: sprinkles({\n display: 'flex',\n alignItems: 'center',\n gap: 2,\n minWidth: 0,\n }),\n variants: {\n grow: {\n false: {},\n true: sprinkles({\n flex: 'auto',\n }),\n },\n align: {\n center: sprinkles({\n alignItems: 'center',\n }),\n stretch: sprinkles({\n alignItems: 'stretch',\n }),\n },\n justify: {\n start: sprinkles({\n justifyContent: 'flex-start',\n }),\n end: sprinkles({\n justifyContent: 'flex-end',\n }),\n },\n wrap: {\n false: sprinkles({\n flexWrap: 'nowrap',\n }),\n true: sprinkles({\n flexWrap: 'wrap',\n }),\n },\n },\n defaultVariants: {\n grow: false,\n align: 'center',\n justify: 'start',\n wrap: false,\n },\n});\n\nexport const spacer = sprinkles({\n flex: 'auto',\n minWidth: 0,\n});\n\nexport const separator = sprinkles({\n alignSelf: 'stretch',\n width: 'px',\n minWidth: 'px',\n backgroundColor: 'borderSubtle',\n});\n"],"mappings":""}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { cx as e } from "../../../theme/tools.js";
|
|
2
|
+
import { group as t, separator as n, spacer as r, toolbar as i } from "./Toolbar.css.js";
|
|
3
|
+
import { jsx as a } from "react/jsx-runtime";
|
|
4
|
+
//#region src/components/layout/toolbar/Toolbar.tsx
|
|
5
|
+
var o = ({ ariaLabel: t, children: n, className: r, density: o = "default", justify: s = "between", surface: c = "plain", wrap: l = "wrap" }) => {
|
|
6
|
+
let u;
|
|
7
|
+
return t != null && (u = "toolbar"), /* @__PURE__ */ a("div", {
|
|
8
|
+
"aria-label": t,
|
|
9
|
+
className: e(i({
|
|
10
|
+
density: o,
|
|
11
|
+
justify: s,
|
|
12
|
+
surface: c,
|
|
13
|
+
wrap: l
|
|
14
|
+
}), r),
|
|
15
|
+
role: u,
|
|
16
|
+
children: n
|
|
17
|
+
});
|
|
18
|
+
}, s = ({ align: n = "center", children: r, className: i, grow: o = !1, justify: s = "start", wrap: c = !1 }) => /* @__PURE__ */ a("div", {
|
|
19
|
+
className: e(t({
|
|
20
|
+
align: n,
|
|
21
|
+
grow: o,
|
|
22
|
+
justify: s,
|
|
23
|
+
wrap: c
|
|
24
|
+
}), i),
|
|
25
|
+
children: r
|
|
26
|
+
}), c = ({ className: t }) => /* @__PURE__ */ a("div", {
|
|
27
|
+
"aria-hidden": "true",
|
|
28
|
+
className: e(r, t)
|
|
29
|
+
}), l = ({ className: t }) => /* @__PURE__ */ a("div", {
|
|
30
|
+
"aria-hidden": "true",
|
|
31
|
+
className: e(n, t)
|
|
32
|
+
});
|
|
33
|
+
//#endregion
|
|
34
|
+
export { o as Toolbar, s as ToolbarGroup, l as ToolbarSeparator, c as ToolbarSpacer };
|
|
35
|
+
|
|
36
|
+
//# sourceMappingURL=Toolbar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Toolbar.js","names":[],"sources":["../../../../../src/components/layout/toolbar/Toolbar.tsx"],"sourcesContent":["import { type JSX, type ReactNode } from 'react';\n\nimport { cx } from '../../../theme/tools.js';\n\nimport * as styles from './Toolbar.css.js';\n\nexport type ToolbarDensity = 'compact' | 'default';\nexport type ToolbarWrap = 'wrap' | 'nowrap';\nexport type ToolbarJustify = 'start' | 'between' | 'end';\nexport type ToolbarSurface = 'plain' | 'bar';\n\nexport type ToolbarProps = {\n children: ReactNode;\n ariaLabel?: string;\n className?: string;\n density?: ToolbarDensity;\n wrap?: ToolbarWrap;\n justify?: ToolbarJustify;\n surface?: ToolbarSurface;\n};\n\nexport const Toolbar = ({\n ariaLabel,\n children,\n className,\n density = 'default',\n justify = 'between',\n surface = 'plain',\n wrap = 'wrap',\n}: ToolbarProps): JSX.Element => {\n let role: 'toolbar' | undefined;\n if (ariaLabel != null) {\n role = 'toolbar';\n }\n\n return (\n <div\n aria-label={ariaLabel}\n className={cx(\n styles.toolbar({\n density,\n justify,\n surface,\n wrap,\n }),\n className,\n )}\n role={role}\n >\n {children}\n </div>\n );\n};\n\nexport type ToolbarGroupAlign = 'center' | 'stretch';\nexport type ToolbarGroupJustify = 'start' | 'end';\n\nexport type ToolbarGroupProps = {\n children: ReactNode;\n className?: string;\n grow?: boolean;\n align?: ToolbarGroupAlign;\n justify?: ToolbarGroupJustify;\n wrap?: boolean;\n};\n\nexport const ToolbarGroup = ({\n align = 'center',\n children,\n className,\n grow = false,\n justify = 'start',\n wrap = false,\n}: ToolbarGroupProps): JSX.Element => {\n return (\n <div\n className={cx(\n styles.group({\n align,\n grow,\n justify,\n wrap,\n }),\n className,\n )}\n >\n {children}\n </div>\n );\n};\n\nexport type ToolbarSpacerProps = {\n className?: string;\n};\n\nexport const ToolbarSpacer = ({\n className,\n}: ToolbarSpacerProps): JSX.Element => {\n return <div aria-hidden=\"true\" className={cx(styles.spacer, className)} />;\n};\n\nexport type ToolbarSeparatorProps = {\n className?: string;\n};\n\nexport const ToolbarSeparator = ({\n className,\n}: ToolbarSeparatorProps): JSX.Element => {\n return <div aria-hidden=\"true\" className={cx(styles.separator, className)} />;\n};\n"],"mappings":";;;;AAqBA,IAAa,KAAW,EACtB,cACA,aACA,cACA,aAAU,WACV,aAAU,WACV,aAAU,SACV,UAAO,aACwB;CAC/B,IAAI;CAKJ,OAJI,KAAa,SACf,IAAO,YAIP,kBAAC,OAAD;EACE,cAAY;EACZ,WAAW,EACT,EAAe;GACb;GACA;GACA;GACA;GACD,CAAC,EACF,EACD;EACK;EAEL;EACG,CAAA;GAgBG,KAAgB,EAC3B,WAAQ,UACR,aACA,cACA,UAAO,IACP,aAAU,SACV,UAAO,SAGL,kBAAC,OAAD;CACE,WAAW,EACT,EAAa;EACX;EACA;EACA;EACA;EACD,CAAC,EACF,EACD;CAEA;CACG,CAAA,EAQG,KAAiB,EAC5B,mBAEO,kBAAC,OAAD;CAAK,eAAY;CAAO,WAAW,EAAG,GAAe,EAAU;CAAI,CAAA,EAO/D,KAAoB,EAC/B,mBAEO,kBAAC,OAAD;CAAK,eAAY;CAAO,WAAW,EAAG,GAAkB,EAAU;CAAI,CAAA"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { cx as e } from "../../../theme/tools.js";
|
|
2
|
+
import { SidebarCollapseToggle as t } from "../../../backoffice/molecules/sidebar_collapse_toggle/SidebarCollapseToggle.js";
|
|
3
|
+
import { SidebarNavSection as n } from "../../../backoffice/molecules/sidebar_nav_section/SidebarNavSection.js";
|
|
4
|
+
import { container as r, containerRecipe as i, footer as a, header as o, inner as s, sections as c } from "./sidebarNavigation.css.js";
|
|
5
|
+
import { useCallback as l, useState as u } from "react";
|
|
6
|
+
import { jsx as d, jsxs as f } from "react/jsx-runtime";
|
|
7
|
+
import p from "@plumile/router/routing/useLocation.js";
|
|
8
|
+
//#region src/components/navigation/sidebar/SidebarNavigation.tsx
|
|
9
|
+
var m = (e, t, n) => t == null ? !1 : n === !0 ? e === t : e === t || e.startsWith(`${t}/`), h = (e, t) => e.children?.some((e) => e.isActive === !0 || m(t, e.href, e.exact) || h(e, t)) ?? !1, g = (e, t, n) => {
|
|
10
|
+
let r = [];
|
|
11
|
+
return e.forEach((e) => {
|
|
12
|
+
let i = h(e, t), a = e.isActive ?? m(t, e.href, e.exact), { id: o, children: s, data: c, label: l, href: u, icon: d, badge: f, disabled: p, onClick: _, actionSlot: v, dragHandleSlot: y, dragHandleLabel: b, actionsVisibility: x, ariaLabel: S } = e;
|
|
13
|
+
r.push({
|
|
14
|
+
id: o,
|
|
15
|
+
data: c,
|
|
16
|
+
label: l,
|
|
17
|
+
href: u,
|
|
18
|
+
icon: d,
|
|
19
|
+
badge: f,
|
|
20
|
+
disabled: p,
|
|
21
|
+
onClick: _,
|
|
22
|
+
actionSlot: v,
|
|
23
|
+
dragHandleSlot: y,
|
|
24
|
+
dragHandleLabel: b,
|
|
25
|
+
actionsVisibility: x,
|
|
26
|
+
ariaLabel: S,
|
|
27
|
+
isActive: a || i
|
|
28
|
+
}), !n && i && s != null && r.push(...g(s, t, n));
|
|
29
|
+
}), r;
|
|
30
|
+
}, _ = ({ header: m, search: h, footer: _, sections: v, isCollapsed: y, defaultCollapsed: b = !1, onCollapsedChange: x, collapseToggleLabel: S, expandToggleLabel: C, collapseShortcut: w, navigationAriaLabel: T = "Navigation", hideCollapseToggle: E = !1, size: D = "standard", className: O }) => {
|
|
31
|
+
let [k, A] = u(b), j = y ?? k, { pathname: M } = p(), N = l(() => {
|
|
32
|
+
let e = !j;
|
|
33
|
+
y ?? A(e), x?.(e);
|
|
34
|
+
}, [
|
|
35
|
+
j,
|
|
36
|
+
y,
|
|
37
|
+
x
|
|
38
|
+
]), P = "expanded";
|
|
39
|
+
j && (P = "collapsed");
|
|
40
|
+
let F = null;
|
|
41
|
+
return _ != null && (F = /* @__PURE__ */ d("div", {
|
|
42
|
+
className: a,
|
|
43
|
+
children: _
|
|
44
|
+
})), /* @__PURE__ */ d("aside", {
|
|
45
|
+
className: e(r, i({
|
|
46
|
+
size: D,
|
|
47
|
+
state: P
|
|
48
|
+
}), O),
|
|
49
|
+
children: /* @__PURE__ */ f("div", {
|
|
50
|
+
className: s,
|
|
51
|
+
children: [
|
|
52
|
+
/* @__PURE__ */ f("div", {
|
|
53
|
+
className: o,
|
|
54
|
+
children: [!j && m, !E && /* @__PURE__ */ d(t, {
|
|
55
|
+
isCollapsed: j,
|
|
56
|
+
onToggle: N,
|
|
57
|
+
label: S,
|
|
58
|
+
expandLabel: C,
|
|
59
|
+
shortcut: w
|
|
60
|
+
})]
|
|
61
|
+
}),
|
|
62
|
+
h != null && !j && /* @__PURE__ */ d("div", {
|
|
63
|
+
className: "_6jdbjof txvbqbyns txvbqbzld txvbqbdr8 txvbqbf6i txvbqbff6",
|
|
64
|
+
children: h
|
|
65
|
+
}),
|
|
66
|
+
/* @__PURE__ */ d("nav", {
|
|
67
|
+
className: c,
|
|
68
|
+
"aria-label": T,
|
|
69
|
+
children: v.map((e) => /* @__PURE__ */ d(n, {
|
|
70
|
+
title: e.title,
|
|
71
|
+
icon: e.icon,
|
|
72
|
+
items: g(e.items, M, j),
|
|
73
|
+
collapsible: e.collapsible,
|
|
74
|
+
defaultCollapsed: e.defaultCollapsed,
|
|
75
|
+
isCollapsed: e.isCollapsed,
|
|
76
|
+
onCollapsedChange: e.onCollapsedChange,
|
|
77
|
+
collapsed: j,
|
|
78
|
+
reorder: e.reorder
|
|
79
|
+
}, e.id))
|
|
80
|
+
}),
|
|
81
|
+
F
|
|
82
|
+
]
|
|
83
|
+
})
|
|
84
|
+
});
|
|
85
|
+
};
|
|
86
|
+
//#endregion
|
|
87
|
+
export { _ as SidebarNavigation, _ as default, t as SidebarNavigationCollapseToggle };
|
|
88
|
+
|
|
89
|
+
//# sourceMappingURL=SidebarNavigation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SidebarNavigation.js","names":[],"sources":["../../../../../src/components/navigation/sidebar/SidebarNavigation.tsx"],"sourcesContent":["import useLocation from '@plumile/router/routing/useLocation.js';\nimport { useCallback, useState, type JSX, type ReactNode } from 'react';\n\nimport { SidebarCollapseToggle as SidebarNavigationCollapseToggle } from '../../../backoffice/molecules/sidebar_collapse_toggle/SidebarCollapseToggle.js';\nimport {\n SidebarNavSection,\n type SidebarNavSectionItemData,\n type SidebarNavSectionItem,\n} from '../../../backoffice/molecules/sidebar_nav_section/SidebarNavSection.js';\nimport { cx } from '../../../theme/tools.js';\nimport * as styles from './sidebarNavigation.css.js';\n\nexport type SidebarNavigationItem = {\n id: string;\n label: ReactNode;\n href?: string;\n icon?: ReactNode;\n badge?: ReactNode;\n isActive?: boolean;\n exact?: boolean;\n disabled?: boolean;\n onClick?: () => void;\n children?: readonly SidebarNavigationItem[];\n actionSlot?: ReactNode;\n dragHandleSlot?: ReactNode;\n dragHandleLabel?: string;\n actionsVisibility?: 'auto' | 'always';\n ariaLabel?: string;\n data?: SidebarNavSectionItemData;\n};\n\nexport type SidebarNavigationReorder = {\n enabled: boolean;\n onReorder: (fromId: string, toId: string) => void;\n};\n\nexport type SidebarNavigationSection = {\n id: string;\n title?: ReactNode;\n icon?: ReactNode;\n items: readonly SidebarNavigationItem[];\n collapsible?: boolean;\n isCollapsed?: boolean;\n defaultCollapsed?: boolean;\n onCollapsedChange?: (collapsed: boolean) => void;\n reorder?: SidebarNavigationReorder;\n};\n\nexport type SidebarNavigationSize = 'standard' | 'compact';\n\nexport type SidebarNavigationProps = {\n header?: ReactNode;\n search?: ReactNode;\n footer?: ReactNode;\n sections: readonly SidebarNavigationSection[];\n isCollapsed?: boolean;\n defaultCollapsed?: boolean;\n onCollapsedChange?: (collapsed: boolean) => void;\n collapseToggleLabel?: ReactNode;\n expandToggleLabel?: ReactNode;\n collapseShortcut?: readonly string[] | string;\n navigationAriaLabel?: string;\n hideCollapseToggle?: boolean;\n size?: SidebarNavigationSize;\n className?: string;\n};\n\nconst isPathActive = (\n pathname: string,\n href: string | undefined,\n exact: boolean | undefined,\n): boolean => {\n if (href == null) {\n return false;\n }\n if (exact === true) {\n return pathname === href;\n }\n return pathname === href || pathname.startsWith(`${href}/`);\n};\n\nconst hasActiveChild = (\n item: SidebarNavigationItem,\n pathname: string,\n): boolean => {\n return (\n item.children?.some((child) => {\n return (\n child.isActive === true ||\n isPathActive(pathname, child.href, child.exact) ||\n hasActiveChild(child, pathname)\n );\n }) ?? false\n );\n};\n\nconst flattenItems = (\n items: readonly SidebarNavigationItem[],\n pathname: string,\n sidebarCollapsed: boolean,\n): SidebarNavSectionItem[] => {\n const flattened: SidebarNavSectionItem[] = [];\n\n items.forEach((item) => {\n const childActive = hasActiveChild(item, pathname);\n const isActive =\n item.isActive ?? isPathActive(pathname, item.href, item.exact);\n const {\n id,\n children,\n data,\n label,\n href,\n icon,\n badge,\n disabled,\n onClick,\n actionSlot,\n dragHandleSlot,\n dragHandleLabel,\n actionsVisibility,\n ariaLabel,\n } = item;\n\n flattened.push({\n id,\n data,\n label,\n href,\n icon,\n badge,\n disabled,\n onClick,\n actionSlot,\n dragHandleSlot,\n dragHandleLabel,\n actionsVisibility,\n ariaLabel,\n isActive: isActive || childActive,\n });\n\n if (!sidebarCollapsed && childActive && children != null) {\n flattened.push(...flattenItems(children, pathname, sidebarCollapsed));\n }\n });\n\n return flattened;\n};\n\nexport const SidebarNavigation = ({\n header,\n search,\n footer,\n sections,\n isCollapsed,\n defaultCollapsed = false,\n onCollapsedChange,\n collapseToggleLabel,\n expandToggleLabel,\n collapseShortcut,\n navigationAriaLabel = 'Navigation',\n hideCollapseToggle = false,\n size = 'standard',\n className,\n}: SidebarNavigationProps): JSX.Element => {\n const [uncontrolledCollapsed, setUncontrolledCollapsed] =\n useState(defaultCollapsed);\n const collapsed = isCollapsed ?? uncontrolledCollapsed;\n const { pathname } = useLocation();\n\n const handleToggleCollapsed = useCallback(() => {\n const next = !collapsed;\n if (isCollapsed == null) {\n setUncontrolledCollapsed(next);\n }\n onCollapsedChange?.(next);\n }, [collapsed, isCollapsed, onCollapsedChange]);\n\n let state: NonNullable<NonNullable<styles.ContainerRecipeVariants>['state']> =\n 'expanded';\n if (collapsed) {\n state = 'collapsed';\n }\n\n let footerNode: JSX.Element | null = null;\n if (footer != null) {\n footerNode = <div className={styles.footer}>{footer}</div>;\n }\n\n return (\n <aside\n className={cx(\n styles.container,\n styles.containerRecipe({ size, state }),\n className,\n )}\n >\n <div className={styles.inner}>\n <div className={styles.header}>\n {!collapsed && header}\n {!hideCollapseToggle && (\n <SidebarNavigationCollapseToggle\n isCollapsed={collapsed}\n onToggle={handleToggleCollapsed}\n label={collapseToggleLabel}\n expandLabel={expandToggleLabel}\n shortcut={collapseShortcut}\n />\n )}\n </div>\n\n {search != null && !collapsed && (\n <div className={styles.search}>{search}</div>\n )}\n <nav className={styles.sections} aria-label={navigationAriaLabel}>\n {sections.map((section) => {\n return (\n <SidebarNavSection\n key={section.id}\n title={section.title}\n icon={section.icon}\n items={flattenItems(section.items, pathname, collapsed)}\n collapsible={section.collapsible}\n defaultCollapsed={section.defaultCollapsed}\n isCollapsed={section.isCollapsed}\n onCollapsedChange={section.onCollapsedChange}\n collapsed={collapsed}\n reorder={section.reorder}\n />\n );\n })}\n </nav>\n\n {footerNode}\n </div>\n </aside>\n );\n};\n\nexport { SidebarNavigationCollapseToggle };\nexport default SidebarNavigation;\n"],"mappings":";;;;;;;;AAmEA,IAAM,KACJ,GACA,GACA,MAEI,KAAQ,OACH,KAEL,MAAU,KACL,MAAa,IAEf,MAAa,KAAQ,EAAS,WAAW,GAAG,EAAK,GAAG,EAGvD,KACJ,GACA,MAGE,EAAK,UAAU,MAAM,MAEjB,EAAM,aAAa,MACnB,EAAa,GAAU,EAAM,MAAM,EAAM,MAAM,IAC/C,EAAe,GAAO,EAAS,CAEjC,IAAI,IAIJ,KACJ,GACA,GACA,MAC4B;CAC5B,IAAM,IAAqC,EAAE;CA6C7C,OA3CA,EAAM,SAAS,MAAS;EACtB,IAAM,IAAc,EAAe,GAAM,EAAS,EAC5C,IACJ,EAAK,YAAY,EAAa,GAAU,EAAK,MAAM,EAAK,MAAM,EAC1D,EACJ,OACA,aACA,SACA,UACA,SACA,SACA,UACA,aACA,YACA,eACA,mBACA,oBACA,sBACA,iBACE;EAmBJ,AAjBA,EAAU,KAAK;GACb;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,UAAU,KAAY;GACvB,CAAC,EAEE,CAAC,KAAoB,KAAe,KAAY,QAClD,EAAU,KAAK,GAAG,EAAa,GAAU,GAAU,EAAiB,CAAC;GAEvE,EAEK;GAGI,KAAqB,EAChC,QAAA,GACA,QAAA,GACA,QAAA,GACA,UAAA,GACA,gBACA,sBAAmB,IACnB,sBACA,wBACA,sBACA,qBACA,yBAAsB,cACtB,wBAAqB,IACrB,UAAO,YACP,mBACyC;CACzC,IAAM,CAAC,GAAuB,KAC5B,EAAS,EAAiB,EACtB,IAAY,KAAe,GAC3B,EAAE,gBAAa,GAAa,EAE5B,IAAwB,QAAkB;EAC9C,IAAM,IAAO,CAAC;EAId,AAHI,KACF,EAAyB,EAAK,EAEhC,IAAoB,EAAK;IACxB;EAAC;EAAW;EAAa;EAAkB,CAAC,EAE3C,IACF;CACF,AAAI,MACF,IAAQ;CAGV,IAAI,IAAiC;CAKrC,OAJI,KAAU,SACZ,IAAa,kBAAC,OAAD;EAAK,WAAW;YAAgB;EAAa,CAAA,GAI1D,kBAAC,SAAD;EACE,WAAW,EACT,GACA,EAAuB;GAAE;GAAM;GAAO,CAAC,EACvC,EACD;YAED,kBAAC,OAAD;GAAK,WAAW;aAAhB;IACE,kBAAC,OAAD;KAAK,WAAW;eAAhB,CACG,CAAC,KAAa,GACd,CAAC,KACA,kBAAC,GAAD;MACE,aAAa;MACb,UAAU;MACV,OAAO;MACP,aAAa;MACb,UAAU;MACV,CAAA,CAEA;;IAEL,KAAU,QAAQ,CAAC,KAClB,kBAAC,OAAD;KAAK,WAAW;eAAgB;KAAa,CAAA;IAE/C,kBAAC,OAAD;KAAK,WAAW;KAAiB,cAAY;eAC1C,EAAS,KAAK,MAEX,kBAAC,GAAD;MAEE,OAAO,EAAQ;MACf,MAAM,EAAQ;MACd,OAAO,EAAa,EAAQ,OAAO,GAAU,EAAU;MACvD,aAAa,EAAQ;MACrB,kBAAkB,EAAQ;MAC1B,aAAa,EAAQ;MACrB,mBAAmB,EAAQ;MAChB;MACX,SAAS,EAAQ;MACjB,EAVK,EAAQ,GAUb,CAEJ;KACE,CAAA;IAEL;IACG;;EACA,CAAA"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/* empty css */
|
|
2
|
+
/* empty css */
|
|
3
|
+
/* empty css */
|
|
4
|
+
/* empty css */
|
|
5
|
+
/* empty css */
|
|
6
|
+
/* empty css */
|
|
7
|
+
/* empty css */
|
|
8
|
+
import { createRuntimeFn as e } from "@vanilla-extract/recipes/createRuntimeFn";
|
|
9
|
+
//#region src/components/navigation/sidebar/sidebarNavigation.css.ts
|
|
10
|
+
var t = "_6jdbjo1 _6jdbjo0 txvbqbdr8 txvbqbf6i txvbqbi1f txvbqb1g5 txvbqb2et txvbqb7rn", n = e({
|
|
11
|
+
defaultClassName: "_6jdbjo2",
|
|
12
|
+
variantClassNames: {
|
|
13
|
+
size: {
|
|
14
|
+
standard: "_6jdbjo3",
|
|
15
|
+
compact: "_6jdbjo4"
|
|
16
|
+
},
|
|
17
|
+
state: {
|
|
18
|
+
expanded: "_6jdbjo5",
|
|
19
|
+
collapsed: "_6jdbjo6"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
defaultVariants: {
|
|
23
|
+
size: "standard",
|
|
24
|
+
state: "expanded"
|
|
25
|
+
},
|
|
26
|
+
compoundVariants: [
|
|
27
|
+
[{
|
|
28
|
+
size: "standard",
|
|
29
|
+
state: "expanded"
|
|
30
|
+
}, "_6jdbjo7"],
|
|
31
|
+
[{
|
|
32
|
+
size: "standard",
|
|
33
|
+
state: "collapsed"
|
|
34
|
+
}, "_6jdbjo8"],
|
|
35
|
+
[{
|
|
36
|
+
size: "compact",
|
|
37
|
+
state: "expanded"
|
|
38
|
+
}, "_6jdbjo9"],
|
|
39
|
+
[{
|
|
40
|
+
size: "compact",
|
|
41
|
+
state: "collapsed"
|
|
42
|
+
}, "_6jdbjoa"]
|
|
43
|
+
]
|
|
44
|
+
}), r = "_6jdbjob txvbqbdr8 txvbqbf6i txvbqbffj txvbqbuy6 txvbqbi1f txvbqbs9r", i = "_6jdbjoc txvbqbyns txvbqbzld txvbqbdr8 txvbqbey txvbqbjus txvbqbff6", a = "_6jdbjoe _6jdbjod txvbqbdr8 txvbqbf6i txvbqbffj txvbqbdxd txvbqbs9r txvbqbuuk txvbqb38", o = "_6jdbjof txvbqbyns txvbqbzld txvbqbdr8 txvbqbf6i txvbqbff6", s = "_6jdbjog txvbqbyns txvbqbzld txvbqbdr8 txvbqbf6i txvbqbff6";
|
|
45
|
+
//#endregion
|
|
46
|
+
export { t as container, n as containerRecipe, s as footer, i as header, r as inner, o as search, a as sections };
|
|
47
|
+
|
|
48
|
+
//# sourceMappingURL=sidebarNavigation.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sidebarNavigation.css.js","names":[],"sources":["../../../../../src/components/navigation/sidebar/sidebarNavigation.css.ts"],"sourcesContent":["import { recipe, type RecipeVariants } from '@vanilla-extract/recipes';\nimport { style } from '@vanilla-extract/css';\n\nimport { sprinkles, vars } from '../../../theme/index.js';\n\nexport const container = style([\n sprinkles({\n display: 'flex',\n flexDirection: 'column',\n height: 'full',\n borderWidth: 0,\n borderStyle: 'solid',\n borderRightWidth: 'px',\n }),\n {\n backgroundColor: vars.sidebar.background,\n borderRightColor: vars.sidebar.borderColor,\n },\n]);\n\nexport const containerRecipe = recipe({\n variants: {\n size: {\n standard: {},\n compact: {},\n },\n state: {\n expanded: {},\n collapsed: {},\n },\n },\n compoundVariants: [\n {\n variants: { size: 'standard', state: 'expanded' },\n style: { width: vars.width[64] },\n },\n {\n variants: { size: 'standard', state: 'collapsed' },\n style: { width: vars.width[17.5] },\n },\n {\n variants: { size: 'compact', state: 'expanded' },\n style: { width: vars.width[56] },\n },\n {\n variants: { size: 'compact', state: 'collapsed' },\n style: { width: vars.width[16] },\n },\n ],\n defaultVariants: {\n size: 'standard',\n state: 'expanded',\n },\n});\n\nexport type ContainerRecipeVariants = RecipeVariants<typeof containerRecipe>;\n\nexport const inner = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 3,\n padding: 3,\n height: 'full',\n minHeight: 0,\n});\n\nexport const header = sprinkles({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: 2,\n paddingX: 1,\n});\n\nexport const sections = style([\n sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 3,\n flex: 1,\n minHeight: 0,\n overflowY: 'auto',\n scrollbarWidth: 'thin',\n }),\n {\n scrollbarColor: `${vars.sidebar.scrollbarColor} transparent`,\n },\n]);\n\nexport const search = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 2,\n paddingX: 1,\n});\n\nexport const footer = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 2,\n paddingX: 1,\n});\n"],"mappings":""}
|