@plumile/backoffice-react 0.2.3 → 0.2.5
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 +14 -3
- package/lib/esm/auth/AuthRefreshNotice.js +21 -18
- package/lib/esm/auth/AuthRefreshNotice.js.map +1 -1
- package/lib/esm/auth/TotpQrCode.js +20 -12
- package/lib/esm/auth/TotpQrCode.js.map +1 -1
- package/lib/esm/auth/authRefreshNotice.css.js +2 -1
- package/lib/esm/auth/authRefreshNotice.css.js.map +1 -1
- package/lib/esm/auth/login/AuthPanel.js.map +1 -1
- package/lib/esm/auth/login/EmailCapturePanel.js +26 -28
- package/lib/esm/auth/login/EmailCapturePanel.js.map +1 -1
- package/lib/esm/auth/login/LoginFlow.js +11 -11
- package/lib/esm/auth/login/LoginFlow.js.map +1 -1
- package/lib/esm/auth/login/MethodChooser.js +18 -16
- package/lib/esm/auth/login/MethodChooser.js.map +1 -1
- package/lib/esm/auth/login/MfaChallengeForm.js +47 -52
- package/lib/esm/auth/login/MfaChallengeForm.js.map +1 -1
- package/lib/esm/auth/login/OidcButtons.js +3 -2
- package/lib/esm/auth/login/OidcButtons.js.map +1 -1
- package/lib/esm/auth/login/PasskeyLoginForm.js +13 -15
- package/lib/esm/auth/login/PasskeyLoginForm.js.map +1 -1
- package/lib/esm/auth/login/PasswordLoginPanel.js +8 -8
- package/lib/esm/auth/login/PasswordLoginPanel.js.map +1 -1
- package/lib/esm/auth/login/loginPage.css.js +1 -1
- package/lib/esm/auth/login/loginPage.css.js.map +1 -1
- package/lib/esm/auth/pages/AcceptInvitationScreen.js +80 -75
- package/lib/esm/auth/pages/AcceptInvitationScreen.js.map +1 -1
- package/lib/esm/auth/pages/PasswordResetCompleteScreen.js +31 -31
- package/lib/esm/auth/pages/PasswordResetCompleteScreen.js.map +1 -1
- package/lib/esm/auth/pages/PasswordResetRequestScreen.js +33 -29
- package/lib/esm/auth/pages/PasswordResetRequestScreen.js.map +1 -1
- package/lib/esm/auth/pages/VerifyEmailScreen.js +42 -40
- package/lib/esm/auth/pages/VerifyEmailScreen.js.map +1 -1
- package/lib/esm/components/backoffice/actions/BackofficeEntityActionFormDialog.js +202 -210
- package/lib/esm/components/backoffice/actions/BackofficeEntityActionFormDialog.js.map +1 -1
- package/lib/esm/components/backoffice/actions/backofficeEntityActionFormDialog.css.js +1 -1
- package/lib/esm/components/backoffice/actions/backofficeEntityActionFormDialog.css.js.map +1 -1
- package/lib/esm/components/backoffice/actions/toastViewAction.js.map +1 -1
- package/lib/esm/components/backoffice/billing/BackofficeBillingUsageChart.js +36 -30
- package/lib/esm/components/backoffice/billing/BackofficeBillingUsageChart.js.map +1 -1
- package/lib/esm/components/backoffice/billing/backofficeBillingUsageChart.css.js +1 -1
- package/lib/esm/components/backoffice/billing/backofficeBillingUsageChart.css.js.map +1 -1
- package/lib/esm/components/backoffice/columns/buildDataTableColumns.js +36 -33
- package/lib/esm/components/backoffice/columns/buildDataTableColumns.js.map +1 -1
- package/lib/esm/components/backoffice/detail/BackofficeDetailBadgeRow.js.map +1 -1
- package/lib/esm/components/backoffice/detail/BackofficeDetailErrorList.js +1 -1
- package/lib/esm/components/backoffice/detail/BackofficeDetailErrorList.js.map +1 -1
- package/lib/esm/components/backoffice/detail/BackofficeEntitySummaryHeader.js +24 -20
- package/lib/esm/components/backoffice/detail/BackofficeEntitySummaryHeader.js.map +1 -1
- package/lib/esm/components/backoffice/detail/BackofficeRelationsSummaryGrid.js +1 -1
- package/lib/esm/components/backoffice/detail/BackofficeRelationsSummaryGrid.js.map +1 -1
- package/lib/esm/components/backoffice/detail/BackofficeTokenUsageBreakdown.js +7 -8
- package/lib/esm/components/backoffice/detail/BackofficeTokenUsageBreakdown.js.map +1 -1
- package/lib/esm/components/backoffice/detail/BackofficeUsageCostBreakdown.js +49 -45
- package/lib/esm/components/backoffice/detail/BackofficeUsageCostBreakdown.js.map +1 -1
- package/lib/esm/components/backoffice/detail/backofficeDetailBadgeRow.css.js +1 -1
- package/lib/esm/components/backoffice/detail/backofficeDetailBadgeRow.css.js.map +1 -1
- package/lib/esm/components/backoffice/detail/backofficeDetailErrorList.css.js +1 -1
- package/lib/esm/components/backoffice/detail/backofficeDetailErrorList.css.js.map +1 -1
- package/lib/esm/components/backoffice/detail/backofficeDetailLayout.css.js +1 -1
- package/lib/esm/components/backoffice/detail/backofficeDetailLayout.css.js.map +1 -1
- package/lib/esm/components/backoffice/detail/backofficeDetailRelationList.css.js +1 -1
- package/lib/esm/components/backoffice/detail/backofficeDetailRelationList.css.js.map +1 -1
- package/lib/esm/components/backoffice/detail/backofficeEntitySummaryHeader.css.js +1 -1
- package/lib/esm/components/backoffice/detail/backofficeEntitySummaryHeader.css.js.map +1 -1
- package/lib/esm/components/backoffice/detail/backofficeRelationsSummaryGrid.css.js +1 -1
- package/lib/esm/components/backoffice/detail/backofficeRelationsSummaryGrid.css.js.map +1 -1
- package/lib/esm/components/backoffice/detail/backofficeUsageCostBreakdown.css.js +1 -1
- package/lib/esm/components/backoffice/detail/backofficeUsageCostBreakdown.css.js.map +1 -1
- package/lib/esm/components/backoffice/errors/BackofficeErrorBoundary.js +1 -1
- package/lib/esm/components/backoffice/errors/BackofficeErrorBoundary.js.map +1 -1
- package/lib/esm/components/backoffice/filters/BackofficeFilterAction.js +1 -1
- package/lib/esm/components/backoffice/filters/BackofficeFilterAction.js.map +1 -1
- package/lib/esm/components/backoffice/filters/DeferredFilterSearchInput.js +15 -15
- package/lib/esm/components/backoffice/filters/DeferredFilterSearchInput.js.map +1 -1
- package/lib/esm/components/backoffice/filters/EntityIdFilterField.js +53 -65
- package/lib/esm/components/backoffice/filters/EntityIdFilterField.js.map +1 -1
- package/lib/esm/components/backoffice/filters/backofficeFilterAction.css.js +1 -1
- package/lib/esm/components/backoffice/filters/backofficeFilterAction.css.js.map +1 -1
- package/lib/esm/components/backoffice/filters/deferredFilterSearchInput.css.js +1 -1
- package/lib/esm/components/backoffice/filters/deferredFilterSearchInput.css.js.map +1 -1
- package/lib/esm/components/backoffice/filters/entityIdFilterField.css.js +2 -2
- package/lib/esm/components/backoffice/filters/entityIdFilterField.css.js.map +1 -1
- package/lib/esm/components/backoffice/hub/BackofficeHubTemplate.js +6 -6
- package/lib/esm/components/backoffice/hub/BackofficeHubTemplate.js.map +1 -1
- package/lib/esm/components/backoffice/hub/backofficeHubTemplate.css.js +1 -1
- package/lib/esm/components/backoffice/hub/backofficeHubTemplate.css.js.map +1 -1
- package/lib/esm/components/backoffice/layout/backofficeSidebarActions.css.js +1 -1
- package/lib/esm/components/backoffice/layout/backofficeSidebarActions.css.js.map +1 -1
- package/lib/esm/components/backoffice/layout/breadcrumb/BackofficeTopbarBreadcrumb.js +3 -3
- package/lib/esm/components/backoffice/layout/breadcrumb/BackofficeTopbarBreadcrumb.js.map +1 -1
- package/lib/esm/components/backoffice/layout/breadcrumb/backofficeTopbarBreadcrumb.css.js +1 -1
- package/lib/esm/components/backoffice/layout/breadcrumb/backofficeTopbarBreadcrumb.css.js.map +1 -1
- package/lib/esm/components/backoffice/layout/buildSidebarSections.js +152 -172
- package/lib/esm/components/backoffice/layout/buildSidebarSections.js.map +1 -1
- package/lib/esm/components/backoffice/layout/mapViewerToSidebarProfileView.js +2 -5
- package/lib/esm/components/backoffice/layout/mapViewerToSidebarProfileView.js.map +1 -1
- package/lib/esm/components/backoffice/layout/sidebarUtils.js +1 -1
- package/lib/esm/components/backoffice/layout/sidebarUtils.js.map +1 -1
- package/lib/esm/components/backoffice/links/BackofficeLinkContent.js +1 -1
- package/lib/esm/components/backoffice/links/backofficeLink.css.js +1 -1
- package/lib/esm/components/backoffice/links/backofficeLink.css.js.map +1 -1
- package/lib/esm/components/backoffice/list/RowFlagsCell.css.js +1 -1
- package/lib/esm/components/backoffice/list/RowFlagsCell.css.js.map +1 -1
- package/lib/esm/components/backoffice/overview/BackofficeOverviewLayout.js +1 -1
- package/lib/esm/components/backoffice/overview/BackofficeOverviewLayout.js.map +1 -1
- package/lib/esm/components/backoffice/overview/backofficeOverviewLayout.css.js +1 -1
- package/lib/esm/components/backoffice/overview/backofficeOverviewLayout.css.js.map +1 -1
- package/lib/esm/components/backoffice/pickers/EntityIdPickerDialog.js +93 -82
- package/lib/esm/components/backoffice/pickers/EntityIdPickerDialog.js.map +1 -1
- package/lib/esm/components/backoffice/pickers/entityIdPickerDialog.css.js +1 -1
- package/lib/esm/components/backoffice/pickers/entityIdPickerDialog.css.js.map +1 -1
- package/lib/esm/components/backoffice/refs/backofficeRelatedCountLink.css.js +1 -1
- package/lib/esm/components/backoffice/refs/backofficeRelatedCountLink.css.js.map +1 -1
- package/lib/esm/components/backoffice/routing/BackofficeContentError.js +6 -3
- package/lib/esm/components/backoffice/routing/BackofficeContentError.js.map +1 -1
- package/lib/esm/components/backoffice/routing/BackofficeRouteFallback.js +7 -7
- package/lib/esm/components/backoffice/routing/BackofficeRouteFallback.js.map +1 -1
- package/lib/esm/components/backoffice/routing/backofficeContentBoundary.css.js +1 -1
- package/lib/esm/components/backoffice/routing/backofficeContentBoundary.css.js.map +1 -1
- package/lib/esm/components/backoffice/routing/backofficeContentError.css.js +1 -1
- package/lib/esm/components/backoffice/routing/backofficeContentError.css.js.map +1 -1
- package/lib/esm/components/backoffice/routing/backofficeContentFallback.css.js +1 -1
- package/lib/esm/components/backoffice/routing/backofficeContentFallback.css.js.map +1 -1
- package/lib/esm/components/backoffice/scaffolds/BackofficeEntityDetailNotFound.js +3 -2
- package/lib/esm/components/backoffice/scaffolds/BackofficeEntityDetailNotFound.js.map +1 -1
- package/lib/esm/components/backoffice/scaffolds/BackofficeEntityListScaffold.js +314 -309
- package/lib/esm/components/backoffice/scaffolds/BackofficeEntityListScaffold.js.map +1 -1
- package/lib/esm/components/backoffice/scaffolds/BackofficeTabbedDetailShell.js +1 -1
- package/lib/esm/components/backoffice/scaffolds/BackofficeTabbedDetailShell.js.map +1 -1
- package/lib/esm/components/backoffice/scaffolds/backofficeEntityListScaffold.css.js +1 -1
- package/lib/esm/components/backoffice/scaffolds/backofficeEntityListScaffold.css.js.map +1 -1
- package/lib/esm/components/backoffice/scaffolds/backofficeTabbedDetailShell.css.js +1 -1
- package/lib/esm/components/backoffice/scaffolds/backofficeTabbedDetailShell.css.js.map +1 -1
- package/lib/esm/components/backoffice/shared/BackofficeFilterableCell.js +2 -2
- package/lib/esm/components/backoffice/shared/BackofficeFilterableCell.js.map +1 -1
- package/lib/esm/components/backoffice/shared/BackofficeInlineFilterRow.js +1 -1
- package/lib/esm/components/backoffice/shared/BackofficeInlineFilterRow.js.map +1 -1
- package/lib/esm/components/backoffice/shared/backofficeFilterableCell.css.js +5 -5
- package/lib/esm/components/backoffice/shared/backofficeFilterableCell.css.js.map +1 -1
- package/lib/esm/components/backoffice/shared/backofficeInlineFilterRow.css.js +1 -1
- package/lib/esm/components/backoffice/shared/backofficeInlineFilterRow.css.js.map +1 -1
- package/lib/esm/components/backoffice/tools/BackofficeToolsDocPanel.js +12 -12
- package/lib/esm/components/backoffice/tools/BackofficeToolsDocPanel.js.map +1 -1
- package/lib/esm/components/backoffice/tools/BackofficeToolsErrorFallback.js +3 -2
- package/lib/esm/components/backoffice/tools/BackofficeToolsErrorFallback.js.map +1 -1
- package/lib/esm/components/backoffice/tools/BackofficeToolsJsonForm.js +15 -19
- package/lib/esm/components/backoffice/tools/BackofficeToolsJsonForm.js.map +1 -1
- package/lib/esm/components/backoffice/tools/backofficeToolsDocPanel.css.js +1 -1
- package/lib/esm/components/backoffice/tools/backofficeToolsDocPanel.css.js.map +1 -1
- package/lib/esm/components/backoffice/tools/backofficeToolsForm.css.js +1 -1
- package/lib/esm/components/backoffice/tools/backofficeToolsForm.css.js.map +1 -1
- package/lib/esm/components/backoffice/tools/backofficeToolsJsonForm.css.js +1 -1
- package/lib/esm/components/backoffice/tools/backofficeToolsJsonForm.css.js.map +1 -1
- package/lib/esm/hooks/useBackofficeInfiniteScrollSentinel.js +17 -9
- package/lib/esm/hooks/useBackofficeInfiniteScrollSentinel.js.map +1 -1
- package/lib/esm/hooks/useCopyToClipboard.js +1 -1
- package/lib/esm/hooks/useCopyToClipboard.js.map +1 -1
- package/lib/esm/i18n/locales/en/backofficeReact.js +21 -2
- package/lib/esm/i18n/locales/en/backofficeReact.js.map +1 -1
- package/lib/esm/i18n/locales/fr/backofficeReact.js +21 -2
- package/lib/esm/i18n/locales/fr/backofficeReact.js.map +1 -1
- package/lib/esm/pages/BackofficeDashboardPage.js +42 -41
- package/lib/esm/pages/BackofficeDashboardPage.js.map +1 -1
- package/lib/esm/pages/BackofficeDashboardWidgetContent.js +291 -255
- package/lib/esm/pages/BackofficeDashboardWidgetContent.js.map +1 -1
- package/lib/esm/pages/BackofficeEntityDetailLayoutPage.js +47 -49
- package/lib/esm/pages/BackofficeEntityDetailLayoutPage.js.map +1 -1
- package/lib/esm/pages/BackofficeEntityDetailPage.js +111 -105
- package/lib/esm/pages/BackofficeEntityDetailPage.js.map +1 -1
- package/lib/esm/pages/BackofficeEntityDetailPage.view-helpers.js +213 -213
- package/lib/esm/pages/BackofficeEntityDetailPage.view-helpers.js.map +1 -1
- package/lib/esm/pages/BackofficeEntityListDataPage.js +101 -83
- package/lib/esm/pages/BackofficeEntityListDataPage.js.map +1 -1
- package/lib/esm/pages/BackofficeEntityListPage.helpers.js +10 -4
- package/lib/esm/pages/BackofficeEntityListPage.helpers.js.map +1 -1
- package/lib/esm/pages/BackofficeEntityListPage.js +55 -54
- package/lib/esm/pages/BackofficeEntityListPage.js.map +1 -1
- package/lib/esm/pages/BackofficeEntityListRouteContext.js.map +1 -1
- package/lib/esm/pages/BackofficeHubPage.js +1 -1
- package/lib/esm/pages/BackofficeHubPage.js.map +1 -1
- package/lib/esm/pages/BackofficeLayoutPage.js +64 -56
- package/lib/esm/pages/BackofficeLayoutPage.js.map +1 -1
- package/lib/esm/pages/backofficeDashboardPage.css.js +1 -1
- package/lib/esm/pages/backofficeDashboardPage.css.js.map +1 -1
- package/lib/esm/pages/backofficeEntityDetailPage.css.js +1 -1
- package/lib/esm/pages/backofficeEntityDetailPage.css.js.map +1 -1
- package/lib/esm/pages/backofficeEntityListPage.css.js +1 -1
- package/lib/esm/pages/backofficeEntityListPage.css.js.map +1 -1
- package/lib/esm/pages/detail/BackofficeEntityDetailLayoutContext.js.map +1 -1
- package/lib/esm/pages/detail/BackofficeEntityDetailManifestFallback.js +11 -11
- package/lib/esm/pages/detail/BackofficeEntityDetailManifestFallback.js.map +1 -1
- package/lib/esm/pages/detail/buildTabsItems.js.map +1 -1
- package/lib/esm/provider/BackofficeProvider.js +41 -39
- package/lib/esm/provider/BackofficeProvider.js.map +1 -1
- package/lib/esm/router/createBackofficeRoutes.js +23 -23
- package/lib/esm/router/createBackofficeRoutes.js.map +1 -1
- package/lib/esm/storybook/backofficeDashboardPageStory.css.js +6 -0
- package/lib/esm/storybook/backofficeDashboardPageStory.css.js.map +1 -0
- package/lib/esm/storybook/relay/RelayStory.css.js +1 -1
- package/lib/esm/storybook/relay/RelayStory.css.js.map +1 -1
- package/lib/esm/style.css +1 -1
- package/lib/types/auth/AuthRefreshNotice.d.ts +5 -1
- package/lib/types/auth/AuthRefreshNotice.d.ts.map +1 -1
- package/lib/types/auth/TotpQrCode.d.ts +2 -1
- package/lib/types/auth/TotpQrCode.d.ts.map +1 -1
- package/lib/types/auth/authRefreshNotice.css.d.ts.map +1 -1
- package/lib/types/auth/login/AuthPanel.d.ts.map +1 -1
- package/lib/types/auth/login/EmailCapturePanel.d.ts.map +1 -1
- package/lib/types/auth/login/LoginFlow.d.ts.map +1 -1
- package/lib/types/auth/login/MethodChooser.d.ts.map +1 -1
- package/lib/types/auth/login/MfaChallengeForm.d.ts.map +1 -1
- package/lib/types/auth/login/OidcButtons.d.ts.map +1 -1
- package/lib/types/auth/login/PasskeyLoginForm.d.ts.map +1 -1
- package/lib/types/auth/login/PasswordLoginPanel.d.ts +1 -1
- package/lib/types/auth/login/PasswordLoginPanel.d.ts.map +1 -1
- package/lib/types/auth/login/loginPage.css.d.ts.map +1 -1
- package/lib/types/auth/pages/AcceptInvitationScreen.d.ts.map +1 -1
- package/lib/types/auth/pages/PasswordResetCompleteScreen.d.ts.map +1 -1
- package/lib/types/auth/pages/PasswordResetRequestScreen.d.ts.map +1 -1
- package/lib/types/auth/pages/VerifyEmailScreen.d.ts.map +1 -1
- package/lib/types/components/backoffice/actions/BackofficeEntityActionFormDialog.d.ts +3 -3
- package/lib/types/components/backoffice/actions/BackofficeEntityActionFormDialog.d.ts.map +1 -1
- package/lib/types/components/backoffice/actions/toastViewAction.d.ts +1 -1
- package/lib/types/components/backoffice/actions/toastViewAction.d.ts.map +1 -1
- package/lib/types/components/backoffice/billing/BackofficeBillingUsageChart.d.ts +2 -1
- package/lib/types/components/backoffice/billing/BackofficeBillingUsageChart.d.ts.map +1 -1
- package/lib/types/components/backoffice/columns/buildDataTableColumns.d.ts +2 -2
- package/lib/types/components/backoffice/columns/buildDataTableColumns.d.ts.map +1 -1
- package/lib/types/components/backoffice/detail/BackofficeDetailBadgeRow.d.ts.map +1 -1
- package/lib/types/components/backoffice/detail/BackofficeEntitySummaryHeader.d.ts.map +1 -1
- package/lib/types/components/backoffice/detail/BackofficeRelationsSummaryGrid.d.ts +1 -1
- package/lib/types/components/backoffice/detail/BackofficeRelationsSummaryGrid.d.ts.map +1 -1
- package/lib/types/components/backoffice/detail/BackofficeTokenUsageBreakdown.d.ts.map +1 -1
- package/lib/types/components/backoffice/detail/BackofficeUsageCostBreakdown.d.ts +1 -1
- package/lib/types/components/backoffice/detail/BackofficeUsageCostBreakdown.d.ts.map +1 -1
- package/lib/types/components/backoffice/errors/BackofficeErrorBoundary.d.ts +1 -1
- package/lib/types/components/backoffice/errors/BackofficeErrorBoundary.d.ts.map +1 -1
- package/lib/types/components/backoffice/filters/EntityIdFilterField.d.ts.map +1 -1
- package/lib/types/components/backoffice/filters/backofficeFilterAction.css.d.ts.map +1 -1
- package/lib/types/components/backoffice/filters/deferredFilterSearchInput.css.d.ts.map +1 -1
- package/lib/types/components/backoffice/filters/entityIdFilterField.css.d.ts +0 -1
- package/lib/types/components/backoffice/filters/entityIdFilterField.css.d.ts.map +1 -1
- package/lib/types/components/backoffice/hub/backofficeHubTemplate.css.d.ts.map +1 -1
- package/lib/types/components/backoffice/layout/backofficeSidebarActions.css.d.ts.map +1 -1
- package/lib/types/components/backoffice/layout/buildSidebarSections.d.ts +2 -2
- package/lib/types/components/backoffice/layout/buildSidebarSections.d.ts.map +1 -1
- package/lib/types/components/backoffice/layout/mapViewerToSidebarProfileView.d.ts +1 -1
- package/lib/types/components/backoffice/layout/mapViewerToSidebarProfileView.d.ts.map +1 -1
- package/lib/types/components/backoffice/list/RowFlagsCell.css.d.ts.map +1 -1
- package/lib/types/components/backoffice/overview/backofficeOverviewLayout.css.d.ts.map +1 -1
- package/lib/types/components/backoffice/pickers/EntityIdPickerDialog.d.ts +3 -3
- package/lib/types/components/backoffice/pickers/EntityIdPickerDialog.d.ts.map +1 -1
- package/lib/types/components/backoffice/refs/backofficeRelatedCountLink.css.d.ts.map +1 -1
- package/lib/types/components/backoffice/routing/BackofficeContentError.d.ts.map +1 -1
- package/lib/types/components/backoffice/scaffolds/BackofficeEntityDetailNotFound.d.ts.map +1 -1
- package/lib/types/components/backoffice/scaffolds/BackofficeEntityListScaffold.d.ts +2 -2
- package/lib/types/components/backoffice/scaffolds/BackofficeEntityListScaffold.d.ts.map +1 -1
- package/lib/types/components/backoffice/scaffolds/BackofficeTabbedDetailShell.d.ts +1 -1
- package/lib/types/components/backoffice/scaffolds/BackofficeTabbedDetailShell.d.ts.map +1 -1
- package/lib/types/components/backoffice/shared/backofficeFilterableCell.css.d.ts.map +1 -1
- package/lib/types/components/backoffice/tools/BackofficeToolsErrorFallback.d.ts.map +1 -1
- package/lib/types/components/backoffice/tools/BackofficeToolsJsonForm.d.ts.map +1 -1
- package/lib/types/components/backoffice/tools/backofficeToolsDocPanel.css.d.ts.map +1 -1
- package/lib/types/hooks/useBackofficeInfiniteScrollSentinel.d.ts +1 -2
- package/lib/types/hooks/useBackofficeInfiniteScrollSentinel.d.ts.map +1 -1
- package/lib/types/i18n/resources.d.ts +44 -2
- package/lib/types/i18n/resources.d.ts.map +1 -1
- package/lib/types/pages/BackofficeDashboardPage.d.ts.map +1 -1
- package/lib/types/pages/BackofficeDashboardWidgetContent.d.ts.map +1 -1
- package/lib/types/pages/BackofficeEntityDetailLayoutPage.d.ts.map +1 -1
- package/lib/types/pages/BackofficeEntityDetailPage.d.ts.map +1 -1
- package/lib/types/pages/BackofficeEntityDetailPage.view-helpers.d.ts +1 -1
- package/lib/types/pages/BackofficeEntityDetailPage.view-helpers.d.ts.map +1 -1
- package/lib/types/pages/BackofficeEntityListDataPage.d.ts.map +1 -1
- package/lib/types/pages/BackofficeEntityListPage.d.ts.map +1 -1
- package/lib/types/pages/BackofficeEntityListPage.helpers.d.ts +9 -9
- package/lib/types/pages/BackofficeEntityListPage.helpers.d.ts.map +1 -1
- package/lib/types/pages/BackofficeEntityListRouteContext.d.ts +2 -2
- package/lib/types/pages/BackofficeEntityListRouteContext.d.ts.map +1 -1
- package/lib/types/pages/BackofficeLayoutPage.d.ts.map +1 -1
- package/lib/types/pages/backofficeEntityListPage.css.d.ts.map +1 -1
- package/lib/types/pages/detail/BackofficeEntityDetailLayoutContext.d.ts +1 -1
- package/lib/types/pages/detail/BackofficeEntityDetailLayoutContext.d.ts.map +1 -1
- package/lib/types/pages/detail/buildTabsItems.d.ts +1 -1
- package/lib/types/pages/detail/buildTabsItems.d.ts.map +1 -1
- package/lib/types/provider/BackofficeProvider.d.ts.map +1 -1
- package/lib/types/provider/types.d.ts +2 -0
- package/lib/types/provider/types.d.ts.map +1 -1
- package/lib/types/router/createBackofficeRoutes.d.ts +0 -1
- package/lib/types/router/createBackofficeRoutes.d.ts.map +1 -1
- package/lib/types/storybook/backofficeDashboardPageStory.css.d.ts +2 -0
- package/lib/types/storybook/backofficeDashboardPageStory.css.d.ts.map +1 -0
- package/package.json +17 -17
- package/lib/esm/components/backoffice/technical/TechnicalIdentifierValue.js +0 -2
- package/lib/types/components/backoffice/technical/TechnicalIdentifierValue.d.ts +0 -2
- package/lib/types/components/backoffice/technical/TechnicalIdentifierValue.d.ts.map +0 -1
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { useBackofficeReactTranslation as e } from "../../../i18n/useBackofficeReactTranslation.js";
|
|
2
2
|
import { actionButton as t, actionButtonSpacer as n, actions as r, container as i } from "./deferredFilterSearchInput.css.js";
|
|
3
3
|
import { useEffect as a, useState as o } from "react";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { ModalCloseSvg as u } from "@plumile/ui/icons/ModalCloseSvg
|
|
7
|
-
import { SidebarSearchSvg as d } from "@plumile/ui/icons/SidebarSearchSvg
|
|
8
|
-
import { CheckSvg as f } from "@plumile/ui/icons/CheckSvg
|
|
4
|
+
import { Input as s } from "@plumile/ui";
|
|
5
|
+
import { jsx as c, jsxs as l } from "react/jsx-runtime";
|
|
6
|
+
import { ModalCloseSvg as u } from "@plumile/ui/icons/ModalCloseSvg";
|
|
7
|
+
import { SidebarSearchSvg as d } from "@plumile/ui/icons/SidebarSearchSvg";
|
|
8
|
+
import { CheckSvg as f } from "@plumile/ui/icons/CheckSvg";
|
|
9
9
|
//#region src/components/backoffice/filters/DeferredFilterSearchInput.tsx
|
|
10
10
|
var p = ({ value: p, placeholder: m, ariaLabel: h, className: g, inputMode: _ = "search", type: v = "text", onApply: y }) => {
|
|
11
11
|
let { t: b } = e(), [x, S] = o(p);
|
|
@@ -16,29 +16,29 @@ var p = ({ value: p, placeholder: m, ariaLabel: h, className: g, inputMode: _ =
|
|
|
16
16
|
E && y(C);
|
|
17
17
|
}, M = () => {
|
|
18
18
|
S(""), w !== "" && y("");
|
|
19
|
-
}, N = /* @__PURE__ */
|
|
19
|
+
}, N = /* @__PURE__ */ c("span", {
|
|
20
20
|
className: n,
|
|
21
21
|
"aria-hidden": "true"
|
|
22
22
|
});
|
|
23
|
-
return D && (N = /* @__PURE__ */
|
|
23
|
+
return D && (N = /* @__PURE__ */ c("button", {
|
|
24
24
|
type: "button",
|
|
25
25
|
className: t,
|
|
26
26
|
"aria-label": k,
|
|
27
27
|
title: k,
|
|
28
28
|
onClick: M,
|
|
29
|
-
children: /* @__PURE__ */
|
|
29
|
+
children: /* @__PURE__ */ c(u, {
|
|
30
30
|
width: 16,
|
|
31
31
|
height: 16,
|
|
32
32
|
"aria-hidden": "true"
|
|
33
33
|
})
|
|
34
|
-
})), /* @__PURE__ */
|
|
34
|
+
})), /* @__PURE__ */ c("form", {
|
|
35
35
|
className: g,
|
|
36
36
|
onSubmit: (e) => {
|
|
37
37
|
e.preventDefault(), j();
|
|
38
38
|
},
|
|
39
|
-
children: /* @__PURE__ */
|
|
39
|
+
children: /* @__PURE__ */ c("div", {
|
|
40
40
|
className: i,
|
|
41
|
-
children: /* @__PURE__ */ s
|
|
41
|
+
children: /* @__PURE__ */ c(s, {
|
|
42
42
|
type: v,
|
|
43
43
|
inputMode: _,
|
|
44
44
|
value: x,
|
|
@@ -52,21 +52,21 @@ var p = ({ value: p, placeholder: m, ariaLabel: h, className: g, inputMode: _ =
|
|
|
52
52
|
"aria-label": O,
|
|
53
53
|
size: "small",
|
|
54
54
|
fullWidth: !0,
|
|
55
|
-
leftIcon: /* @__PURE__ */
|
|
55
|
+
leftIcon: /* @__PURE__ */ c(d, {
|
|
56
56
|
width: 18,
|
|
57
57
|
height: 18,
|
|
58
58
|
"aria-hidden": "true"
|
|
59
59
|
}),
|
|
60
60
|
rightIconIsInteractive: !0,
|
|
61
|
-
rightIcon: /* @__PURE__ */
|
|
61
|
+
rightIcon: /* @__PURE__ */ l("span", {
|
|
62
62
|
className: r,
|
|
63
|
-
children: [N, /* @__PURE__ */
|
|
63
|
+
children: [N, /* @__PURE__ */ c("button", {
|
|
64
64
|
type: "submit",
|
|
65
65
|
className: t,
|
|
66
66
|
"aria-label": A,
|
|
67
67
|
title: A,
|
|
68
68
|
disabled: !E,
|
|
69
|
-
children: /* @__PURE__ */
|
|
69
|
+
children: /* @__PURE__ */ c(f, {
|
|
70
70
|
width: 16,
|
|
71
71
|
height: 16,
|
|
72
72
|
"aria-hidden": "true"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeferredFilterSearchInput.js","names":[],"sources":["../../../../../src/components/backoffice/filters/DeferredFilterSearchInput.tsx"],"sourcesContent":["import {\n useEffect,\n useState,\n type FormEvent,\n type JSX,\n type KeyboardEvent,\n} from 'react';\n\nimport { Input } from '@plumile/ui
|
|
1
|
+
{"version":3,"file":"DeferredFilterSearchInput.js","names":[],"sources":["../../../../../src/components/backoffice/filters/DeferredFilterSearchInput.tsx"],"sourcesContent":["import {\n useEffect,\n useState,\n type FormEvent,\n type JSX,\n type KeyboardEvent,\n} from 'react';\n\nimport { Input } from '@plumile/ui';\nimport { CheckSvg } from '@plumile/ui/icons/CheckSvg';\nimport { ModalCloseSvg } from '@plumile/ui/icons/ModalCloseSvg';\nimport { SidebarSearchSvg } from '@plumile/ui/icons/SidebarSearchSvg';\n\nimport { useBackofficeReactTranslation } from '../../../i18n/useBackofficeReactTranslation.js';\n\nimport * as styles from './deferredFilterSearchInput.css.js';\n\nexport type DeferredFilterSearchInputProps = {\n value: string;\n placeholder: string;\n ariaLabel?: string;\n className?: string;\n inputMode?: 'search' | 'numeric' | 'decimal';\n type?: 'search' | 'text' | 'number' | 'datetime-local';\n onApply: (value: string) => void;\n};\n\nexport const DeferredFilterSearchInput = ({\n value,\n placeholder,\n ariaLabel,\n className,\n inputMode = 'search',\n type = 'text',\n onApply,\n}: DeferredFilterSearchInputProps): JSX.Element => {\n const { t } = useBackofficeReactTranslation();\n const [draftValue, setDraftValue] = useState(value);\n\n useEffect(() => {\n setDraftValue(value);\n }, [value]);\n\n const normalizedDraft = draftValue.trim();\n const normalizedValue = value.trim();\n const hasDraft = normalizedDraft !== '';\n const hasPendingValue = normalizedDraft !== normalizedValue;\n const canClear = hasDraft || normalizedValue !== '';\n const inputLabel = ariaLabel ?? placeholder;\n const clearLabel = t('filters.actions.clearFilter', { label: inputLabel });\n const applyLabel = t('filters.actions.applyFilter', { label: inputLabel });\n\n const applyDraft = () => {\n if (!hasPendingValue) {\n return;\n }\n onApply(normalizedDraft);\n };\n\n const clearValue = () => {\n setDraftValue('');\n if (normalizedValue !== '') {\n onApply('');\n }\n };\n\n let clearActionNode: JSX.Element = (\n <span className={styles.actionButtonSpacer} aria-hidden=\"true\" />\n );\n if (canClear) {\n clearActionNode = (\n <button\n type=\"button\"\n className={styles.actionButton}\n aria-label={clearLabel}\n title={clearLabel}\n onClick={clearValue}\n >\n <ModalCloseSvg width={16} height={16} aria-hidden=\"true\" />\n </button>\n );\n }\n\n return (\n <form\n className={className}\n onSubmit={(event: FormEvent<HTMLFormElement>) => {\n event.preventDefault();\n applyDraft();\n }}\n >\n <div className={styles.container}>\n <Input\n type={type}\n inputMode={inputMode}\n value={draftValue}\n onInput={(event: FormEvent<HTMLInputElement>) => {\n setDraftValue(event.currentTarget.value);\n }}\n onKeyDown={(event: KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Enter') {\n event.preventDefault();\n applyDraft();\n }\n if (event.key === 'Escape') {\n event.preventDefault();\n setDraftValue(value);\n }\n }}\n placeholder={placeholder}\n aria-label={inputLabel}\n size=\"small\"\n fullWidth\n leftIcon={\n <SidebarSearchSvg width={18} height={18} aria-hidden=\"true\" />\n }\n rightIconIsInteractive\n rightIcon={\n <span className={styles.actions}>\n {clearActionNode}\n <button\n type=\"submit\"\n className={styles.actionButton}\n aria-label={applyLabel}\n title={applyLabel}\n disabled={!hasPendingValue}\n >\n <CheckSvg width={16} height={16} aria-hidden=\"true\" />\n </button>\n </span>\n }\n />\n </div>\n </form>\n );\n};\n\nexport default DeferredFilterSearchInput;\n"],"mappings":";;;;;;;;;AA2BA,IAAa,KAA6B,EACxC,UACA,gBACA,cACA,cACA,eAAY,UACZ,UAAO,QACP,iBACiD;CACjD,IAAM,EAAE,SAAM,EAA8B,GACtC,CAAC,GAAY,KAAiB,EAAS,CAAK;CAElD,QAAgB;EACd,EAAc,CAAK;CACrB,GAAG,CAAC,CAAK,CAAC;CAEV,IAAM,IAAkB,EAAW,KAAK,GAClC,IAAkB,EAAM,KAAK,GAC7B,IAAW,MAAoB,IAC/B,IAAkB,MAAoB,GACtC,IAAW,KAAY,MAAoB,IAC3C,IAAa,KAAa,GAC1B,IAAa,EAAE,+BAA+B,EAAE,OAAO,EAAW,CAAC,GACnE,IAAa,EAAE,+BAA+B,EAAE,OAAO,EAAW,CAAC,GAEnE,UAAmB;EAClB,KAGL,EAAQ,CAAe;CACzB,GAEM,UAAmB;EAEvB,AADA,EAAc,EAAE,GACZ,MAAoB,MACtB,EAAQ,EAAE;CAEd,GAEI,IACF,kBAAC,QAAD;EAAM,WAAW;EAA2B,eAAY;CAAQ,CAAA;CAgBlE,OAdI,MACF,IACE,kBAAC,UAAD;EACE,MAAK;EACL,WAAW;EACX,cAAY;EACZ,OAAO;EACP,SAAS;EAET,UAAA,kBAAC,GAAD;GAAe,OAAO;GAAI,QAAQ;GAAI,eAAY;EAAQ,CAAA;CACpD,CAAA,IAKV,kBAAC,QAAD;EACa;EACX,WAAW,MAAsC;GAE/C,AADA,EAAM,eAAe,GACrB,EAAW;EACb;EAEA,UAAA,kBAAC,OAAD;GAAK,WAAW;GACd,UAAA,kBAAC,GAAD;IACQ;IACK;IACX,OAAO;IACP,UAAU,MAAuC;KAC/C,EAAc,EAAM,cAAc,KAAK;IACzC;IACA,YAAY,MAA2C;KAKrD,AAJI,EAAM,QAAQ,YAChB,EAAM,eAAe,GACrB,EAAW,IAET,EAAM,QAAQ,aAChB,EAAM,eAAe,GACrB,EAAc,CAAK;IAEvB;IACa;IACb,cAAY;IACZ,MAAK;IACL,WAAA;IACA,UACE,kBAAC,GAAD;KAAkB,OAAO;KAAI,QAAQ;KAAI,eAAY;IAAQ,CAAA;IAE/D,wBAAA;IACA,WACE,kBAAC,QAAD;KAAM,WAAW;KAAjB,UAAA,CACG,GACD,kBAAC,UAAD;MACE,MAAK;MACL,WAAW;MACX,cAAY;MACZ,OAAO;MACP,UAAU,CAAC;MAEX,UAAA,kBAAC,GAAD;OAAU,OAAO;OAAI,QAAQ;OAAI,eAAY;MAAQ,CAAA;KAC/C,CAAA,CACJ;;GAET,CAAA;EACE,CAAA;CACD,CAAA;AAEV"}
|
|
@@ -1,93 +1,81 @@
|
|
|
1
1
|
import { useBackofficeReactTranslation as e } from "../../../i18n/useBackofficeReactTranslation.js";
|
|
2
|
-
import { actionIcon as t, clearButton as n, container as r, content as i, labelText as a,
|
|
3
|
-
import { jsx as
|
|
4
|
-
import { ModalCloseSvg as
|
|
5
|
-
import { BackofficeSidebarPenToolSvg as
|
|
6
|
-
import { BackofficeSidebarSearchSvg as
|
|
2
|
+
import { actionIcon as t, clearButton as n, container as r, content as i, labelText as a, pickerButton as o, pickerControl as s, placeholder as c, valueText as l } from "./entityIdFilterField.css.js";
|
|
3
|
+
import { jsx as u, jsxs as d } from "react/jsx-runtime";
|
|
4
|
+
import { ModalCloseSvg as f } from "@plumile/ui/icons/ModalCloseSvg";
|
|
5
|
+
import { BackofficeSidebarPenToolSvg as p } from "@plumile/ui/icons/BackofficeSidebarPenToolSvg";
|
|
6
|
+
import { BackofficeSidebarSearchSvg as m } from "@plumile/ui/icons/BackofficeSidebarSearchSvg";
|
|
7
7
|
//#region src/components/backoffice/filters/EntityIdFilterField.tsx
|
|
8
|
-
var
|
|
9
|
-
let { disabled:
|
|
10
|
-
|
|
11
|
-
className: u,
|
|
12
|
-
children: A
|
|
13
|
-
}) : j ? /* @__PURE__ */ d("span", {
|
|
14
|
-
className: l,
|
|
15
|
-
children: P
|
|
16
|
-
}) : /* @__PURE__ */ d("span", {
|
|
8
|
+
var h = (h) => {
|
|
9
|
+
let { disabled: g = !1, id: _, label: v, value: y, displayValue: b, placeholder: x, ariaDescribedBy: S, ariaInvalid: C, isResolving: w = !1, onPick: T, onClear: E } = h, { t: D } = e(), O = y?.trim() ?? "", k = b?.trim() ?? "", A = O !== "", j = k !== "", M = x ?? D("filters.placeholders.anyEntity", { label: v }), N = D("filters.placeholders.unresolved"), P;
|
|
10
|
+
P = j ? /* @__PURE__ */ u("span", {
|
|
17
11
|
className: l,
|
|
12
|
+
children: k
|
|
13
|
+
}) : A ? /* @__PURE__ */ u("span", {
|
|
14
|
+
className: c,
|
|
18
15
|
children: N
|
|
16
|
+
}) : /* @__PURE__ */ u("span", {
|
|
17
|
+
className: c,
|
|
18
|
+
children: M
|
|
19
19
|
});
|
|
20
|
-
let
|
|
21
|
-
|
|
22
|
-
let
|
|
23
|
-
|
|
24
|
-
let
|
|
25
|
-
|
|
20
|
+
let F = D("common.actions.pick");
|
|
21
|
+
A && (F = D("filters.actions.changeFilterValue", { label: v }));
|
|
22
|
+
let I = D("filters.actions.filterBy", { label: v });
|
|
23
|
+
A && (I = F);
|
|
24
|
+
let L = D("filters.actions.clearFilter", { label: v }), R = null;
|
|
25
|
+
A && E != null && (R = /* @__PURE__ */ u("button", {
|
|
26
26
|
type: "button",
|
|
27
27
|
className: n,
|
|
28
|
-
"aria-label":
|
|
29
|
-
disabled:
|
|
28
|
+
"aria-label": L,
|
|
29
|
+
disabled: g,
|
|
30
30
|
onClick: (e) => {
|
|
31
|
-
e.stopPropagation(),
|
|
31
|
+
e.stopPropagation(), E();
|
|
32
32
|
},
|
|
33
|
-
children: /* @__PURE__ */
|
|
33
|
+
children: /* @__PURE__ */ u(f, {
|
|
34
34
|
width: 16,
|
|
35
35
|
height: 16,
|
|
36
36
|
"aria-hidden": "true"
|
|
37
37
|
})
|
|
38
38
|
}));
|
|
39
|
-
let
|
|
40
|
-
if (
|
|
41
|
-
let e = /* @__PURE__ */
|
|
39
|
+
let z = null;
|
|
40
|
+
if (T != null) {
|
|
41
|
+
let e = /* @__PURE__ */ u(m, {
|
|
42
42
|
className: t,
|
|
43
43
|
"aria-hidden": "true"
|
|
44
44
|
});
|
|
45
|
-
|
|
45
|
+
A && (e = /* @__PURE__ */ u(p, {
|
|
46
46
|
className: t,
|
|
47
47
|
"aria-hidden": "true"
|
|
48
|
-
})),
|
|
49
|
-
className:
|
|
50
|
-
children: [
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
}),
|
|
69
|
-
/* @__PURE__ */ d("button", {
|
|
70
|
-
type: "button",
|
|
71
|
-
className: o,
|
|
72
|
-
"aria-label": L,
|
|
73
|
-
title: L,
|
|
74
|
-
disabled: _,
|
|
75
|
-
onClick: E,
|
|
76
|
-
children: e
|
|
77
|
-
}),
|
|
78
|
-
z
|
|
79
|
-
]
|
|
48
|
+
})), z = /* @__PURE__ */ d("div", {
|
|
49
|
+
className: s,
|
|
50
|
+
children: [/* @__PURE__ */ d("button", {
|
|
51
|
+
id: _,
|
|
52
|
+
type: "button",
|
|
53
|
+
className: o,
|
|
54
|
+
"aria-label": I,
|
|
55
|
+
"aria-describedby": S,
|
|
56
|
+
"aria-invalid": C,
|
|
57
|
+
"aria-busy": w || void 0,
|
|
58
|
+
disabled: g,
|
|
59
|
+
onClick: T,
|
|
60
|
+
children: [/* @__PURE__ */ d("span", {
|
|
61
|
+
className: i,
|
|
62
|
+
children: [/* @__PURE__ */ u("span", {
|
|
63
|
+
className: a,
|
|
64
|
+
children: v
|
|
65
|
+
}), P]
|
|
66
|
+
}), e]
|
|
67
|
+
}), R]
|
|
80
68
|
});
|
|
81
69
|
}
|
|
82
|
-
return /* @__PURE__ */
|
|
70
|
+
return /* @__PURE__ */ u("div", {
|
|
83
71
|
className: r,
|
|
84
|
-
children:
|
|
85
|
-
className: "
|
|
86
|
-
children:
|
|
72
|
+
children: z ?? /* @__PURE__ */ u("div", {
|
|
73
|
+
className: "txvbqb1cl txvbqbe1d txvbqb5lr txvbqb2nn txvbqbf3z",
|
|
74
|
+
children: P
|
|
87
75
|
})
|
|
88
76
|
});
|
|
89
77
|
};
|
|
90
78
|
//#endregion
|
|
91
|
-
export {
|
|
79
|
+
export { h as EntityIdFilterField, h as default };
|
|
92
80
|
|
|
93
81
|
//# sourceMappingURL=EntityIdFilterField.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityIdFilterField.js","names":[],"sources":["../../../../../src/components/backoffice/filters/EntityIdFilterField.tsx"],"sourcesContent":["import { type JSX } from 'react';\n\nimport { ModalCloseSvg } from '@plumile/ui/icons/ModalCloseSvg
|
|
1
|
+
{"version":3,"file":"EntityIdFilterField.js","names":[],"sources":["../../../../../src/components/backoffice/filters/EntityIdFilterField.tsx"],"sourcesContent":["import { type JSX } from 'react';\n\nimport { ModalCloseSvg } from '@plumile/ui/icons/ModalCloseSvg';\nimport { BackofficeSidebarPenToolSvg } from '@plumile/ui/icons/BackofficeSidebarPenToolSvg';\nimport { BackofficeSidebarSearchSvg } from '@plumile/ui/icons/BackofficeSidebarSearchSvg';\nimport { useBackofficeReactTranslation } from '../../../i18n/useBackofficeReactTranslation.js';\n\nimport * as styles from './entityIdFilterField.css.js';\n\nexport type EntityIdFilterFieldProps = {\n id?: string;\n label: string;\n value: string | null;\n displayValue?: string | null;\n placeholder?: string;\n ariaDescribedBy?: string;\n ariaInvalid?: boolean;\n isResolving?: boolean;\n onPick?: () => void;\n onClear?: () => void;\n disabled?: boolean;\n};\n\nexport const EntityIdFilterField = (\n props: EntityIdFilterFieldProps,\n): JSX.Element => {\n const {\n disabled = false,\n id,\n label,\n value,\n displayValue,\n placeholder,\n ariaDescribedBy,\n ariaInvalid,\n isResolving = false,\n onPick,\n onClear,\n } = props;\n const { t } = useBackofficeReactTranslation();\n const normalizedValue = value?.trim() ?? '';\n const normalizedDisplayValue = displayValue?.trim() ?? '';\n const hasValue = normalizedValue !== '';\n const hasDisplayValue = normalizedDisplayValue !== '';\n\n const resolvedPlaceholder =\n placeholder ?? t('filters.placeholders.anyEntity', { label });\n const unresolvedPlaceholder = t('filters.placeholders.unresolved');\n\n let displayNode: JSX.Element;\n if (hasDisplayValue) {\n displayNode = (\n <span className={styles.valueText}>{normalizedDisplayValue}</span>\n );\n } else if (hasValue) {\n displayNode = (\n <span className={styles.placeholder}>{unresolvedPlaceholder}</span>\n );\n } else {\n displayNode = (\n <span className={styles.placeholder}>{resolvedPlaceholder}</span>\n );\n }\n\n let pickLabel = t('common.actions.pick');\n if (hasValue) {\n pickLabel = t('filters.actions.changeFilterValue', { label });\n }\n let pickAriaLabel = t('filters.actions.filterBy', { label });\n if (hasValue) {\n pickAriaLabel = pickLabel;\n }\n const clearAriaLabel = t('filters.actions.clearFilter', { label });\n\n let clearNode: JSX.Element | null = null;\n if (hasValue && onClear != null) {\n clearNode = (\n <button\n type=\"button\"\n className={styles.clearButton}\n aria-label={clearAriaLabel}\n disabled={disabled}\n onClick={(event) => {\n event.stopPropagation();\n onClear();\n }}\n >\n <ModalCloseSvg width={16} height={16} aria-hidden=\"true\" />\n </button>\n );\n }\n\n let pickerNode: JSX.Element | null = null;\n if (onPick != null) {\n let actionIcon = (\n <BackofficeSidebarSearchSvg\n className={styles.actionIcon}\n aria-hidden=\"true\"\n />\n );\n if (hasValue) {\n actionIcon = (\n <BackofficeSidebarPenToolSvg\n className={styles.actionIcon}\n aria-hidden=\"true\"\n />\n );\n }\n\n pickerNode = (\n <div className={styles.pickerControl}>\n <button\n id={id}\n type=\"button\"\n className={styles.pickerButton}\n aria-label={pickAriaLabel}\n aria-describedby={ariaDescribedBy}\n aria-invalid={ariaInvalid}\n aria-busy={isResolving || undefined}\n disabled={disabled}\n onClick={onPick}\n >\n <span className={styles.content}>\n <span className={styles.labelText}>{label}</span>\n {displayNode}\n </span>\n {actionIcon}\n </button>\n {clearNode}\n </div>\n );\n }\n\n return (\n <div className={styles.container}>\n {pickerNode ?? <div className={styles.valueBox}>{displayNode}</div>}\n </div>\n );\n};\n\nexport default EntityIdFilterField;\n"],"mappings":";;;;;;;AAuBA,IAAa,KACX,MACgB;CAChB,IAAM,EACJ,cAAW,IACX,OACA,UACA,UACA,iBACA,aAAA,GACA,oBACA,gBACA,iBAAc,IACd,WACA,eACE,GACE,EAAE,SAAM,EAA8B,GACtC,IAAkB,GAAO,KAAK,KAAK,IACnC,IAAyB,GAAc,KAAK,KAAK,IACjD,IAAW,MAAoB,IAC/B,IAAkB,MAA2B,IAE7C,IACJ,KAAe,EAAE,kCAAkC,EAAE,SAAM,CAAC,GACxD,IAAwB,EAAE,iCAAiC,GAE7D;CACJ,AASE,IATE,IAEA,kBAAC,QAAD;EAAM,WAAW;EAAmB,UAAA;CAA6B,CAAA,IAE1D,IAEP,kBAAC,QAAD;EAAM,WAAW;EAAqB,UAAA;CAA4B,CAAA,IAIlE,kBAAC,QAAD;EAAM,WAAW;EAAqB,UAAA;CAA0B,CAAA;CAIpE,IAAI,IAAY,EAAE,qBAAqB;CACvC,AAAI,MACF,IAAY,EAAE,qCAAqC,EAAE,SAAM,CAAC;CAE9D,IAAI,IAAgB,EAAE,4BAA4B,EAAE,SAAM,CAAC;CAC3D,AAAI,MACF,IAAgB;CAElB,IAAM,IAAiB,EAAE,+BAA+B,EAAE,SAAM,CAAC,GAE7D,IAAgC;CACpC,AAAI,KAAY,KAAW,SACzB,IACE,kBAAC,UAAD;EACE,MAAK;EACL,WAAW;EACX,cAAY;EACF;EACV,UAAU,MAAU;GAElB,AADA,EAAM,gBAAgB,GACtB,EAAQ;EACV;EAEA,UAAA,kBAAC,GAAD;GAAe,OAAO;GAAI,QAAQ;GAAI,eAAY;EAAQ,CAAA;CACpD,CAAA;CAIZ,IAAI,IAAiC;CACrC,IAAI,KAAU,MAAM;EAClB,IAAI,IACF,kBAAC,GAAD;GACE,WAAW;GACX,eAAY;EACb,CAAA;EAWH,AATI,MACF,IACE,kBAAC,GAAD;GACE,WAAW;GACX,eAAY;EACb,CAAA,IAIL,IACE,kBAAC,OAAD;GAAK,WAAW;GAAhB,UAAA,CACE,kBAAC,UAAD;IACM;IACJ,MAAK;IACL,WAAW;IACX,cAAY;IACZ,oBAAkB;IAClB,gBAAc;IACd,aAAW,KAAe,KAAA;IAChB;IACV,SAAS;IATX,UAAA,CAWE,kBAAC,QAAD;KAAM,WAAW;KAAjB,UAAA,CACE,kBAAC,QAAD;MAAM,WAAW;MAAmB,UAAA;KAAY,CAAA,GAC/C,CACG;IACL,CAAA,GAAA,CACK;GACP,CAAA,GAAA,CACE;;CAET;CAEA,OACE,kBAAC,OAAD;EAAK,WAAW;EACb,UAAA,KAAc,kBAAC,OAAD;GAAK,WAAW;GAAkB,UAAA;EAAiB,CAAA;CAC/D,CAAA;AAET"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
//#region src/components/backoffice/filters/backofficeFilterAction.css.ts
|
|
2
|
-
var e = "hwnq700
|
|
2
|
+
var e = "hwnq700 txvbqb5ml txvbqb2nn txvbqb8o1 txvbqb1cr txvbqbkz3 txvbqb7tr txvbqbf4t txvbqbn1 txvbqble txvbqbmx txvbqbiz txvbqbab txvbqbet txvbqbv txvbqb3f txvbqb7n txvbqb76 txvbqb7y txvbqbo81 txvbqbmix txvbqbncx qbwcue5 qbwcue4 txvbqboz8 txvbqbptg qbwcue3", t = "txvbqbky9 txvbqb7sx";
|
|
3
3
|
//#endregion
|
|
4
4
|
export { e as action, t as icon };
|
|
5
5
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backofficeFilterAction.css.js","names":[],"sources":["../../../../../src/components/backoffice/filters/backofficeFilterAction.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\nimport { sprinkles, stateSprinkles
|
|
1
|
+
{"version":3,"file":"backofficeFilterAction.css.js","names":[],"sources":["../../../../../src/components/backoffice/filters/backofficeFilterAction.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\nimport { sprinkles, stateSprinkles, focusRing } from '@plumile/ui/theme';\n\nexport const action = style([\n sprinkles({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n width: 7,\n height: 7,\n padding: 0,\n borderRadius: 'md',\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'borderSubtle',\n backgroundColor: 'surfaceMuted',\n color: 'tonePrimaryText',\n cursor: 'pointer',\n textDecoration: 'none',\n transitionProperty: 'colors',\n transitionDuration: 120,\n transitionTimingFunction: 'ease',\n }),\n stateSprinkles({\n color: { hover: 'text' },\n backgroundColor: { hover: 'tonePrimarySurface' },\n borderColor: { hover: 'tonePrimaryBorder' },\n }),\n focusRing,\n]);\n\nexport const icon = sprinkles({\n width: 4,\n height: 4,\n});\n"],"mappings":""}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* empty css */
|
|
2
2
|
//#region src/components/backoffice/filters/deferredFilterSearchInput.css.ts
|
|
3
|
-
var e = "
|
|
3
|
+
var e = "txvbqbl9n", t = "ds2thc0 txvbqb5ml txvbqb2nn txvbqb7fb", n = "ds2thc1 txvbqb6 txvbqb5ml txvbqb2nn txvbqb8o1 txvbqbkz3 txvbqb7tr txvbqbf4t txvbqbn1 txvbqbk9 txvbqb8n txvbqbe8 txvbqbv txvbqb7n txvbqb76 txvbqb7y", r = "txvbqb5ml txvbqbkz3 txvbqb7tr txvbqb1cr";
|
|
4
4
|
//#endregion
|
|
5
5
|
export { n as actionButton, r as actionButtonSpacer, t as actions, e as container };
|
|
6
6
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deferredFilterSearchInput.css.js","names":[],"sources":["../../../../../src/components/backoffice/filters/deferredFilterSearchInput.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\nimport { sprinkles
|
|
1
|
+
{"version":3,"file":"deferredFilterSearchInput.css.js","names":[],"sources":["../../../../../src/components/backoffice/filters/deferredFilterSearchInput.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\nimport { sprinkles, vars } from '@plumile/ui/theme';\n\nexport const container = sprinkles({\n width: 'full',\n});\n\nexport const actions = style([\n sprinkles({\n display: 'inline-flex',\n alignItems: 'center',\n gap: 0.5,\n }),\n {\n minWidth: '3.75rem',\n },\n]);\n\nexport const actionButton = style([\n sprinkles({\n appearance: 'none',\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: 7,\n height: 7,\n padding: 0,\n borderRadius: 'md',\n borderWidth: 0,\n backgroundColor: 'transparent',\n color: 'textMuted',\n cursor: 'pointer',\n transitionProperty: 'colors',\n transitionDuration: 120,\n transitionTimingFunction: 'ease',\n }),\n {\n selectors: {\n '&:hover:not(:disabled)': {\n color: vars.colors.text,\n backgroundColor: vars.colors.surfaceMuted,\n },\n '&:focus-visible': {\n outline: `2px solid ${vars.colors.primary}`,\n outlineOffset: '2px',\n },\n '&:disabled': {\n cursor: 'not-allowed',\n opacity: 0.45,\n },\n },\n },\n]);\n\nexport const actionButtonSpacer = sprinkles({\n display: 'inline-flex',\n width: 7,\n height: 7,\n flexShrink: 0,\n});\n"],"mappings":""}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* empty css */
|
|
2
2
|
//#region src/components/backoffice/filters/entityIdFilterField.css.ts
|
|
3
|
-
var e = "
|
|
3
|
+
var e = "txvbqb5lr txvbqb2nn txvbqbl6b txvbqbd73 txvbqbe1d", t = "oa1uye0 txvbqb5m1 txvbqb2nn txvbqb1cl txvbqbe1d txvbqbn3 txvbqble txvbqbmx txvbqbiy txvbqba9 txvbqbe6 txvbqbiqt txvbqbk49 txvbqb7m txvbqb78 txvbqb7y", n = "oa1uye1 txvbqb6 txvbqb5m1 txvbqb8o1 txvbqbe1d txvbqbl9n txvbqb2lt txvbqbv txvbqbk9 txvbqb8n txvbqbe6 txvbqbf4t", r = "txvbqb5lr txvbqb6m5 txvbqb8o1 txvbqb7fb txvbqbe1d txvbqbl9n txvbqbd73", i = "txvbqb1cl txvbqbe1d txvbqb5lr txvbqb2nn txvbqbf3z", a = "txvbqb5l7 txvbqbe8 txvbqb6n9 txvbqb1d4 txvbqbe1d txvbqbf3z txvbqb2lw txvbqb2mf", o = "txvbqb5l7 txvbqbe1d txvbqbf3z txvbqb2lw txvbqb2mf txvbqb6nj txvbqb1d5", s = "txvbqb5l7 txvbqbe1d txvbqbf3z txvbqb2lw txvbqb2mf txvbqbe8 txvbqb6nj", c = "oa1uye3 oa1uye2 txvbqb6 txvbqb5ml txvbqb2nn txvbqbgh txvbqb8o1 txvbqbkz3 txvbqb7tr txvbqbf4t txvbqbn1 txvbqbk9 txvbqb8n txvbqbe8 txvbqbv txvbqb7n txvbqb76 txvbqb7y", l = "txvbqbky9 txvbqb7sx";
|
|
4
4
|
//#endregion
|
|
5
|
-
export {
|
|
5
|
+
export { l as actionIcon, c as clearButton, e as container, r as content, a as labelText, n as pickerButton, t as pickerControl, s as placeholder, i as valueBox, o as valueText };
|
|
6
6
|
|
|
7
7
|
//# sourceMappingURL=entityIdFilterField.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entityIdFilterField.css.js","names":[],"sources":["../../../../../src/components/backoffice/filters/entityIdFilterField.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\nimport { sprinkles
|
|
1
|
+
{"version":3,"file":"entityIdFilterField.css.js","names":[],"sources":["../../../../../src/components/backoffice/filters/entityIdFilterField.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\nimport { sprinkles, vars } from '@plumile/ui/theme';\n\nexport const container = sprinkles({\n display: 'flex',\n alignItems: 'center',\n width: 72,\n maxWidth: 'full',\n minWidth: 0,\n});\n\nexport const pickerControl = style([\n sprinkles({\n display: 'grid',\n alignItems: 'center',\n flex: 1,\n minWidth: 0,\n borderRadius: 'xl',\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'border',\n backgroundColor: 'surface',\n color: 'text',\n paddingX: 3,\n paddingY: 1.5,\n transitionProperty: 'default',\n transitionDuration: 150,\n transitionTimingFunction: 'ease',\n }),\n {\n gridTemplateColumns: 'minmax(0, 1fr) auto',\n gridTemplateAreas: '\"picker clearAction\"',\n columnGap: vars.spacing[0.5],\n minHeight: '2.5rem',\n width: '100%',\n selectors: {\n '&:hover': {\n backgroundColor: vars.colors.surfaceMuted,\n },\n },\n },\n]);\n\nexport const pickerButton = style([\n sprinkles({\n appearance: 'none',\n display: 'grid',\n justifyContent: 'center',\n minWidth: 0,\n width: 'full',\n textAlign: 'start',\n cursor: 'pointer',\n borderWidth: 0,\n backgroundColor: 'transparent',\n color: 'text',\n padding: 0,\n }),\n {\n gridArea: 'picker',\n gridTemplateColumns: 'minmax(0, 1fr) auto',\n columnGap: vars.spacing[0.5],\n alignItems: 'center',\n minHeight: '100%',\n selectors: {\n '&:focus-visible': {\n outline: `2px solid ${vars.colors.primary}`,\n outlineOffset: '2px',\n },\n '&:disabled': {\n cursor: 'not-allowed',\n opacity: 0.65,\n },\n },\n },\n]);\n\nexport const content = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n gap: 0.5,\n minWidth: 0,\n width: 'full',\n maxWidth: 'full',\n});\n\nexport const valueBox = sprinkles({\n flex: 1,\n minWidth: 0,\n display: 'flex',\n alignItems: 'center',\n overflow: 'hidden',\n});\n\nexport const labelText = sprinkles({\n display: 'block',\n color: 'textMuted',\n fontSize: 'xs',\n fontWeight: 'medium',\n minWidth: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n});\n\nexport const valueText = sprinkles({\n display: 'block',\n minWidth: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n fontSize: 'sm',\n fontWeight: 'semibold',\n});\n\nexport const placeholder = sprinkles({\n display: 'block',\n minWidth: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n color: 'textMuted',\n fontSize: 'sm',\n});\n\nconst actionButtonBase = style([\n sprinkles({\n appearance: 'none',\n display: 'inline-flex',\n alignItems: 'center',\n alignSelf: 'center',\n justifyContent: 'center',\n width: 7,\n height: 7,\n padding: 0,\n borderRadius: 'md',\n borderWidth: 0,\n backgroundColor: 'transparent',\n color: 'textMuted',\n cursor: 'pointer',\n transitionProperty: 'colors',\n transitionDuration: 120,\n transitionTimingFunction: 'ease',\n }),\n {\n selectors: {\n '&:hover:not(:disabled)': {\n color: vars.colors.text,\n backgroundColor: vars.colors.surfaceMuted,\n },\n '&:focus-visible': {\n outline: `2px solid ${vars.colors.primary}`,\n outlineOffset: '2px',\n },\n '&:disabled': {\n cursor: 'not-allowed',\n opacity: 0.65,\n },\n },\n },\n]);\n\nexport const clearButton = style([\n actionButtonBase,\n {\n gridArea: 'clearAction',\n },\n]);\n\nexport const actionIcon = sprinkles({\n width: 4,\n height: 4,\n});\n"],"mappings":""}
|
|
@@ -3,7 +3,7 @@ import { jsx as d, jsxs as f } from "react/jsx-runtime";
|
|
|
3
3
|
import { BackofficeEmptyState as p } from "@plumile/ui/backoffice/molecules/backoffice_empty_state/BackofficeEmptyState.js";
|
|
4
4
|
import m from "@plumile/router/routing/Link.js";
|
|
5
5
|
import { GlobalSearchInput as h } from "@plumile/ui/backoffice/molecules/global_search_input/GlobalSearchInput.js";
|
|
6
|
-
import { SidebarTasksSvg as g } from "@plumile/ui/icons/SidebarTasksSvg
|
|
6
|
+
import { SidebarTasksSvg as g } from "@plumile/ui/icons/SidebarTasksSvg";
|
|
7
7
|
//#region src/components/backoffice/hub/BackofficeHubTemplate.tsx
|
|
8
8
|
var _ = /* @__PURE__ */ d(g, {
|
|
9
9
|
width: 20,
|
|
@@ -22,7 +22,7 @@ var _ = /* @__PURE__ */ d(g, {
|
|
|
22
22
|
children: [/* @__PURE__ */ f("div", {
|
|
23
23
|
className: r,
|
|
24
24
|
children: [e.icon != null && /* @__PURE__ */ d("span", {
|
|
25
|
-
className: "
|
|
25
|
+
className: "txvbqb5ml txvbqb2nn txvbqb8o1 txvbqbkzd txvbqb7u1 txvbqbn1 txvbqbab txvbqble txvbqbmx txvbqbiz txvbqbe7 txvbqb1cr txvbqbb75",
|
|
26
26
|
"aria-hidden": "true",
|
|
27
27
|
children: e.icon
|
|
28
28
|
}), /* @__PURE__ */ f("span", {
|
|
@@ -31,7 +31,7 @@ var _ = /* @__PURE__ */ d(g, {
|
|
|
31
31
|
className: a,
|
|
32
32
|
children: e.title
|
|
33
33
|
}), e.description != null && /* @__PURE__ */ d("span", {
|
|
34
|
-
className: "
|
|
34
|
+
className: "txvbqbe8 txvbqb6nj",
|
|
35
35
|
children: e.description
|
|
36
36
|
})]
|
|
37
37
|
})]
|
|
@@ -55,11 +55,11 @@ var _ = /* @__PURE__ */ d(g, {
|
|
|
55
55
|
children: e.label
|
|
56
56
|
}),
|
|
57
57
|
n && /* @__PURE__ */ d("span", {
|
|
58
|
-
className: "
|
|
58
|
+
className: "txvbqbe8 txvbqb6nj txvbqb1rn txvbqb206",
|
|
59
59
|
children: e.description
|
|
60
60
|
}),
|
|
61
61
|
r && /* @__PURE__ */ d("span", {
|
|
62
|
-
className: "
|
|
62
|
+
className: "txvbqbe8 txvbqb6n9 txvbqb1d4 txvbqb6a txvbqb1o1",
|
|
63
63
|
children: e.metaLabel
|
|
64
64
|
})
|
|
65
65
|
]
|
|
@@ -71,7 +71,7 @@ var _ = /* @__PURE__ */ d(g, {
|
|
|
71
71
|
}), /* @__PURE__ */ f("div", {
|
|
72
72
|
className: e,
|
|
73
73
|
children: [v != null && /* @__PURE__ */ d("div", {
|
|
74
|
-
className: "
|
|
74
|
+
className: "txvbqbd2d",
|
|
75
75
|
children: /* @__PURE__ */ d(h, {
|
|
76
76
|
value: v.value,
|
|
77
77
|
onChange: v.onChange,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BackofficeHubTemplate.js","names":[],"sources":["../../../../../src/components/backoffice/hub/BackofficeHubTemplate.tsx"],"sourcesContent":["import { type JSX, type ReactNode } from 'react';\nimport Link from '@plumile/router/routing/Link.js';\nimport { BackofficeEmptyState } from '@plumile/ui/backoffice/molecules/backoffice_empty_state/BackofficeEmptyState.js';\nimport { GlobalSearchInput } from '@plumile/ui/backoffice/molecules/global_search_input/GlobalSearchInput.js';\nimport { SidebarTasksSvg } from '@plumile/ui/icons/SidebarTasksSvg
|
|
1
|
+
{"version":3,"file":"BackofficeHubTemplate.js","names":[],"sources":["../../../../../src/components/backoffice/hub/BackofficeHubTemplate.tsx"],"sourcesContent":["import { type JSX, type ReactNode } from 'react';\nimport Link from '@plumile/router/routing/Link.js';\nimport { BackofficeEmptyState } from '@plumile/ui/backoffice/molecules/backoffice_empty_state/BackofficeEmptyState.js';\nimport { GlobalSearchInput } from '@plumile/ui/backoffice/molecules/global_search_input/GlobalSearchInput.js';\nimport { SidebarTasksSvg } from '@plumile/ui/icons/SidebarTasksSvg';\n\nimport * as styles from './backofficeHubTemplate.css.js';\n\nexport type BackofficeHubTemplateItemKind = 'entity' | 'tool';\n\nexport type BackofficeHubTemplateItem = {\n id: string;\n kind: BackofficeHubTemplateItemKind;\n label: string;\n href: string;\n icon?: ReactNode;\n description?: string | null;\n metaLabel?: string | null;\n};\n\nexport type BackofficeHubTemplateGroup = {\n id: string;\n title: string;\n description?: string | null;\n icon?: ReactNode;\n items: readonly BackofficeHubTemplateItem[];\n};\n\nexport type BackofficeHubTemplateEmptyState = {\n title: string;\n description: string;\n icon?: ReactNode;\n};\n\nexport type BackofficeHubTemplateSearch = {\n value: string;\n onChange: (value: string) => void;\n placeholder: string;\n};\n\nexport type BackofficeHubTemplateProps = {\n groups: readonly BackofficeHubTemplateGroup[];\n search?: BackofficeHubTemplateSearch;\n emptyState: BackofficeHubTemplateEmptyState;\n};\n\nconst fallbackIcon = (\n <SidebarTasksSvg width={20} height={20} aria-hidden=\"true\" />\n);\n\nexport const BackofficeHubTemplate = ({\n groups,\n search,\n emptyState,\n}: BackofficeHubTemplateProps): JSX.Element => {\n let body: JSX.Element;\n\n if (groups.length === 0) {\n body = (\n <BackofficeEmptyState\n title={emptyState.title}\n description={emptyState.description}\n icon={emptyState.icon ?? fallbackIcon}\n />\n );\n } else {\n body = (\n <div className={styles.groups}>\n {groups.map((group) => {\n return (\n <section key={group.id} className={styles.group}>\n <div className={styles.groupHeader}>\n {group.icon != null && (\n <span className={styles.groupIcon} aria-hidden=\"true\">\n {group.icon}\n </span>\n )}\n <span className={styles.groupHeading}>\n <h2 className={styles.groupTitle}>{group.title}</h2>\n {group.description != null && (\n <span className={styles.groupDescription}>\n {group.description}\n </span>\n )}\n </span>\n </div>\n <div className={styles.grid}>\n {group.items.map((item) => {\n const icon = item.icon ?? fallbackIcon;\n const hasDescription =\n item.description != null && item.description !== '';\n const hasMetaLabel =\n item.metaLabel != null && item.metaLabel !== '';\n\n return (\n <Link\n key={`${item.kind}-${item.id}`}\n to={item.href}\n className={styles.item}\n preloadOnHover=\"code-and-data\"\n >\n <span className={styles.itemIcon} aria-hidden=\"true\">\n {icon}\n </span>\n <span className={styles.itemContent}>\n <span className={styles.itemTitle}>{item.label}</span>\n {hasDescription && (\n <span className={styles.itemDescription}>\n {item.description}\n </span>\n )}\n {hasMetaLabel && (\n <span className={styles.itemMeta}>\n {item.metaLabel}\n </span>\n )}\n </span>\n </Link>\n );\n })}\n </div>\n </section>\n );\n })}\n </div>\n );\n }\n\n return (\n <div className={styles.content}>\n {search != null && (\n <div className={styles.search}>\n <GlobalSearchInput\n value={search.value}\n onChange={search.onChange}\n placeholder={search.placeholder}\n />\n </div>\n )}\n {body}\n </div>\n );\n};\n\nexport default BackofficeHubTemplate;\n"],"mappings":";;;;;;;AA8CA,IAAM,IACJ,kBAAC,GAAD;CAAiB,OAAO;CAAI,QAAQ;CAAI,eAAY;AAAQ,CAAA,GAGjD,KAAyB,EACpC,QAAA,GACA,QAAA,GACA,oBAC6C;CAC7C,IAAI;CAyEJ,OAvEA,AASE,IATE,EAAO,WAAW,IAElB,kBAAC,GAAD;EACE,OAAO,EAAW;EAClB,aAAa,EAAW;EACxB,MAAM,EAAW,QAAQ;CAC1B,CAAA,IAID,kBAAC,OAAD;EAAK,WAAW;EACb,UAAA,EAAO,KAAK,MAET,kBAAC,WAAD;GAAwB,WAAW;GAAnC,UAAA,CACE,kBAAC,OAAD;IAAK,WAAW;IAAhB,UAAA,CACG,EAAM,QAAQ,QACb,kBAAC,QAAD;KAAM,WAAW;KAAkB,eAAY;KAC5C,UAAA,EAAM;IACH,CAAA,GAER,kBAAC,QAAD;KAAM,WAAW;KAAjB,UAAA,CACE,kBAAC,MAAD;MAAI,WAAW;MAAoB,UAAA,EAAM;KAAU,CAAA,GAClD,EAAM,eAAe,QACpB,kBAAC,QAAD;MAAM,WAAW;MACd,UAAA,EAAM;KACH,CAAA,CAEJ;IACH,CAAA,CAAA;GACL,CAAA,GAAA,kBAAC,OAAD;IAAK,WAAW;IACb,UAAA,EAAM,MAAM,KAAK,MAAS;KACzB,IAAM,IAAO,EAAK,QAAQ,GACpB,IACJ,EAAK,eAAe,QAAQ,EAAK,gBAAgB,IAC7C,IACJ,EAAK,aAAa,QAAQ,EAAK,cAAc;KAE/C,OACE,kBAAC,GAAD;MAEE,IAAI,EAAK;MACT,WAAW;MACX,gBAAe;MAJjB,UAAA,CAME,kBAAC,QAAD;OAAM,WAAW;OAAiB,eAAY;OAC3C,UAAA;MACG,CAAA,GACN,kBAAC,QAAD;OAAM,WAAW;OAAjB,UAAA;QACE,kBAAC,QAAD;SAAM,WAAW;SAAmB,UAAA,EAAK;QAAY,CAAA;QACpD,KACC,kBAAC,QAAD;SAAM,WAAW;SACd,UAAA,EAAK;QACF,CAAA;QAEP,KACC,kBAAC,QAAD;SAAM,WAAW;SACd,UAAA,EAAK;QACF,CAAA;OAEJ;MACF,CAAA,CAAA;KArBC,GAAA,GAAG,EAAK,KAAK,GAAG,EAAK,IAqBtB;IAEV,CAAC;GACE,CAAA,CACE;EAnDK,GAAA,EAAM,EAmDX,CAEZ;CACE,CAAA,GAKP,kBAAC,OAAD;EAAK,WAAW;EAAhB,UAAA,CACG,KAAU,QACT,kBAAC,OAAD;GAAK,WAAW;GACd,UAAA,kBAAC,GAAD;IACE,OAAO,EAAO;IACd,UAAU,EAAO;IACjB,aAAa,EAAO;GACrB,CAAA;EACE,CAAA,GAEN,CACE;;AAET"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* empty css */
|
|
2
2
|
//#region src/components/backoffice/hub/backofficeHubTemplate.css.ts
|
|
3
|
-
var e = "
|
|
3
|
+
var e = "txvbqb5lr txvbqb6m5 txvbqb6sj", t = "txvbqbd2d", n = "txvbqb5lr txvbqb6m5 txvbqb6st", r = "txvbqb5lr txvbqb6m5 txvbqb6rz", i = "txvbqb5lr txvbqb2nd txvbqb6rz", a = "txvbqb5ml txvbqb2nn txvbqb8o1 txvbqbkzd txvbqb7u1 txvbqbn1 txvbqbab txvbqble txvbqbmx txvbqbiz txvbqbe7 txvbqb1cr txvbqbb75", o = "txvbqb5lr txvbqb6m5 txvbqb6rf txvbqbe1d", s = "txvbqb6o3 txvbqb1d5 txvbqbe6 txvbqb1rt", c = "txvbqbe8 txvbqb6nj", l = "txvbqb5m1 txvbqb7qz txvbqb6rz", u = "u4nszr0 txvbqb5lr txvbqb2nd txvbqb6rz txvbqbf5n txvbqbn1 txvbqble txvbqbmx txvbqbiz txvbqba9 txvbqbe6 txvbqb3f txvbqbe1d txvbqb7m txvbqb78 txvbqb7y qbwcue2", d = "txvbqb5ml txvbqb2nn txvbqb8o1 txvbqbkzn txvbqb7ub txvbqbn1 txvbqbab txvbqbe7 txvbqb1cr", f = "txvbqb5lr txvbqb6m5 txvbqb6rf txvbqbe1d", p = "txvbqb1d5 txvbqbe6 txvbqb206", m = "txvbqbe8 txvbqb6nj txvbqb1rn txvbqb206", h = "txvbqbe8 txvbqb6n9 txvbqb1d4 txvbqb6a txvbqb1o1";
|
|
4
4
|
//#endregion
|
|
5
5
|
export { e as content, l as grid, r as group, c as groupDescription, i as groupHeader, o as groupHeading, a as groupIcon, s as groupTitle, n as groups, u as item, f as itemContent, m as itemDescription, d as itemIcon, h as itemMeta, p as itemTitle, t as search };
|
|
6
6
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backofficeHubTemplate.css.js","names":[],"sources":["../../../../../src/components/backoffice/hub/backofficeHubTemplate.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\nimport {
|
|
1
|
+
{"version":3,"file":"backofficeHubTemplate.css.js","names":[],"sources":["../../../../../src/components/backoffice/hub/backofficeHubTemplate.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\nimport {\n sprinkles,\n reducedMotionDecorativeTransform,\n vars,\n} from '@plumile/ui/theme';\n\nexport const content = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 5,\n});\n\nexport const search = sprinkles({\n maxWidth: '2xl',\n});\n\nexport const groups = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 6,\n});\n\nexport const group = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 3,\n});\n\nexport const groupHeader = sprinkles({\n display: 'flex',\n alignItems: 'flex-start',\n gap: 3,\n});\n\nexport const groupIcon = sprinkles({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: 8,\n height: 8,\n borderRadius: 'md',\n backgroundColor: 'surfaceMuted',\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'borderSubtle',\n color: 'textSecondary',\n flexShrink: 0,\n marginTop: 'px',\n});\n\nexport const groupHeading = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 1,\n minWidth: 0,\n});\n\nexport const groupTitle = sprinkles({\n fontSize: 'lg',\n fontWeight: 'semibold',\n color: 'text',\n margin: 0,\n});\n\nexport const groupDescription = sprinkles({\n color: 'textMuted',\n fontSize: 'sm',\n});\n\nexport const grid = sprinkles({\n display: 'grid',\n gridTemplateColumns: 'autoFitMinmax260',\n gap: 3,\n});\n\nexport const item = style([\n sprinkles({\n display: 'flex',\n alignItems: 'flex-start',\n gap: 3,\n padding: 3,\n borderRadius: 'md',\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'borderSubtle',\n backgroundColor: 'surface',\n color: 'text',\n textDecoration: 'none',\n minWidth: 0,\n transitionProperty: 'default',\n transitionDuration: 150,\n transitionTimingFunction: 'ease',\n }),\n reducedMotionDecorativeTransform,\n {\n minHeight: '92px',\n selectors: {\n '&:hover': {\n borderColor: vars.colors.border,\n backgroundColor: vars.colors.surfaceMuted,\n transform: 'translateY(-1px)',\n },\n '&:focus-visible': {\n outline: `2px solid ${vars.colors.primary}`,\n outlineOffset: '2px',\n },\n },\n },\n]);\n\nexport const itemIcon = sprinkles({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: 9,\n height: 9,\n borderRadius: 'md',\n backgroundColor: 'surfaceMuted',\n color: 'textSecondary',\n flexShrink: 0,\n});\n\nexport const itemContent = sprinkles({\n display: 'flex',\n flexDirection: 'column',\n gap: 1,\n minWidth: 0,\n});\n\nexport const itemTitle = sprinkles({\n fontWeight: 'semibold',\n color: 'text',\n overflowWrap: 'anywhere',\n});\n\nexport const itemDescription = sprinkles({\n color: 'textMuted',\n fontSize: 'sm',\n lineHeight: 'normal',\n overflowWrap: 'anywhere',\n});\n\nexport const itemMeta = sprinkles({\n color: 'textMuted',\n fontSize: 'xs',\n fontWeight: 'medium',\n textTransform: 'uppercase',\n letterSpacing: 'wide',\n});\n"],"mappings":""}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* empty css */
|
|
2
2
|
//#region src/components/backoffice/layout/backofficeSidebarActions.css.ts
|
|
3
|
-
var e = "_1xws1b00
|
|
3
|
+
var e = "_1xws1b00 txvbqb5ml txvbqb2nn txvbqb8o1 txvbqbkyt txvbqb7th txvbqbk9 txvbqbmv txvbqbn1 txvbqb8n txvbqbv txvbqbf4t txvbqb7n txvbqb78 txvbqb7y";
|
|
4
4
|
//#endregion
|
|
5
5
|
export { e as actionButton };
|
|
6
6
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backofficeSidebarActions.css.js","names":[],"sources":["../../../../../src/components/backoffice/layout/backofficeSidebarActions.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\nimport { sprinkles
|
|
1
|
+
{"version":3,"file":"backofficeSidebarActions.css.js","names":[],"sources":["../../../../../src/components/backoffice/layout/backofficeSidebarActions.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\nimport { sprinkles, vars } from '@plumile/ui/theme';\n\nexport const actionButton = style([\n sprinkles({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: 6,\n height: 6,\n borderWidth: 0,\n borderStyle: 'none',\n borderRadius: 'md',\n backgroundColor: 'transparent',\n cursor: 'pointer',\n padding: 0,\n transitionProperty: 'colors',\n transitionDuration: 150,\n transitionTimingFunction: 'ease',\n }),\n {\n '@media': {\n '(forced-colors: active)': {\n selectors: {\n '&:focus-visible': {\n boxShadow: 'none',\n outline: '2px solid Highlight',\n outlineOffset: 2,\n },\n },\n },\n },\n color: vars.sidebar.actionColor,\n selectors: {\n '&:hover:not(:disabled)': {\n backgroundColor: vars.sidebar.actionHoverBackground,\n color: vars.sidebar.actionHoverColor,\n },\n '&:focus-visible': {\n boxShadow: vars.sidebar.actionFocusRing,\n outline: 'none',\n },\n '&:disabled': {\n cursor: 'not-allowed',\n opacity: 0.6,\n },\n },\n },\n]);\n"],"mappings":""}
|
|
@@ -5,7 +5,7 @@ import { BackofficeLinkLabel as r } from "../../links/BackofficeLinkLabel.js";
|
|
|
5
5
|
import { current as i, homeLabel as a, item as o, link as s, list as c, nav as l, separator as u } from "./backofficeTopbarBreadcrumb.css.js";
|
|
6
6
|
import { Fragment as d, jsx as f, jsxs as p } from "react/jsx-runtime";
|
|
7
7
|
import m from "@plumile/router/routing/Link.js";
|
|
8
|
-
import { SidebarHomeSvg as h } from "@plumile/ui/icons/SidebarHomeSvg
|
|
8
|
+
import { SidebarHomeSvg as h } from "@plumile/ui/icons/SidebarHomeSvg";
|
|
9
9
|
//#region src/components/backoffice/layout/breadcrumb/BackofficeTopbarBreadcrumb.tsx
|
|
10
10
|
var g = (e) => {
|
|
11
11
|
let { target: t } = e;
|
|
@@ -31,13 +31,13 @@ var g = (e) => {
|
|
|
31
31
|
children: [/* @__PURE__ */ p("li", {
|
|
32
32
|
className: o,
|
|
33
33
|
children: [x && /* @__PURE__ */ f("span", {
|
|
34
|
-
className: "_80s44h2 _80s44h1
|
|
34
|
+
className: "_80s44h2 _80s44h1 qbwcueu qbwcues txvbqb5ml txvbqb2nn txvbqb8o1 txvbqbk9 txvbqbmv txvbqbn1 txvbqb8n txvbqbe7 txvbqbv txvbqbf4t txvbqb7n txvbqb78 txvbqb7y qbwcuet txvbqbmcq txvbqbo82 qbwcuec txvbqbor4 txvbqboxk qbwcue5 qbwcue4 txvbqboz8 txvbqbptg qbwcue3 qbwcue18 qbwcue12 txvbqb1cr txvbqb1rk qbwcue1c qbwcue16 txvbqbkzd txvbqb7u1 txvbqbe3l txvbqbdc3 txvbqb3f txvbqbab txvbqbe6",
|
|
35
35
|
"aria-current": "page",
|
|
36
36
|
title: b,
|
|
37
37
|
children: w
|
|
38
38
|
}), !x && /* @__PURE__ */ f(m, {
|
|
39
39
|
to: y,
|
|
40
|
-
className: "_80s44h1
|
|
40
|
+
className: "_80s44h1 qbwcueu qbwcues txvbqb5ml txvbqb2nn txvbqb8o1 txvbqbk9 txvbqbmv txvbqbn1 txvbqb8n txvbqbe7 txvbqbv txvbqbf4t txvbqb7n txvbqb78 txvbqb7y qbwcuet txvbqbmcq txvbqbo82 qbwcuec txvbqbor4 txvbqboxk qbwcue5 qbwcue4 txvbqboz8 txvbqbptg qbwcue3 qbwcue18 qbwcue12 txvbqb1cr txvbqb1rk qbwcue1c qbwcue16 txvbqbkzd txvbqb7u1 txvbqbe3l txvbqbdc3 txvbqb3f",
|
|
41
41
|
"aria-label": b,
|
|
42
42
|
title: b,
|
|
43
43
|
preloadOnHover: "code-and-data",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BackofficeTopbarBreadcrumb.js","names":[],"sources":["../../../../../../src/components/backoffice/layout/breadcrumb/BackofficeTopbarBreadcrumb.tsx"],"sourcesContent":["import { type JSX } from 'react';\nimport Link from '@plumile/router/routing/Link.js';\nimport { SidebarHomeSvg } from '@plumile/ui/icons/SidebarHomeSvg
|
|
1
|
+
{"version":3,"file":"BackofficeTopbarBreadcrumb.js","names":[],"sources":["../../../../../../src/components/backoffice/layout/breadcrumb/BackofficeTopbarBreadcrumb.tsx"],"sourcesContent":["import { type JSX } from 'react';\nimport Link from '@plumile/router/routing/Link.js';\nimport { SidebarHomeSvg } from '@plumile/ui/icons/SidebarHomeSvg';\n\nimport { BackofficeLink } from '../../links/BackofficeLink.js';\nimport { BackofficeLinkLabel } from '../../links/BackofficeLinkLabel.js';\nimport { useBackofficeReactTranslation } from '../../../../i18n/useBackofficeReactTranslation.js';\nimport type { BackofficeTopbarBreadcrumbItem } from './types.js';\nimport { useBackofficeTopbarPortalContext } from './BackofficeTopbarPortalContext.js';\nimport * as styles from './backofficeTopbarBreadcrumb.css.js';\n\nexport type BackofficeTopbarBreadcrumbProps = {\n items: readonly BackofficeTopbarBreadcrumbItem[];\n};\n\nconst getBreadcrumbItemKey = (item: BackofficeTopbarBreadcrumbItem): string => {\n const { target } = item;\n if (target.kind === 'dashboard') {\n return `${item.kind}-dashboard`;\n }\n if (target.kind === 'entity-list') {\n return `${item.kind}-entity-list-${target.entityId}`;\n }\n if (target.kind === 'entity-detail') {\n return `${item.kind}-entity-detail-${target.entityId}-${target.id}`;\n }\n if (target.kind === 'entity-detail-page') {\n return `${item.kind}-entity-detail-page-${target.entityId}-${target.id}-${target.pageId}`;\n }\n if (target.kind === 'tool') {\n return `${item.kind}-tool-${target.toolId}`;\n }\n if (target.kind === 'hub') {\n return `${item.kind}-hub-${target.hubId}`;\n }\n return `${item.kind}-href-${target.href}`;\n};\n\nexport const BackofficeTopbarBreadcrumb = ({\n items,\n}: BackofficeTopbarBreadcrumbProps): JSX.Element => {\n const { t } = useBackofficeReactTranslation();\n const { dashboardHref, dashboardLabel } = useBackofficeTopbarPortalContext();\n let isDashboardCurrent = false;\n const [firstItem] = items;\n if (items.length === 1 && firstItem != null) {\n isDashboardCurrent =\n firstItem.target.kind === 'dashboard' && firstItem.kind === 'current';\n }\n let visibleItems: readonly BackofficeTopbarBreadcrumbItem[] = items;\n if (isDashboardCurrent) {\n visibleItems = [];\n }\n\n const homeContent = (\n <>\n <SidebarHomeSvg width={16} height={16} aria-hidden=\"true\" />\n <span className={styles.homeLabel}>{dashboardLabel}</span>\n </>\n );\n\n return (\n <nav className={styles.nav} aria-label={t('common.breadcrumb')}>\n <ol className={styles.list}>\n <li className={styles.item}>\n {isDashboardCurrent && (\n <span\n className={styles.homeCurrent}\n aria-current=\"page\"\n title={dashboardLabel}\n >\n {homeContent}\n </span>\n )}\n {!isDashboardCurrent && (\n <Link\n to={dashboardHref}\n className={styles.homeLink}\n aria-label={dashboardLabel}\n title={dashboardLabel}\n preloadOnHover=\"code-and-data\"\n >\n {homeContent}\n </Link>\n )}\n </li>\n {visibleItems.map((item, index) => {\n const isCurrent = item.kind === 'current';\n const key = getBreadcrumbItemKey(item);\n let icon: 'auto' | 'none' = 'none';\n if (index === 0) {\n icon = 'auto';\n }\n let content: JSX.Element;\n\n if (!isCurrent) {\n content = (\n <BackofficeLink\n target={item.target}\n label={item.label}\n className={styles.link}\n icon={icon}\n />\n );\n } else {\n content = (\n <BackofficeLinkLabel\n target={item.target}\n label={item.label}\n className={styles.current}\n icon={icon}\n />\n );\n }\n\n return (\n <li key={key} className={styles.item}>\n <span className={styles.separator} aria-hidden=\"true\">\n /\n </span>\n {content}\n </li>\n );\n })}\n </ol>\n </nav>\n );\n};\n\nexport default BackofficeTopbarBreadcrumb;\n"],"mappings":";;;;;;;;;AAeA,IAAM,KAAwB,MAAiD;CAC7E,IAAM,EAAE,cAAW;CAmBnB,OAlBI,EAAO,SAAS,cACX,GAAG,EAAK,KAAK,cAElB,EAAO,SAAS,gBACX,GAAG,EAAK,KAAK,eAAe,EAAO,aAExC,EAAO,SAAS,kBACX,GAAG,EAAK,KAAK,iBAAiB,EAAO,SAAS,GAAG,EAAO,OAE7D,EAAO,SAAS,uBACX,GAAG,EAAK,KAAK,sBAAsB,EAAO,SAAS,GAAG,EAAO,GAAG,GAAG,EAAO,WAE/E,EAAO,SAAS,SACX,GAAG,EAAK,KAAK,QAAQ,EAAO,WAEjC,EAAO,SAAS,QACX,GAAG,EAAK,KAAK,OAAO,EAAO,UAE7B,GAAG,EAAK,KAAK,QAAQ,EAAO;AACrC,GAEa,KAA8B,EACzC,eACkD;CAClD,IAAM,EAAE,SAAM,EAA8B,GACtC,EAAE,kBAAe,sBAAmB,EAAiC,GACvE,IAAqB,IACnB,CAAC,KAAa;CACpB,AAAI,EAAM,WAAW,KAAK,KAAa,SACrC,IACE,EAAU,OAAO,SAAS,eAAe,EAAU,SAAS;CAEhE,IAAI,IAA0D;CAC9D,AAAI,MACF,IAAe,CAAC;CAGlB,IAAM,IACJ,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;EAAgB,OAAO;EAAI,QAAQ;EAAI,eAAY;CAAQ,CAAA,GAC3D,kBAAC,QAAD;EAAM,WAAW;EAAmB,UAAA;CAAqB,CAAA,CACzD,EAAA,CAAA;CAGJ,OACE,kBAAC,OAAD;EAAK,WAAW;EAAY,cAAY,EAAE,mBAAmB;EAC3D,UAAA,kBAAC,MAAD;GAAI,WAAW;GAAf,UAAA,CACE,kBAAC,MAAD;IAAI,WAAW;IAAf,UAAA,CACG,KACC,kBAAC,QAAD;KACE,WAAW;KACX,gBAAa;KACb,OAAO;KAEN,UAAA;IACG,CAAA,GAEP,CAAC,KACA,kBAAC,GAAD;KACE,IAAI;KACJ,WAAW;KACX,cAAY;KACZ,OAAO;KACP,gBAAe;KAEd,UAAA;IACG,CAAA,CAEN;GACH,CAAA,GAAA,EAAa,KAAK,GAAM,MAAU;IACjC,IAAM,IAAY,EAAK,SAAS,WAC1B,IAAM,EAAqB,CAAI,GACjC,IAAwB;IAC5B,AAAI,MAAU,MACZ,IAAO;IAET,IAAI;IAsBJ,OApBA,AACE,IADG,IAWD,kBAAC,GAAD;KACE,QAAQ,EAAK;KACb,OAAO,EAAK;KACZ,WAAW;KACL;IACP,CAAA,IAdD,kBAAC,GAAD;KACE,QAAQ,EAAK;KACb,OAAO,EAAK;KACZ,WAAW;KACL;IACP,CAAA,GAcH,kBAAC,MAAD;KAAc,WAAW;KAAzB,UAAA,CACE,kBAAC,QAAD;MAAM,WAAW;MAAkB,eAAY;MAAO,UAAA;KAEhD,CAAA,GACL,CACC;IALK,GAAA,CAKL;GAER,CAAC,CACC;;CACD,CAAA;AAET"}
|