@camunda/ccma-saas-frontend 0.0.31
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 +40 -0
- package/lib/esm/components/c4-actionable-notification/c4-actionable-notification.d.ts +3 -0
- package/lib/esm/components/c4-actionable-notification/c4-actionable-notification.js +25 -0
- package/lib/esm/components/c4-actionable-notification/c4-actionable-notification.types.d.ts +9 -0
- package/lib/esm/components/c4-actionable-notification/c4-actionable-notification.types.js +6 -0
- package/lib/esm/components/c4-activity-graph/c4-activity-graph.d.ts +3 -0
- package/lib/esm/components/c4-activity-graph/c4-activity-graph.js +135 -0
- package/lib/esm/components/c4-activity-graph/c4-activity-graph.types.d.ts +13 -0
- package/lib/esm/components/c4-activity-graph/c4-activity-graph.types.js +6 -0
- package/lib/esm/components/c4-advanced-search-filters/ArrayFieldContainer.d.ts +16 -0
- package/lib/esm/components/c4-advanced-search-filters/ArrayFieldContainer.js +39 -0
- package/lib/esm/components/c4-advanced-search-filters/AutosuggestInput.d.ts +16 -0
- package/lib/esm/components/c4-advanced-search-filters/AutosuggestInput.js +147 -0
- package/lib/esm/components/c4-advanced-search-filters/FieldRow.d.ts +14 -0
- package/lib/esm/components/c4-advanced-search-filters/FieldRow.js +133 -0
- package/lib/esm/components/c4-advanced-search-filters/FiltersSection.d.ts +13 -0
- package/lib/esm/components/c4-advanced-search-filters/FiltersSection.js +63 -0
- package/lib/esm/components/c4-advanced-search-filters/OrSection.d.ts +16 -0
- package/lib/esm/components/c4-advanced-search-filters/OrSection.js +116 -0
- package/lib/esm/components/c4-advanced-search-filters/c4-advanced-search-filters.d.ts +3 -0
- package/lib/esm/components/c4-advanced-search-filters/c4-advanced-search-filters.js +406 -0
- package/lib/esm/components/c4-advanced-search-filters/c4-advanced-search-filters.types.d.ts +32 -0
- package/lib/esm/components/c4-advanced-search-filters/c4-advanced-search-filters.types.js +6 -0
- package/lib/esm/components/c4-advanced-search-filters/state.types.d.ts +14 -0
- package/lib/esm/components/c4-advanced-search-filters/state.types.js +6 -0
- package/lib/esm/components/c4-advanced-search-filters/utils.d.ts +5 -0
- package/lib/esm/components/c4-advanced-search-filters/utils.js +58 -0
- package/lib/esm/components/c4-ai-usage/c4-ai-usage.d.ts +3 -0
- package/lib/esm/components/c4-ai-usage/c4-ai-usage.js +38 -0
- package/lib/esm/components/c4-ai-usage/c4-ai-usage.types.d.ts +59 -0
- package/lib/esm/components/c4-ai-usage/c4-ai-usage.types.js +6 -0
- package/lib/esm/components/c4-alpha-cluster-at-checkout/c4-alpha-cluster-at-checkout.d.ts +3 -0
- package/lib/esm/components/c4-alpha-cluster-at-checkout/c4-alpha-cluster-at-checkout.js +8 -0
- package/lib/esm/components/c4-alpha-cluster-at-checkout/c4-alpha-cluster-at-checkout.types.d.ts +12 -0
- package/lib/esm/components/c4-alpha-cluster-at-checkout/c4-alpha-cluster-at-checkout.types.js +6 -0
- package/lib/esm/components/c4-app-teaser-card/c4-app-teaster-card.d.ts +3 -0
- package/lib/esm/components/c4-app-teaser-card/c4-app-teaster-card.js +20 -0
- package/lib/esm/components/c4-app-teaser-card/c4-app-teaster-card.types.d.ts +12 -0
- package/lib/esm/components/c4-app-teaser-card/c4-app-teaster-card.types.js +6 -0
- package/lib/esm/components/c4-app-teaser-cards/c4-app-teaser-cards.d.ts +2 -0
- package/lib/esm/components/c4-app-teaser-cards/c4-app-teaser-cards.js +22 -0
- package/lib/esm/components/c4-app-teaser-cards/c4-app-teaser-cards.types.d.ts +13 -0
- package/lib/esm/components/c4-app-teaser-cards/c4-app-teaser-cards.types.js +6 -0
- package/lib/esm/components/c4-async-modal/c4-async-modal.d.ts +3 -0
- package/lib/esm/components/c4-async-modal/c4-async-modal.js +68 -0
- package/lib/esm/components/c4-async-modal/c4-async-modal.types.d.ts +28 -0
- package/lib/esm/components/c4-async-modal/c4-async-modal.types.js +6 -0
- package/lib/esm/components/c4-audit-log/c4-audit-log.d.ts +3 -0
- package/lib/esm/components/c4-audit-log/c4-audit-log.js +147 -0
- package/lib/esm/components/c4-audit-log/c4-audit-log.types.d.ts +13 -0
- package/lib/esm/components/c4-audit-log/c4-audit-log.types.js +6 -0
- package/lib/esm/components/c4-billing-page/c4-billing-page.d.ts +10 -0
- package/lib/esm/components/c4-billing-page/c4-billing-page.js +39 -0
- package/lib/esm/components/c4-billing-page/c4-billing-page.types.d.ts +13 -0
- package/lib/esm/components/c4-billing-page/c4-billing-page.types.js +6 -0
- package/lib/esm/components/c4-billing-page/custom-styles.d.ts +13 -0
- package/lib/esm/components/c4-billing-page/custom-styles.js +18 -0
- package/lib/esm/components/c4-billing-page/elements/cluster-reservations.d.ts +29 -0
- package/lib/esm/components/c4-billing-page/elements/cluster-reservations.js +32 -0
- package/lib/esm/components/c4-billing-page/elements/current-usage-metrics.d.ts +16 -0
- package/lib/esm/components/c4-billing-page/elements/current-usage-metrics.js +62 -0
- package/lib/esm/components/c4-billing-page/elements/plan-details.d.ts +20 -0
- package/lib/esm/components/c4-billing-page/elements/plan-details.js +16 -0
- package/lib/esm/components/c4-billing-page/elements/usage-alerts.d.ts +30 -0
- package/lib/esm/components/c4-billing-page/elements/usage-alerts.js +18 -0
- package/lib/esm/components/c4-billing-page/elements/value-metric.d.ts +28 -0
- package/lib/esm/components/c4-billing-page/elements/value-metric.js +116 -0
- package/lib/esm/components/c4-bottom-links/c4-bottom-links.d.ts +3 -0
- package/lib/esm/components/c4-bottom-links/c4-bottom-links.js +9 -0
- package/lib/esm/components/c4-bottom-links/c4-bottom-links.types.d.ts +4 -0
- package/lib/esm/components/c4-bottom-links/c4-bottom-links.types.js +6 -0
- package/lib/esm/components/c4-breadcrumb/c4-breadcrumb.d.ts +3 -0
- package/lib/esm/components/c4-breadcrumb/c4-breadcrumb.js +33 -0
- package/lib/esm/components/c4-breadcrumb/c4-breadcrumb.types.d.ts +22 -0
- package/lib/esm/components/c4-breadcrumb/c4-breadcrumb.types.js +6 -0
- package/lib/esm/components/c4-charts-dashboard/c4-charts-dashboard.d.ts +3 -0
- package/lib/esm/components/c4-charts-dashboard/c4-charts-dashboard.js +56 -0
- package/lib/esm/components/c4-charts-dashboard/c4-charts-dashboard.types.d.ts +83 -0
- package/lib/esm/components/c4-charts-dashboard/c4-charts-dashboard.types.js +6 -0
- package/lib/esm/components/c4-charts-dashboard/elements/alluvial-chart.d.ts +6 -0
- package/lib/esm/components/c4-charts-dashboard/elements/alluvial-chart.js +87 -0
- package/lib/esm/components/c4-charts-dashboard/elements/bar-chart.d.ts +7 -0
- package/lib/esm/components/c4-charts-dashboard/elements/bar-chart.js +37 -0
- package/lib/esm/components/c4-charts-dashboard/elements/line-chart.d.ts +7 -0
- package/lib/esm/components/c4-charts-dashboard/elements/line-chart.js +35 -0
- package/lib/esm/components/c4-cluster-byom-clients/c4-cluster-byom-clients.d.ts +3 -0
- package/lib/esm/components/c4-cluster-byom-clients/c4-cluster-byom-clients.js +133 -0
- package/lib/esm/components/c4-cluster-byom-clients/c4-cluster-byom-clients.types.d.ts +43 -0
- package/lib/esm/components/c4-cluster-byom-clients/c4-cluster-byom-clients.types.js +6 -0
- package/lib/esm/components/c4-cluster-client-credentials/c4-cluster-client-credentials.d.ts +4 -0
- package/lib/esm/components/c4-cluster-client-credentials/c4-cluster-client-credentials.js +58 -0
- package/lib/esm/components/c4-cluster-client-credentials/c4-cluster-client-credentials.types.d.ts +39 -0
- package/lib/esm/components/c4-cluster-client-credentials/c4-cluster-client-credentials.types.js +6 -0
- package/lib/esm/components/c4-cluster-client-credentials-identity/c4-cluster-client-credentials-identity.d.ts +4 -0
- package/lib/esm/components/c4-cluster-client-credentials-identity/c4-cluster-client-credentials-identity.js +64 -0
- package/lib/esm/components/c4-cluster-client-credentials-identity/c4-cluster-client-credentials-identity.types.d.ts +45 -0
- package/lib/esm/components/c4-cluster-client-credentials-identity/c4-cluster-client-credentials-identity.types.js +6 -0
- package/lib/esm/components/c4-cluster-details-activity/c4-cluster-details-activity.d.ts +3 -0
- package/lib/esm/components/c4-cluster-details-activity/c4-cluster-details-activity.js +46 -0
- package/lib/esm/components/c4-cluster-details-activity/c4-cluster-details-activity.types.d.ts +24 -0
- package/lib/esm/components/c4-cluster-details-activity/c4-cluster-details-activity.types.js +6 -0
- package/lib/esm/components/c4-cluster-details-alerts/c4-cluster-details-alerts.d.ts +3 -0
- package/lib/esm/components/c4-cluster-details-alerts/c4-cluster-details-alerts.js +124 -0
- package/lib/esm/components/c4-cluster-details-alerts/c4-cluster-details-alerts.types.d.ts +51 -0
- package/lib/esm/components/c4-cluster-details-alerts/c4-cluster-details-alerts.types.js +6 -0
- package/lib/esm/components/c4-cluster-details-clients/c4-cluster-details-clients.d.ts +3 -0
- package/lib/esm/components/c4-cluster-details-clients/c4-cluster-details-clients.js +206 -0
- package/lib/esm/components/c4-cluster-details-clients/c4-cluster-details-clients.types.d.ts +58 -0
- package/lib/esm/components/c4-cluster-details-clients/c4-cluster-details-clients.types.js +6 -0
- package/lib/esm/components/c4-cluster-details-connector-secrets/c4-cluster-details-connector-secrets.d.ts +3 -0
- package/lib/esm/components/c4-cluster-details-connector-secrets/c4-cluster-details-connector-secrets.js +192 -0
- package/lib/esm/components/c4-cluster-details-connector-secrets/c4-cluster-details-connector-secrets.types.d.ts +53 -0
- package/lib/esm/components/c4-cluster-details-connector-secrets/c4-cluster-details-connector-secrets.types.js +6 -0
- package/lib/esm/components/c4-cluster-details-encryption/c4-cluster-details-encryption.d.ts +3 -0
- package/lib/esm/components/c4-cluster-details-encryption/c4-cluster-details-encryption.js +104 -0
- package/lib/esm/components/c4-cluster-details-encryption/c4-cluster-details-encryption.types.d.ts +76 -0
- package/lib/esm/components/c4-cluster-details-encryption/c4-cluster-details-encryption.types.js +6 -0
- package/lib/esm/components/c4-cluster-details-hot-backups/c4-cluster-details-hot-backups.d.ts +3 -0
- package/lib/esm/components/c4-cluster-details-hot-backups/c4-cluster-details-hot-backups.js +222 -0
- package/lib/esm/components/c4-cluster-details-hot-backups/c4-cluster-details-hot-backups.types.d.ts +89 -0
- package/lib/esm/components/c4-cluster-details-hot-backups/c4-cluster-details-hot-backups.types.js +6 -0
- package/lib/esm/components/c4-cluster-details-ip-whitelist/c4-cluster-details-ip-whitelist.d.ts +3 -0
- package/lib/esm/components/c4-cluster-details-ip-whitelist/c4-cluster-details-ip-whitelist.js +93 -0
- package/lib/esm/components/c4-cluster-details-ip-whitelist/c4-cluster-details-ip-whitelist.types.d.ts +36 -0
- package/lib/esm/components/c4-cluster-details-ip-whitelist/c4-cluster-details-ip-whitelist.types.js +6 -0
- package/lib/esm/components/c4-cluster-details-secure-connectivity/c4-cluster-details-secure-connectivity.d.ts +3 -0
- package/lib/esm/components/c4-cluster-details-secure-connectivity/c4-cluster-details-secure-connectivity.js +174 -0
- package/lib/esm/components/c4-cluster-details-secure-connectivity/c4-cluster-details-secure-connectivity.types.d.ts +118 -0
- package/lib/esm/components/c4-cluster-details-secure-connectivity/c4-cluster-details-secure-connectivity.types.js +6 -0
- package/lib/esm/components/c4-cluster-list/c4-cluster-list.d.ts +3 -0
- package/lib/esm/components/c4-cluster-list/c4-cluster-list.js +220 -0
- package/lib/esm/components/c4-cluster-list/c4-cluster-list.types.d.ts +75 -0
- package/lib/esm/components/c4-cluster-list/c4-cluster-list.types.js +6 -0
- package/lib/esm/components/c4-cluster-overview/applications.d.ts +47 -0
- package/lib/esm/components/c4-cluster-overview/applications.js +132 -0
- package/lib/esm/components/c4-cluster-overview/c4-cluster-overview.d.ts +20 -0
- package/lib/esm/components/c4-cluster-overview/c4-cluster-overview.js +101 -0
- package/lib/esm/components/c4-cluster-overview/c4-cluster-overview.types.d.ts +22 -0
- package/lib/esm/components/c4-cluster-overview/c4-cluster-overview.types.js +6 -0
- package/lib/esm/components/c4-cluster-overview/cluster-details.d.ts +116 -0
- package/lib/esm/components/c4-cluster-overview/cluster-details.js +170 -0
- package/lib/esm/components/c4-cluster-overview/cluster-load.d.ts +35 -0
- package/lib/esm/components/c4-cluster-overview/cluster-load.formatNumber.test.d.ts +1 -0
- package/lib/esm/components/c4-cluster-overview/cluster-load.formatNumber.test.js +38 -0
- package/lib/esm/components/c4-cluster-overview/cluster-load.js +334 -0
- package/lib/esm/components/c4-cluster-settings/c4-cluster-settings.d.ts +3 -0
- package/lib/esm/components/c4-cluster-settings/c4-cluster-settings.js +17 -0
- package/lib/esm/components/c4-cluster-settings/c4-cluster-settings.types.d.ts +12 -0
- package/lib/esm/components/c4-cluster-settings/c4-cluster-settings.types.js +6 -0
- package/lib/esm/components/c4-cluster-settings/elements/autoUpdate.d.ts +14 -0
- package/lib/esm/components/c4-cluster-settings/elements/autoUpdate.js +12 -0
- package/lib/esm/components/c4-cluster-settings/elements/business-id-uniqueness-toggle.d.ts +14 -0
- package/lib/esm/components/c4-cluster-settings/elements/business-id-uniqueness-toggle.js +12 -0
- package/lib/esm/components/c4-cluster-settings/elements/cluster-settings.d.ts +23 -0
- package/lib/esm/components/c4-cluster-settings/elements/cluster-settings.js +34 -0
- package/lib/esm/components/c4-cluster-settings/elements/danger-zone.d.ts +16 -0
- package/lib/esm/components/c4-cluster-settings/elements/danger-zone.js +12 -0
- package/lib/esm/components/c4-cluster-settings/elements/enforce-groups.d.ts +14 -0
- package/lib/esm/components/c4-cluster-settings/elements/enforce-groups.js +12 -0
- package/lib/esm/components/c4-cluster-settings/elements/identity-based-authorizations.d.ts +13 -0
- package/lib/esm/components/c4-cluster-settings/elements/identity-based-authorizations.js +12 -0
- package/lib/esm/components/c4-cluster-settings/elements/low-latency-toggle.d.ts +14 -0
- package/lib/esm/components/c4-cluster-settings/elements/low-latency-toggle.js +12 -0
- package/lib/esm/components/c4-cluster-settings/elements/mcp-toggle.d.ts +14 -0
- package/lib/esm/components/c4-cluster-settings/elements/mcp-toggle.js +12 -0
- package/lib/esm/components/c4-cluster-settings/elements/multi-tenancy.d.ts +13 -0
- package/lib/esm/components/c4-cluster-settings/elements/multi-tenancy.js +15 -0
- package/lib/esm/components/c4-cluster-settings/elements/resource-based-authorizations.d.ts +27 -0
- package/lib/esm/components/c4-cluster-settings/elements/resource-based-authorizations.js +20 -0
- package/lib/esm/components/c4-cluster-settings/elements/settings-tile.d.ts +7 -0
- package/lib/esm/components/c4-cluster-settings/elements/settings-tile.js +12 -0
- package/lib/esm/components/c4-cluster-settings/elements/swagger-toggle.d.ts +14 -0
- package/lib/esm/components/c4-cluster-settings/elements/swagger-toggle.js +12 -0
- package/lib/esm/components/c4-cluster-settings/elements/tasklist-mode-settings.d.ts +5 -0
- package/lib/esm/components/c4-cluster-settings/elements/tasklist-mode-settings.js +7 -0
- package/lib/esm/components/c4-cluster-settings/elements/tasklist-mode-toggle.d.ts +13 -0
- package/lib/esm/components/c4-cluster-settings/elements/tasklist-mode-toggle.js +13 -0
- package/lib/esm/components/c4-cluster-tag-selector/c4-cluster-tag-selector.d.ts +3 -0
- package/lib/esm/components/c4-cluster-tag-selector/c4-cluster-tag-selector.js +64 -0
- package/lib/esm/components/c4-cluster-tag-selector/c4-cluster-tag-selector.types.d.ts +15 -0
- package/lib/esm/components/c4-cluster-tag-selector/c4-cluster-tag-selector.types.js +6 -0
- package/lib/esm/components/c4-clusters-empty-state/c4-clusters-empty-state.d.ts +3 -0
- package/lib/esm/components/c4-clusters-empty-state/c4-clusters-empty-state.js +44 -0
- package/lib/esm/components/c4-clusters-empty-state/c4-clusters-empty-state.types.d.ts +25 -0
- package/lib/esm/components/c4-clusters-empty-state/c4-clusters-empty-state.types.js +6 -0
- package/lib/esm/components/c4-clusters-trial-notification/c4-clusters-trial-notification.d.ts +3 -0
- package/lib/esm/components/c4-clusters-trial-notification/c4-clusters-trial-notification.js +15 -0
- package/lib/esm/components/c4-clusters-trial-notification/c4-clusters-trial-notification.types.d.ts +6 -0
- package/lib/esm/components/c4-clusters-trial-notification/c4-clusters-trial-notification.types.js +6 -0
- package/lib/esm/components/c4-console-dashboard/c4-console-dashboard.d.ts +3 -0
- package/lib/esm/components/c4-console-dashboard/c4-console-dashboard.js +216 -0
- package/lib/esm/components/c4-console-dashboard/c4-console-dashboard.types.d.ts +130 -0
- package/lib/esm/components/c4-console-dashboard/c4-console-dashboard.types.js +6 -0
- package/lib/esm/components/c4-console-dashboard/elements/empty-state.d.ts +13 -0
- package/lib/esm/components/c4-console-dashboard/elements/empty-state.js +21 -0
- package/lib/esm/components/c4-convert-trial-organization-modal/c4-convert-trial-organization-modal.d.ts +3 -0
- package/lib/esm/components/c4-convert-trial-organization-modal/c4-convert-trial-organization-modal.js +66 -0
- package/lib/esm/components/c4-convert-trial-organization-modal/c4-convert-trial-organization-modal.types.d.ts +12 -0
- package/lib/esm/components/c4-convert-trial-organization-modal/c4-convert-trial-organization-modal.types.js +6 -0
- package/lib/esm/components/c4-create-cluster/c4-create-cluster.d.ts +3 -0
- package/lib/esm/components/c4-create-cluster/c4-create-cluster.js +508 -0
- package/lib/esm/components/c4-create-cluster/c4-create-cluster.types.d.ts +209 -0
- package/lib/esm/components/c4-create-cluster/c4-create-cluster.types.js +6 -0
- package/lib/esm/components/c4-create-cluster-api-client-modal/c4-create-cluster-api-client-modal.d.ts +2 -0
- package/lib/esm/components/c4-create-cluster-api-client-modal/c4-create-cluster-api-client-modal.js +182 -0
- package/lib/esm/components/c4-create-cluster-api-client-modal/c4-create-cluster-api-client-modal.types.d.ts +26 -0
- package/lib/esm/components/c4-create-cluster-api-client-modal/c4-create-cluster-api-client-modal.types.js +6 -0
- package/lib/esm/components/c4-create-connector-secret-modal/c4-create-connector-secret-modal.d.ts +2 -0
- package/lib/esm/components/c4-create-connector-secret-modal/c4-create-connector-secret-modal.js +96 -0
- package/lib/esm/components/c4-create-connector-secret-modal/c4-create-connector-secret-modal.types.d.ts +18 -0
- package/lib/esm/components/c4-create-connector-secret-modal/c4-create-connector-secret-modal.types.js +6 -0
- package/lib/esm/components/c4-create-console-api-client-modal/c4-create-console-api-client-modal.d.ts +2 -0
- package/lib/esm/components/c4-create-console-api-client-modal/c4-create-console-api-client-modal.js +352 -0
- package/lib/esm/components/c4-create-console-api-client-modal/c4-create-console-api-client-modal.types.d.ts +20 -0
- package/lib/esm/components/c4-create-console-api-client-modal/c4-create-console-api-client-modal.types.js +6 -0
- package/lib/esm/components/c4-create-trial-organization-modal/c4-create-trial-organization-modal.d.ts +3 -0
- package/lib/esm/components/c4-create-trial-organization-modal/c4-create-trial-organization-modal.js +52 -0
- package/lib/esm/components/c4-create-trial-organization-modal/c4-create-trial-organization-modal.types.d.ts +19 -0
- package/lib/esm/components/c4-create-trial-organization-modal/c4-create-trial-organization-modal.types.js +6 -0
- package/lib/esm/components/c4-dashboard-first-launch/c4-dashboard-first-launch.d.ts +3 -0
- package/lib/esm/components/c4-dashboard-first-launch/c4-dashboard-first-launch.js +9 -0
- package/lib/esm/components/c4-dashboard-first-launch/c4-dashboard-first-launch.types.d.ts +6 -0
- package/lib/esm/components/c4-dashboard-first-launch/c4-dashboard-first-launch.types.js +6 -0
- package/lib/esm/components/c4-divider/c4-divider.d.ts +2 -0
- package/lib/esm/components/c4-divider/c4-divider.js +11 -0
- package/lib/esm/components/c4-divider/c4-divider.types.d.ts +3 -0
- package/lib/esm/components/c4-divider/c4-divider.types.js +6 -0
- package/lib/esm/components/c4-external-link/c4-external-link.d.ts +3 -0
- package/lib/esm/components/c4-external-link/c4-external-link.js +10 -0
- package/lib/esm/components/c4-external-link/c4-external-link.types.d.ts +9 -0
- package/lib/esm/components/c4-external-link/c4-external-link.types.js +6 -0
- package/lib/esm/components/c4-info-tooltip/c4-info-tooltip.d.ts +3 -0
- package/lib/esm/components/c4-info-tooltip/c4-info-tooltip.js +18 -0
- package/lib/esm/components/c4-info-tooltip/c4-info-tooltip.types.d.ts +6 -0
- package/lib/esm/components/c4-info-tooltip/c4-info-tooltip.types.js +6 -0
- package/lib/esm/components/c4-invite-user-to-organization-modal/c4-invite-user-to-organization-modal.d.ts +2 -0
- package/lib/esm/components/c4-invite-user-to-organization-modal/c4-invite-user-to-organization-modal.js +187 -0
- package/lib/esm/components/c4-invite-user-to-organization-modal/c4-invite-user-to-organization-modal.types.d.ts +22 -0
- package/lib/esm/components/c4-invite-user-to-organization-modal/c4-invite-user-to-organization-modal.types.js +6 -0
- package/lib/esm/components/c4-job-dashboard-details-page/c4-job-dashboard-details-page.d.ts +8 -0
- package/lib/esm/components/c4-job-dashboard-details-page/c4-job-dashboard-details-page.js +46 -0
- package/lib/esm/components/c4-job-dashboard-details-page/c4-job-dashboard-details-page.types.d.ts +101 -0
- package/lib/esm/components/c4-job-dashboard-details-page/c4-job-dashboard-details-page.types.js +6 -0
- package/lib/esm/components/c4-job-dashboard-details-page/elements/c4-job-dashboard-chart-heading.d.ts +7 -0
- package/lib/esm/components/c4-job-dashboard-details-page/elements/c4-job-dashboard-chart-heading.js +18 -0
- package/lib/esm/components/c4-job-dashboard-details-page/elements/c4-job-dashboard-error-table.d.ts +12 -0
- package/lib/esm/components/c4-job-dashboard-details-page/elements/c4-job-dashboard-error-table.js +65 -0
- package/lib/esm/components/c4-job-dashboard-details-page/elements/c4-job-dashboard-piechart.d.ts +13 -0
- package/lib/esm/components/c4-job-dashboard-details-page/elements/c4-job-dashboard-piechart.js +74 -0
- package/lib/esm/components/c4-job-dashboard-details-page/elements/c4-job-dashboard-time-chart.d.ts +16 -0
- package/lib/esm/components/c4-job-dashboard-details-page/elements/c4-job-dashboard-time-chart.js +81 -0
- package/lib/esm/components/c4-job-dashboard-details-page/elements/c4-job-dashboard-worker-table.d.ts +13 -0
- package/lib/esm/components/c4-job-dashboard-details-page/elements/c4-job-dashboard-worker-table.js +45 -0
- package/lib/esm/components/c4-job-dashboard-entry-point/c4-job-dashboard-entry-point.d.ts +4 -0
- package/lib/esm/components/c4-job-dashboard-entry-point/c4-job-dashboard-entry-point.js +40 -0
- package/lib/esm/components/c4-job-dashboard-entry-point/c4-job-dashboard-entry-point.types.d.ts +23 -0
- package/lib/esm/components/c4-job-dashboard-entry-point/c4-job-dashboard-entry-point.types.js +6 -0
- package/lib/esm/components/c4-job-dashboard-overview-page/c4-job-dashboard-overview.d.ts +3 -0
- package/lib/esm/components/c4-job-dashboard-overview-page/c4-job-dashboard-overview.js +88 -0
- package/lib/esm/components/c4-job-dashboard-overview-page/c4-job-dashboard-overview.types.d.ts +44 -0
- package/lib/esm/components/c4-job-dashboard-overview-page/c4-job-dashboard-overview.types.js +6 -0
- package/lib/esm/components/c4-job-dashboard-shared/c4-background-fetching-indicator.d.ts +8 -0
- package/lib/esm/components/c4-job-dashboard-shared/c4-background-fetching-indicator.js +10 -0
- package/lib/esm/components/c4-job-dashboard-shared/c4-job-dashboard-error-handler.d.ts +30 -0
- package/lib/esm/components/c4-job-dashboard-shared/c4-job-dashboard-error-handler.js +51 -0
- package/lib/esm/components/c4-job-dashboard-shared/c4-job-dashboard-shared.types.d.ts +23 -0
- package/lib/esm/components/c4-job-dashboard-shared/c4-job-dashboard-shared.types.js +6 -0
- package/lib/esm/components/c4-job-dashboard-shared/c4-job-dashboard-time-range-dropdown.d.ts +17 -0
- package/lib/esm/components/c4-job-dashboard-shared/c4-job-dashboard-time-range-dropdown.js +47 -0
- package/lib/esm/components/c4-job-dashboard-shared/c4-stories-data-generator.d.ts +4 -0
- package/lib/esm/components/c4-job-dashboard-shared/c4-stories-data-generator.js +30 -0
- package/lib/esm/components/c4-job-dashboard-shared/c4-timestamp-information.d.ts +6 -0
- package/lib/esm/components/c4-job-dashboard-shared/c4-timestamp-information.js +14 -0
- package/lib/esm/components/c4-leave-organization-modal/c4-leave-organization-modal.d.ts +3 -0
- package/lib/esm/components/c4-leave-organization-modal/c4-leave-organization-modal.js +25 -0
- package/lib/esm/components/c4-leave-organization-modal/c4-leave-organization-modal.types.d.ts +7 -0
- package/lib/esm/components/c4-leave-organization-modal/c4-leave-organization-modal.types.js +6 -0
- package/lib/esm/components/c4-link-button/c4-link-button.d.ts +3 -0
- package/lib/esm/components/c4-link-button/c4-link-button.js +18 -0
- package/lib/esm/components/c4-link-button/c4-link-button.types.d.ts +8 -0
- package/lib/esm/components/c4-link-button/c4-link-button.types.js +6 -0
- package/lib/esm/components/c4-llm-usage-meter/c4-llm-usage-meter.d.ts +3 -0
- package/lib/esm/components/c4-llm-usage-meter/c4-llm-usage-meter.js +81 -0
- package/lib/esm/components/c4-llm-usage-meter/c4-llm-usage-meter.types.d.ts +58 -0
- package/lib/esm/components/c4-llm-usage-meter/c4-llm-usage-meter.types.js +6 -0
- package/lib/esm/components/c4-management-activity/c4-management-activity.d.ts +3 -0
- package/lib/esm/components/c4-management-activity/c4-management-activity.js +16 -0
- package/lib/esm/components/c4-management-activity/c4-management-activity.types.d.ts +22 -0
- package/lib/esm/components/c4-management-activity/c4-management-activity.types.js +6 -0
- package/lib/esm/components/c4-management-api/c4-management-api.d.ts +3 -0
- package/lib/esm/components/c4-management-api/c4-management-api.js +204 -0
- package/lib/esm/components/c4-management-api/c4-management-api.types.d.ts +66 -0
- package/lib/esm/components/c4-management-api/c4-management-api.types.js +6 -0
- package/lib/esm/components/c4-management-overview/c4-management-overview.d.ts +3 -0
- package/lib/esm/components/c4-management-overview/c4-management-overview.js +22 -0
- package/lib/esm/components/c4-management-overview/c4-management-overview.types.d.ts +17 -0
- package/lib/esm/components/c4-management-overview/c4-management-overview.types.js +6 -0
- package/lib/esm/components/c4-management-settings/c4-management-settings.d.ts +3 -0
- package/lib/esm/components/c4-management-settings/c4-management-settings.js +131 -0
- package/lib/esm/components/c4-management-settings/c4-management-settings.types.d.ts +77 -0
- package/lib/esm/components/c4-management-settings/c4-management-settings.types.js +6 -0
- package/lib/esm/components/c4-management-users/c4-management-users.d.ts +3 -0
- package/lib/esm/components/c4-management-users/c4-management-users.js +17 -0
- package/lib/esm/components/c4-management-users/c4-management-users.types.d.ts +23 -0
- package/lib/esm/components/c4-management-users/c4-management-users.types.js +6 -0
- package/lib/esm/components/c4-multi-step-modal/c4-multi-step-modal.d.ts +3 -0
- package/lib/esm/components/c4-multi-step-modal/c4-multi-step-modal.js +48 -0
- package/lib/esm/components/c4-multi-step-modal/c4-multi-step-modal.types.d.ts +31 -0
- package/lib/esm/components/c4-multi-step-modal/c4-multi-step-modal.types.js +6 -0
- package/lib/esm/components/c4-multi-step-modal-ugly/c4-multi-step-modal-ugly.d.ts +2 -0
- package/lib/esm/components/c4-multi-step-modal-ugly/c4-multi-step-modal-ugly.js +45 -0
- package/lib/esm/components/c4-multi-step-modal-ugly/c4-multi-step-modal-ugly.types.d.ts +18 -0
- package/lib/esm/components/c4-multi-step-modal-ugly/c4-multi-step-modal-ugly.types.js +6 -0
- package/lib/esm/components/c4-number-input/c4-number-input.d.ts +2 -0
- package/lib/esm/components/c4-number-input/c4-number-input.js +21 -0
- package/lib/esm/components/c4-number-input/c4-number-input.types.d.ts +11 -0
- package/lib/esm/components/c4-number-input/c4-number-input.types.js +6 -0
- package/lib/esm/components/c4-old-dashboard/c4-old-dashboard.d.ts +3 -0
- package/lib/esm/components/c4-old-dashboard/c4-old-dashboard.js +62 -0
- package/lib/esm/components/c4-old-dashboard/c4-old-dashboard.types.d.ts +60 -0
- package/lib/esm/components/c4-old-dashboard/c4-old-dashboard.types.js +6 -0
- package/lib/esm/components/c4-page-template/c4-page-template.d.ts +29 -0
- package/lib/esm/components/c4-page-template/c4-page-template.js +17 -0
- package/lib/esm/components/c4-page-template/c4-page-template.spec.d.ts +1 -0
- package/lib/esm/components/c4-page-template/c4-page-template.spec.js +58 -0
- package/lib/esm/components/c4-page-template/c4-page-template.stories.d.ts +6 -0
- package/lib/esm/components/c4-page-template/c4-page-template.stories.js +73 -0
- package/lib/esm/components/c4-permission-error-page/c4-permission-error-page.d.ts +3 -0
- package/lib/esm/components/c4-permission-error-page/c4-permission-error-page.js +44 -0
- package/lib/esm/components/c4-permission-error-page/c4-permission-error-page.types.d.ts +12 -0
- package/lib/esm/components/c4-permission-error-page/c4-permission-error-page.types.js +6 -0
- package/lib/esm/components/c4-pricing/c4-pricing.d.ts +3 -0
- package/lib/esm/components/c4-pricing/c4-pricing.js +59 -0
- package/lib/esm/components/c4-pricing/c4-pricing.types.d.ts +20 -0
- package/lib/esm/components/c4-pricing/c4-pricing.types.js +6 -0
- package/lib/esm/components/c4-pricing-card/c4-pricing-card.d.ts +3 -0
- package/lib/esm/components/c4-pricing-card/c4-pricing-card.js +51 -0
- package/lib/esm/components/c4-pricing-card/c4-pricing-card.types.d.ts +53 -0
- package/lib/esm/components/c4-pricing-card/c4-pricing-card.types.js +6 -0
- package/lib/esm/components/c4-pricing-card/c4-pricing-card.utils.d.ts +13 -0
- package/lib/esm/components/c4-pricing-card/c4-pricing-card.utils.js +58 -0
- package/lib/esm/components/c4-rename-organization-modal/c4-rename-organization-modal.d.ts +2 -0
- package/lib/esm/components/c4-rename-organization-modal/c4-rename-organization-modal.js +68 -0
- package/lib/esm/components/c4-rename-organization-modal/c4-rename-organization-modal.types.d.ts +15 -0
- package/lib/esm/components/c4-rename-organization-modal/c4-rename-organization-modal.types.js +6 -0
- package/lib/esm/components/c4-search/c4-search-results.d.ts +2 -0
- package/lib/esm/components/c4-search/c4-search-results.js +235 -0
- package/lib/esm/components/c4-search/c4-search-results.types.d.ts +33 -0
- package/lib/esm/components/c4-search/c4-search-results.types.js +6 -0
- package/lib/esm/components/c4-search/c4-search.d.ts +35 -0
- package/lib/esm/components/c4-search/c4-search.js +134 -0
- package/lib/esm/components/c4-search/c4-search.types.d.ts +20 -0
- package/lib/esm/components/c4-search/c4-search.types.js +6 -0
- package/lib/esm/components/c4-search/search.utils.d.ts +61 -0
- package/lib/esm/components/c4-search/search.utils.js +421 -0
- package/lib/esm/components/c4-sm-cluster-details/automation-components.d.ts +3 -0
- package/lib/esm/components/c4-sm-cluster-details/automation-components.js +20 -0
- package/lib/esm/components/c4-sm-cluster-details/c4-sm-cluster-details.d.ts +3 -0
- package/lib/esm/components/c4-sm-cluster-details/c4-sm-cluster-details.js +27 -0
- package/lib/esm/components/c4-sm-cluster-details/c4-sm-cluster-details.types.d.ts +71 -0
- package/lib/esm/components/c4-sm-cluster-details/c4-sm-cluster-details.types.js +6 -0
- package/lib/esm/components/c4-sm-cluster-details/custom-properties.d.ts +4 -0
- package/lib/esm/components/c4-sm-cluster-details/custom-properties.js +29 -0
- package/lib/esm/components/c4-sm-cluster-details/details.d.ts +7 -0
- package/lib/esm/components/c4-sm-cluster-details/details.js +24 -0
- package/lib/esm/components/c4-sm-cluster-details/zeebe-components.d.ts +3 -0
- package/lib/esm/components/c4-sm-cluster-details/zeebe-components.js +43 -0
- package/lib/esm/components/c4-sm-dashboard/c4-sm-dashboard.d.ts +3 -0
- package/lib/esm/components/c4-sm-dashboard/c4-sm-dashboard.js +34 -0
- package/lib/esm/components/c4-sm-dashboard/c4-sm-dashboard.types.d.ts +40 -0
- package/lib/esm/components/c4-sm-dashboard/c4-sm-dashboard.types.js +6 -0
- package/lib/esm/components/c4-sm-dashboard/cluster-tile.d.ts +9 -0
- package/lib/esm/components/c4-sm-dashboard/cluster-tile.js +59 -0
- package/lib/esm/components/c4-sm-dashboard/component-tile.d.ts +14 -0
- package/lib/esm/components/c4-sm-dashboard/component-tile.js +45 -0
- package/lib/esm/components/c4-sm-dashboard/explore.d.ts +20 -0
- package/lib/esm/components/c4-sm-dashboard/explore.js +29 -0
- package/lib/esm/components/c4-sm-dashboard/health-status.d.ts +10 -0
- package/lib/esm/components/c4-sm-dashboard/health-status.js +60 -0
- package/lib/esm/components/c4-sm-dashboard/overview.d.ts +13 -0
- package/lib/esm/components/c4-sm-dashboard/overview.js +148 -0
- package/lib/esm/components/c4-sm-dashboard/usage-tile.d.ts +22 -0
- package/lib/esm/components/c4-sm-dashboard/usage-tile.js +35 -0
- package/lib/esm/components/c4-stackdriver-links/c4-stackdriver-links.d.ts +3 -0
- package/lib/esm/components/c4-stackdriver-links/c4-stackdriver-links.js +26 -0
- package/lib/esm/components/c4-stackdriver-links/c4-stackdriver-links.types.d.ts +12 -0
- package/lib/esm/components/c4-stackdriver-links/c4-stackdriver-links.types.js +6 -0
- package/lib/esm/components/c4-stat/c4-stat.d.ts +3 -0
- package/lib/esm/components/c4-stat/c4-stat.js +11 -0
- package/lib/esm/components/c4-stat/c4-stat.types.d.ts +4 -0
- package/lib/esm/components/c4-stat/c4-stat.types.js +6 -0
- package/lib/esm/components/c4-stateful-button/c4-stateful-button.d.ts +3 -0
- package/lib/esm/components/c4-stateful-button/c4-stateful-button.js +38 -0
- package/lib/esm/components/c4-stateful-button/c4-stateful-button.types.d.ts +7 -0
- package/lib/esm/components/c4-stateful-button/c4-stateful-button.types.js +6 -0
- package/lib/esm/components/c4-tabs/c4-tabs.d.ts +3 -0
- package/lib/esm/components/c4-tabs/c4-tabs.js +49 -0
- package/lib/esm/components/c4-tabs/c4-tabs.spec.d.ts +1 -0
- package/lib/esm/components/c4-tabs/c4-tabs.spec.js +97 -0
- package/lib/esm/components/c4-tabs/c4-tabs.stories.d.ts +6 -0
- package/lib/esm/components/c4-tabs/c4-tabs.stories.js +35 -0
- package/lib/esm/components/c4-tabs/c4-tabs.types.d.ts +14 -0
- package/lib/esm/components/c4-tabs/c4-tabs.types.js +6 -0
- package/lib/esm/components/c4-telemetry-page/c4-telemetry-page.d.ts +4 -0
- package/lib/esm/components/c4-telemetry-page/c4-telemetry-page.js +110 -0
- package/lib/esm/components/c4-telemetry-page/c4-telemetry-page.types.d.ts +45 -0
- package/lib/esm/components/c4-telemetry-page/c4-telemetry-page.types.js +6 -0
- package/lib/esm/components/c4-telemetry-page/component-metrics.d.ts +26 -0
- package/lib/esm/components/c4-telemetry-page/component-metrics.js +47 -0
- package/lib/esm/components/c4-telemetry-page/metrics-empty-state-image.d.ts +2 -0
- package/lib/esm/components/c4-telemetry-page/metrics-empty-state-image.js +6 -0
- package/lib/esm/components/c4-telemetry-page/telemetry-for-component.d.ts +50 -0
- package/lib/esm/components/c4-telemetry-page/telemetry-for-component.js +90 -0
- package/lib/esm/components/c4-telemetry-teaser-page/c4-telemetry-teaser-page.d.ts +3 -0
- package/lib/esm/components/c4-telemetry-teaser-page/c4-telemetry-teaser-page.js +80 -0
- package/lib/esm/components/c4-telemetry-teaser-page/c4-telemetry-teaser-page.types.d.ts +40 -0
- package/lib/esm/components/c4-telemetry-teaser-page/c4-telemetry-teaser-page.types.js +6 -0
- package/lib/esm/components/c4-theme-switcher/c4-theme-switcher.d.ts +23 -0
- package/lib/esm/components/c4-theme-switcher/c4-theme-switcher.js +187 -0
- package/lib/esm/components/c4-theme-switcher/c4-theme-switcher.types.d.ts +23 -0
- package/lib/esm/components/c4-theme-switcher/c4-theme-switcher.types.js +6 -0
- package/lib/esm/components/c4-theme-switcher/cyberzee-removebg-preview-100.png +0 -0
- package/lib/esm/components/c4-tile-with-title-and-action/c4-tile-with-title-and-action.d.ts +3 -0
- package/lib/esm/components/c4-tile-with-title-and-action/c4-tile-with-title-and-action.js +39 -0
- package/lib/esm/components/c4-tile-with-title-and-action/c4-tile-with-title-and-action.types.d.ts +18 -0
- package/lib/esm/components/c4-tile-with-title-and-action/c4-tile-with-title-and-action.types.js +6 -0
- package/lib/esm/components/c4-toggle/c4-toggle.d.ts +3 -0
- package/lib/esm/components/c4-toggle/c4-toggle.js +16 -0
- package/lib/esm/components/c4-toggle/c4-toggle.types.d.ts +27 -0
- package/lib/esm/components/c4-toggle/c4-toggle.types.js +6 -0
- package/lib/esm/components/c4-tutorial-tile/c4-tutorial-tile.d.ts +3 -0
- package/lib/esm/components/c4-tutorial-tile/c4-tutorial-tile.js +14 -0
- package/lib/esm/components/c4-tutorial-tile/c4-tutorial-tile.types.d.ts +14 -0
- package/lib/esm/components/c4-tutorial-tile/c4-tutorial-tile.types.js +6 -0
- package/lib/esm/components/c4-tutorial-tile/c4-tutorial-tile.utils.d.ts +6 -0
- package/lib/esm/components/c4-tutorial-tile/c4-tutorial-tile.utils.js +21 -0
- package/lib/esm/components/c4-usage-alert-update-modal/c4-usage-alert-update-modal.d.ts +3 -0
- package/lib/esm/components/c4-usage-alert-update-modal/c4-usage-alert-update-modal.js +15 -0
- package/lib/esm/components/c4-usage-alert-update-modal/c4-usage-alert-update-modal.types.d.ts +30 -0
- package/lib/esm/components/c4-usage-alert-update-modal/c4-usage-alert-update-modal.types.js +6 -0
- package/lib/esm/components/c4-usage-history/c4-usage-history.d.ts +3 -0
- package/lib/esm/components/c4-usage-history/c4-usage-history.js +79 -0
- package/lib/esm/components/c4-usage-history/c4-usage-history.types.d.ts +36 -0
- package/lib/esm/components/c4-usage-history/c4-usage-history.types.js +6 -0
- package/lib/esm/components/c4-usage-history/elements/usage-history-charts.d.ts +35 -0
- package/lib/esm/components/c4-usage-history/elements/usage-history-charts.js +44 -0
- package/lib/esm/components/c4-usage-metrics-per-cluster/c4-usage-metrics-per-cluster.d.ts +3 -0
- package/lib/esm/components/c4-usage-metrics-per-cluster/c4-usage-metrics-per-cluster.js +107 -0
- package/lib/esm/components/c4-usage-metrics-per-cluster/c4-usage-metrics-per-cluster.types.d.ts +50 -0
- package/lib/esm/components/c4-usage-metrics-per-cluster/c4-usage-metrics-per-cluster.types.js +6 -0
- package/lib/esm/components/c4-user-details/c4-user-details.d.ts +3 -0
- package/lib/esm/components/c4-user-details/c4-user-details.js +46 -0
- package/lib/esm/components/c4-user-details/c4-user-details.types.d.ts +22 -0
- package/lib/esm/components/c4-user-details/c4-user-details.types.js +6 -0
- package/lib/esm/components/c4-user-details/tabs/authorized-resources.d.ts +20 -0
- package/lib/esm/components/c4-user-details/tabs/authorized-resources.js +15 -0
- package/lib/esm/components/c4-user-details/tabs/details.d.ts +10 -0
- package/lib/esm/components/c4-user-details/tabs/details.js +17 -0
- package/lib/esm/components/c4-user-details/tabs/roles.d.ts +32 -0
- package/lib/esm/components/c4-user-details/tabs/roles.js +63 -0
- package/lib/esm/i18n/c4-console-i18n.d.ts +8 -0
- package/lib/esm/i18n/c4-console-i18n.js +138 -0
- package/lib/esm/i18n/en/components/fatalError.json +5 -0
- package/lib/esm/i18n/en/components/navbar.json +44 -0
- package/lib/esm/i18n/en/entities/orgroles.json +100 -0
- package/lib/esm/i18n/en/modals/alerts.json +99 -0
- package/lib/esm/i18n/en/modals/apiclients.json +151 -0
- package/lib/esm/i18n/en/modals/backups.json +66 -0
- package/lib/esm/i18n/en/modals/billing.json +192 -0
- package/lib/esm/i18n/en/modals/clusterclients.json +145 -0
- package/lib/esm/i18n/en/modals/clusters.json +177 -0
- package/lib/esm/i18n/en/modals/connectorsecrets.json +123 -0
- package/lib/esm/i18n/en/modals/createtrialorg.json +29 -0
- package/lib/esm/i18n/en/modals/invitations.json +48 -0
- package/lib/esm/i18n/en/modals/ipwhitelist.json +46 -0
- package/lib/esm/i18n/en/modals/usagealerts.json +40 -0
- package/lib/esm/i18n/en/modals/users.json +95 -0
- package/lib/esm/i18n/en/modals/validation.json +9 -0
- package/lib/esm/i18n/en/pages/clusterdetails.json +595 -0
- package/lib/esm/i18n/en/pages/clusters.json +77 -0
- package/lib/esm/i18n/en/pages/connectormanagement.json +8 -0
- package/lib/esm/i18n/en/pages/createcluster.json +90 -0
- package/lib/esm/i18n/en/pages/dashboard.json +94 -0
- package/lib/esm/i18n/en/pages/home.json +12 -0
- package/lib/esm/i18n/en/pages/job-dashboard.json +101 -0
- package/lib/esm/i18n/en/pages/orgmanagement.json +488 -0
- package/lib/esm/icons/c4-icons.d.ts +12 -0
- package/lib/esm/icons/c4-icons.js +28 -0
- package/lib/esm/icons/c4-icons.types.d.ts +3 -0
- package/lib/esm/icons/c4-icons.types.js +6 -0
- package/lib/esm/index.d.ts +210 -0
- package/lib/esm/index.js +112 -0
- package/lib/esm/index.scss +267 -0
- package/lib/esm/modals/c4-create-cluster-api-client-modal-handle.d.ts +3 -0
- package/lib/esm/modals/c4-create-cluster-api-client-modal-handle.js +12 -0
- package/lib/esm/modals/c4-create-connector-secret-modal-handle.d.ts +3 -0
- package/lib/esm/modals/c4-create-connector-secret-modal-handle.js +12 -0
- package/lib/esm/modals/c4-create-console-api-client-modal-handle.d.ts +3 -0
- package/lib/esm/modals/c4-create-console-api-client-modal-handle.js +12 -0
- package/lib/esm/modals/c4-invite-user-to-organization-modal-handle.d.ts +3 -0
- package/lib/esm/modals/c4-invite-user-to-organization-modal-handle.js +12 -0
- package/lib/esm/modals/c4-rename-organization-modal-handle.d.ts +3 -0
- package/lib/esm/modals/c4-rename-organization-modal-handle.js +12 -0
- package/lib/esm/notifications/c4-console-notifications-handle.d.ts +8 -0
- package/lib/esm/notifications/c4-console-notifications-handle.js +15 -0
- package/lib/esm/runtime/c4-console-authz.d.ts +31 -0
- package/lib/esm/runtime/c4-console-authz.js +191 -0
- package/lib/esm/runtime/c4-console-authz.spec.d.ts +1 -0
- package/lib/esm/runtime/c4-console-authz.spec.js +45 -0
- package/lib/esm/runtime/c4-console-data-context.d.ts +38 -0
- package/lib/esm/runtime/c4-console-data-context.js +229 -0
- package/lib/esm/runtime/c4-console-data-context.types.d.ts +49 -0
- package/lib/esm/runtime/c4-console-data-context.types.js +6 -0
- package/lib/esm/runtime/c4-console-data-store.d.ts +75 -0
- package/lib/esm/runtime/c4-console-data-store.js +440 -0
- package/lib/esm/runtime/c4-console-data-store.spec.d.ts +1 -0
- package/lib/esm/runtime/c4-console-data-store.spec.js +33 -0
- package/lib/esm/runtime/c4-console-notifications-context.d.ts +7 -0
- package/lib/esm/runtime/c4-console-notifications-context.js +76 -0
- package/lib/esm/runtime/c4-console-notifications-context.types.d.ts +34 -0
- package/lib/esm/runtime/c4-console-notifications-context.types.js +6 -0
- package/lib/esm/runtime/c4-console-runtime-context.d.ts +8 -0
- package/lib/esm/runtime/c4-console-runtime-context.js +13 -0
- package/lib/esm/runtime/c4-console-runtime.types.d.ts +45 -0
- package/lib/esm/runtime/c4-console-runtime.types.js +6 -0
- package/lib/esm/runtime/to-api-config.d.ts +3 -0
- package/lib/esm/runtime/to-api-config.js +31 -0
- package/lib/esm/runtime/to-identity-api-base-url.d.ts +5 -0
- package/lib/esm/runtime/to-identity-api-base-url.js +22 -0
- package/lib/esm/setupTests.d.ts +1 -0
- package/lib/esm/setupTests.js +37 -0
- package/lib/esm/themes/barbie-light.css +446 -0
- package/lib/esm/themes/barbie.css +446 -0
- package/lib/esm/themes/cyberpunk-brutalism-light.css +748 -0
- package/lib/esm/themes/cyberpunk-brutalism.css +956 -0
- package/lib/esm/themes/cyberpunk-rose-light.css +750 -0
- package/lib/esm/themes/cyberpunk-rose.css +958 -0
- package/lib/esm/themes/terminal-light.css +422 -0
- package/lib/esm/themes/terminal.css +474 -0
- package/lib/esm/widgets/cluster-client-details/c4-cluster-client-details-app.d.ts +4 -0
- package/lib/esm/widgets/cluster-client-details/c4-cluster-client-details-app.js +492 -0
- package/lib/esm/widgets/cluster-client-details/c4-cluster-client-details-app.types.d.ts +14 -0
- package/lib/esm/widgets/cluster-client-details/c4-cluster-client-details-app.types.js +6 -0
- package/lib/esm/widgets/cluster-details/c4-cluster-details-app.d.ts +5 -0
- package/lib/esm/widgets/cluster-details/c4-cluster-details-app.js +1029 -0
- package/lib/esm/widgets/cluster-details/c4-cluster-details-app.types.d.ts +44 -0
- package/lib/esm/widgets/cluster-details/c4-cluster-details-app.types.js +6 -0
- package/lib/esm/widgets/cluster-details/c4-cluster-details-page.d.ts +3 -0
- package/lib/esm/widgets/cluster-details/c4-cluster-details-page.js +116 -0
- package/lib/esm/widgets/cluster-details/c4-cluster-details-page.spec.d.ts +1 -0
- package/lib/esm/widgets/cluster-details/c4-cluster-details-page.spec.js +67 -0
- package/lib/esm/widgets/cluster-details/c4-cluster-details-page.types.d.ts +31 -0
- package/lib/esm/widgets/cluster-details/c4-cluster-details-page.types.js +6 -0
- package/lib/esm/widgets/cluster-details/tabs/c4-cluster-details-activity-tab.d.ts +12 -0
- package/lib/esm/widgets/cluster-details/tabs/c4-cluster-details-activity-tab.js +31 -0
- package/lib/esm/widgets/cluster-details/tabs/c4-cluster-details-alerts-tab.d.ts +32 -0
- package/lib/esm/widgets/cluster-details/tabs/c4-cluster-details-alerts-tab.js +232 -0
- package/lib/esm/widgets/cluster-details/tabs/c4-cluster-details-audit-log-tab.d.ts +12 -0
- package/lib/esm/widgets/cluster-details/tabs/c4-cluster-details-audit-log-tab.js +5 -0
- package/lib/esm/widgets/cluster-details/tabs/c4-cluster-details-byom-clients-tab.d.ts +20 -0
- package/lib/esm/widgets/cluster-details/tabs/c4-cluster-details-byom-clients-tab.js +289 -0
- package/lib/esm/widgets/cluster-details/tabs/c4-cluster-details-clients-tab.d.ts +20 -0
- package/lib/esm/widgets/cluster-details/tabs/c4-cluster-details-clients-tab.js +483 -0
- package/lib/esm/widgets/cluster-details/tabs/c4-cluster-details-connector-secrets-tab.d.ts +17 -0
- package/lib/esm/widgets/cluster-details/tabs/c4-cluster-details-connector-secrets-tab.js +466 -0
- package/lib/esm/widgets/cluster-details/tabs/c4-cluster-details-encryption-tab.d.ts +15 -0
- package/lib/esm/widgets/cluster-details/tabs/c4-cluster-details-encryption-tab.js +256 -0
- package/lib/esm/widgets/cluster-details/tabs/c4-cluster-details-hot-backups-tab.d.ts +18 -0
- package/lib/esm/widgets/cluster-details/tabs/c4-cluster-details-hot-backups-tab.js +454 -0
- package/lib/esm/widgets/cluster-details/tabs/c4-cluster-details-ip-whitelist-tab.d.ts +17 -0
- package/lib/esm/widgets/cluster-details/tabs/c4-cluster-details-ip-whitelist-tab.js +205 -0
- package/lib/esm/widgets/cluster-details/tabs/c4-cluster-details-overview-tab.d.ts +43 -0
- package/lib/esm/widgets/cluster-details/tabs/c4-cluster-details-overview-tab.js +750 -0
- package/lib/esm/widgets/cluster-details/tabs/c4-cluster-details-secure-connectivity-tab.d.ts +16 -0
- package/lib/esm/widgets/cluster-details/tabs/c4-cluster-details-secure-connectivity-tab.js +338 -0
- package/lib/esm/widgets/cluster-details/tabs/c4-cluster-details-settings-tab.d.ts +17 -0
- package/lib/esm/widgets/cluster-details/tabs/c4-cluster-details-settings-tab.js +340 -0
- package/lib/esm/widgets/cluster-details/tabs/url-utils.d.ts +1 -0
- package/lib/esm/widgets/cluster-details/tabs/url-utils.js +28 -0
- package/lib/esm/widgets/cluster-details/tabs/url-utils.test.d.ts +1 -0
- package/lib/esm/widgets/cluster-details/tabs/url-utils.test.js +34 -0
- package/lib/esm/widgets/clusters/c4-clusters-page.d.ts +4 -0
- package/lib/esm/widgets/clusters/c4-clusters-page.js +682 -0
- package/lib/esm/widgets/clusters/c4-clusters-page.spec.d.ts +1 -0
- package/lib/esm/widgets/clusters/c4-clusters-page.spec.js +155 -0
- package/lib/esm/widgets/clusters/c4-clusters-page.types.d.ts +49 -0
- package/lib/esm/widgets/clusters/c4-clusters-page.types.js +6 -0
- package/lib/esm/widgets/connector-management/c4-connector-management-executable-details-page.d.ts +4 -0
- package/lib/esm/widgets/connector-management/c4-connector-management-executable-details-page.js +76 -0
- package/lib/esm/widgets/connector-management/c4-connector-management-executable-details-page.types.d.ts +24 -0
- package/lib/esm/widgets/connector-management/c4-connector-management-executable-details-page.types.js +6 -0
- package/lib/esm/widgets/connector-management/c4-connector-management-executables-table-page.d.ts +4 -0
- package/lib/esm/widgets/connector-management/c4-connector-management-executables-table-page.js +76 -0
- package/lib/esm/widgets/connector-management/c4-connector-management-executables-table-page.types.d.ts +24 -0
- package/lib/esm/widgets/connector-management/c4-connector-management-executables-table-page.types.js +6 -0
- package/lib/esm/widgets/connector-management/c4-connector-management-page.d.ts +4 -0
- package/lib/esm/widgets/connector-management/c4-connector-management-page.js +74 -0
- package/lib/esm/widgets/connector-management/c4-connector-management-page.spec.d.ts +1 -0
- package/lib/esm/widgets/connector-management/c4-connector-management-page.spec.js +140 -0
- package/lib/esm/widgets/connector-management/c4-connector-management-page.types.d.ts +18 -0
- package/lib/esm/widgets/connector-management/c4-connector-management-page.types.js +6 -0
- package/lib/esm/widgets/connector-management/c4-connector-management.shared.d.ts +14 -0
- package/lib/esm/widgets/connector-management/c4-connector-management.shared.js +97 -0
- package/lib/esm/widgets/create-cluster/c4-create-cluster-page.d.ts +5 -0
- package/lib/esm/widgets/create-cluster/c4-create-cluster-page.js +841 -0
- package/lib/esm/widgets/create-cluster/c4-create-cluster-page.spec.d.ts +1 -0
- package/lib/esm/widgets/create-cluster/c4-create-cluster-page.spec.js +179 -0
- package/lib/esm/widgets/create-cluster/c4-create-cluster-page.types.d.ts +29 -0
- package/lib/esm/widgets/create-cluster/c4-create-cluster-page.types.js +6 -0
- package/lib/esm/widgets/dashboard/c4-dashboard-app.d.ts +14 -0
- package/lib/esm/widgets/dashboard/c4-dashboard-app.js +456 -0
- package/lib/esm/widgets/dashboard/c4-dashboard-app.types.d.ts +80 -0
- package/lib/esm/widgets/dashboard/c4-dashboard-app.types.js +6 -0
- package/lib/esm/widgets/group-details/c4-group-details-page.d.ts +5 -0
- package/lib/esm/widgets/group-details/c4-group-details-page.js +193 -0
- package/lib/esm/widgets/group-details/c4-group-details-page.spec.d.ts +1 -0
- package/lib/esm/widgets/group-details/c4-group-details-page.spec.js +35 -0
- package/lib/esm/widgets/group-details/c4-group-details-page.types.d.ts +17 -0
- package/lib/esm/widgets/group-details/c4-group-details-page.types.js +6 -0
- package/lib/esm/widgets/management/c4-management-app.d.ts +5 -0
- package/lib/esm/widgets/management/c4-management-app.js +2303 -0
- package/lib/esm/widgets/management/c4-management-app.types.d.ts +69 -0
- package/lib/esm/widgets/management/c4-management-app.types.js +6 -0
- package/lib/esm/widgets/management/c4-management-page.d.ts +3 -0
- package/lib/esm/widgets/management/c4-management-page.js +35 -0
- package/lib/esm/widgets/management/c4-management-page.spec.d.ts +1 -0
- package/lib/esm/widgets/management/c4-management-page.spec.js +40 -0
- package/lib/esm/widgets/management/c4-management-page.types.d.ts +11 -0
- package/lib/esm/widgets/management/c4-management-page.types.js +6 -0
- package/lib/esm/widgets/management/tabs/c4-management-activity-tab.d.ts +5 -0
- package/lib/esm/widgets/management/tabs/c4-management-activity-tab.js +5 -0
- package/lib/esm/widgets/management/tabs/c4-management-api-tab.d.ts +61 -0
- package/lib/esm/widgets/management/tabs/c4-management-api-tab.js +629 -0
- package/lib/esm/widgets/management/tabs/c4-management-billing-tab.d.ts +43 -0
- package/lib/esm/widgets/management/tabs/c4-management-billing-tab.js +340 -0
- package/lib/esm/widgets/management/tabs/c4-management-groups-tab.d.ts +13 -0
- package/lib/esm/widgets/management/tabs/c4-management-groups-tab.js +26 -0
- package/lib/esm/widgets/management/tabs/c4-management-overview-tab.d.ts +12 -0
- package/lib/esm/widgets/management/tabs/c4-management-overview-tab.js +85 -0
- package/lib/esm/widgets/management/tabs/c4-management-pricing-tab.d.ts +20 -0
- package/lib/esm/widgets/management/tabs/c4-management-pricing-tab.js +266 -0
- package/lib/esm/widgets/management/tabs/c4-management-settings-tab.d.ts +39 -0
- package/lib/esm/widgets/management/tabs/c4-management-settings-tab.js +103 -0
- package/lib/esm/widgets/management/tabs/c4-management-usage-tab.d.ts +49 -0
- package/lib/esm/widgets/management/tabs/c4-management-usage-tab.js +72 -0
- package/lib/esm/widgets/management/tabs/c4-management-users-tab.d.ts +25 -0
- package/lib/esm/widgets/management/tabs/c4-management-users-tab.js +259 -0
- package/lib/esm/widgets/management/tabs/c4-management-users-tab.spec.d.ts +1 -0
- package/lib/esm/widgets/management/tabs/c4-management-users-tab.spec.js +65 -0
- package/lib/esm/widgets/user-details/c4-user-details-page.d.ts +5 -0
- package/lib/esm/widgets/user-details/c4-user-details-page.js +591 -0
- package/lib/esm/widgets/user-details/c4-user-details-page.spec.d.ts +1 -0
- package/lib/esm/widgets/user-details/c4-user-details-page.spec.js +61 -0
- package/lib/esm/widgets/user-details/c4-user-details-page.types.d.ts +29 -0
- package/lib/esm/widgets/user-details/c4-user-details-page.types.js +6 -0
- package/package.json +88 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH
|
|
4
|
+
* under one or more contributor license agreements. Licensed under a commercial license.
|
|
5
|
+
* You may not use this file except in compliance with the commercial license.
|
|
6
|
+
*/
|
|
7
|
+
import { Stack } from '@carbon/react';
|
|
8
|
+
import { ArrayFieldContainer } from './ArrayFieldContainer.js';
|
|
9
|
+
export const FiltersSection = ({ fields, filterFields, addArrayItem, updateFilter, renderFieldRow, }) => {
|
|
10
|
+
const groupedFields = filterFields.reduce((groups, field) => {
|
|
11
|
+
if (field.parentArrayField) {
|
|
12
|
+
const key = `${field.parentArrayField}-${field.arrayIndex}`;
|
|
13
|
+
if (!groups[key]) {
|
|
14
|
+
groups[key] = [];
|
|
15
|
+
}
|
|
16
|
+
groups[key].push(field);
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
const key = field.fieldName;
|
|
20
|
+
if (!groups[key]) {
|
|
21
|
+
groups[key] = [];
|
|
22
|
+
}
|
|
23
|
+
groups[key].push(field);
|
|
24
|
+
}
|
|
25
|
+
return groups;
|
|
26
|
+
}, {});
|
|
27
|
+
const addedArrayFields = new Set(filterFields
|
|
28
|
+
.filter((f) => f.parentArrayField)
|
|
29
|
+
.map((f) => f.parentArrayField));
|
|
30
|
+
const arrayFieldContainers = Object.keys(fields).filter((fieldName) => fields[fieldName].matchType === 'array' &&
|
|
31
|
+
(!fields[fieldName].optional || addedArrayFields.has(fieldName)));
|
|
32
|
+
return (_jsxs(Stack, { gap: 4, children: [Object.entries(groupedFields)
|
|
33
|
+
.filter(([, groupFields]) => !groupFields[0].parentArrayField)
|
|
34
|
+
.map(([, groupFields]) => {
|
|
35
|
+
const firstField = groupFields[0];
|
|
36
|
+
const spec = fields[firstField.fieldName];
|
|
37
|
+
if (spec.matchType === 'array') {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
return groupFields.map((field) => renderFieldRow(field, spec));
|
|
41
|
+
}), arrayFieldContainers.map((fieldName) => {
|
|
42
|
+
const spec = fields[fieldName];
|
|
43
|
+
const arrayFields = filterFields.filter((f) => f.parentArrayField === fieldName);
|
|
44
|
+
const arrayGroups = new Map();
|
|
45
|
+
arrayFields.forEach((field) => {
|
|
46
|
+
const index = field.arrayIndex ?? 0;
|
|
47
|
+
if (!arrayGroups.has(index)) {
|
|
48
|
+
arrayGroups.set(index, []);
|
|
49
|
+
}
|
|
50
|
+
arrayGroups.get(index)?.push(field);
|
|
51
|
+
});
|
|
52
|
+
return (_jsx(ArrayFieldContainer, { fieldName: fieldName, spec: spec, groups: Array.from(arrayGroups.entries()), onAddItem: () => addArrayItem(fieldName, 'root'), onRemoveItem: (arrayIndex) => {
|
|
53
|
+
const updated = filterFields.filter((f) => !(f.parentArrayField === fieldName &&
|
|
54
|
+
f.arrayIndex === arrayIndex));
|
|
55
|
+
updateFilter(updated);
|
|
56
|
+
}, onRemoveAll: spec.optional
|
|
57
|
+
? () => {
|
|
58
|
+
const updated = filterFields.filter((f) => f.parentArrayField !== fieldName);
|
|
59
|
+
updateFilter(updated);
|
|
60
|
+
}
|
|
61
|
+
: undefined, renderRow: (f, s) => renderFieldRow(f, s) }, fieldName));
|
|
62
|
+
})] }));
|
|
63
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
import type { JSX } from 'react';
|
|
3
|
+
import type { FieldSpec } from './c4-advanced-search-filters.types';
|
|
4
|
+
import type { FilterFieldState } from './state.types';
|
|
5
|
+
interface OrSectionProps {
|
|
6
|
+
sectionId: string;
|
|
7
|
+
fieldsConfig: Record<string, FieldSpec>;
|
|
8
|
+
filterFields: FilterFieldState[];
|
|
9
|
+
addArrayItem: (parentFieldName: string, orSectionId: string) => void;
|
|
10
|
+
removeOrSection: (sectionId: string) => void;
|
|
11
|
+
addOptionalFieldToSection: (fieldName: string, sectionId: string) => void;
|
|
12
|
+
updateFilter: (updatedFields: FilterFieldState[]) => void;
|
|
13
|
+
renderFieldRow: (field: FilterFieldState, spec: FieldSpec) => JSX.Element;
|
|
14
|
+
}
|
|
15
|
+
export declare const OrSection: React.FC<OrSectionProps>;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH
|
|
4
|
+
* under one or more contributor license agreements. Licensed under a commercial license.
|
|
5
|
+
* You may not use this file except in compliance with the commercial license.
|
|
6
|
+
*/
|
|
7
|
+
import { Button, Select, SelectItem } from '@carbon/react';
|
|
8
|
+
import { Close } from '@carbon/react/icons/index.esm.js';
|
|
9
|
+
import { ArrayFieldContainer } from './ArrayFieldContainer.js';
|
|
10
|
+
export const OrSection = ({ sectionId, fieldsConfig, filterFields, addArrayItem, removeOrSection, addOptionalFieldToSection, updateFilter, renderFieldRow, }) => {
|
|
11
|
+
const sectionFields = filterFields;
|
|
12
|
+
const availableFields = Object.entries(fieldsConfig)
|
|
13
|
+
.filter(([fieldName, spec]) => {
|
|
14
|
+
const addedInSection = sectionFields.some((f) => (f.fieldName === fieldName && !f.parentArrayField) ||
|
|
15
|
+
f.parentArrayField === fieldName);
|
|
16
|
+
return spec.optional && !addedInSection;
|
|
17
|
+
})
|
|
18
|
+
.map(([fieldName, spec]) => ({ fieldName, spec }))
|
|
19
|
+
.sort((a, b) => a.spec.label.localeCompare(b.spec.label));
|
|
20
|
+
const groupedFields = sectionFields.reduce((groups, field) => {
|
|
21
|
+
if (field.parentArrayField) {
|
|
22
|
+
const key = `${field.parentArrayField}-${field.arrayIndex}`;
|
|
23
|
+
if (!groups[key]) {
|
|
24
|
+
groups[key] = [];
|
|
25
|
+
}
|
|
26
|
+
groups[key].push(field);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
const key = field.fieldName;
|
|
30
|
+
if (!groups[key]) {
|
|
31
|
+
groups[key] = [];
|
|
32
|
+
}
|
|
33
|
+
groups[key].push(field);
|
|
34
|
+
}
|
|
35
|
+
return groups;
|
|
36
|
+
}, {});
|
|
37
|
+
const regularFields = Object.entries(groupedFields)
|
|
38
|
+
.filter(([, groupFields]) => !groupFields[0].parentArrayField)
|
|
39
|
+
.map(([, groupFields]) => {
|
|
40
|
+
const firstField = groupFields[0];
|
|
41
|
+
const spec = fieldsConfig[firstField.fieldName];
|
|
42
|
+
if (!spec || spec.matchType === 'array') {
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
return groupFields.map((field) => renderFieldRow(field, spec));
|
|
46
|
+
})
|
|
47
|
+
.filter(Boolean);
|
|
48
|
+
const arrayFieldsInSection = new Set(sectionFields
|
|
49
|
+
.filter((f) => f.parentArrayField)
|
|
50
|
+
.map((f) => f.parentArrayField));
|
|
51
|
+
const arrayFieldElements = Array.from(arrayFieldsInSection).map((fieldName) => {
|
|
52
|
+
const spec = fieldsConfig[fieldName];
|
|
53
|
+
if (!spec || spec.matchType !== 'array') {
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
const arrayFields = sectionFields.filter((f) => f.parentArrayField === fieldName);
|
|
57
|
+
const arrayGroups = new Map();
|
|
58
|
+
arrayFields.forEach((field) => {
|
|
59
|
+
const index = field.arrayIndex ?? 0;
|
|
60
|
+
if (!arrayGroups.has(index)) {
|
|
61
|
+
arrayGroups.set(index, []);
|
|
62
|
+
}
|
|
63
|
+
arrayGroups.get(index)?.push(field);
|
|
64
|
+
});
|
|
65
|
+
return (_jsx(ArrayFieldContainer, { fieldName: fieldName, spec: spec, title: `${spec.label} Array`, groups: Array.from(arrayGroups.entries()), onAddItem: () => addArrayItem(fieldName, sectionId), onRemoveItem: (arrayIndex) => {
|
|
66
|
+
const updatedFields = filterFields.filter((f) => !(f.parentArrayField === fieldName &&
|
|
67
|
+
f.arrayIndex === arrayIndex &&
|
|
68
|
+
f.orSectionId === sectionId));
|
|
69
|
+
updateFilter(updatedFields);
|
|
70
|
+
}, onRemoveAll: spec.optional
|
|
71
|
+
? () => {
|
|
72
|
+
const updatedFields = filterFields.filter((f) => !(f.parentArrayField === fieldName &&
|
|
73
|
+
f.orSectionId === sectionId));
|
|
74
|
+
updateFilter(updatedFields);
|
|
75
|
+
}
|
|
76
|
+
: undefined, renderRow: (f, s) => renderFieldRow(f, s) }, fieldName));
|
|
77
|
+
});
|
|
78
|
+
return (_jsxs("div", { style: {
|
|
79
|
+
border: '2px solid var(--cds-border-accent)',
|
|
80
|
+
borderRadius: 8,
|
|
81
|
+
padding: '1rem',
|
|
82
|
+
backgroundColor: 'var(--cds-layer-01)',
|
|
83
|
+
position: 'relative',
|
|
84
|
+
}, children: [_jsxs("div", { style: {
|
|
85
|
+
display: 'flex',
|
|
86
|
+
justifyContent: 'space-between',
|
|
87
|
+
alignItems: 'center',
|
|
88
|
+
marginBottom: '1rem',
|
|
89
|
+
paddingBottom: '0.5rem',
|
|
90
|
+
borderBottom: '1px solid var(--cds-border-subtle)',
|
|
91
|
+
}, children: [_jsxs("div", { style: {
|
|
92
|
+
fontSize: '0.875rem',
|
|
93
|
+
fontWeight: 600,
|
|
94
|
+
color: 'var(--cds-text-primary)',
|
|
95
|
+
display: 'flex',
|
|
96
|
+
alignItems: 'center',
|
|
97
|
+
gap: '0.5rem',
|
|
98
|
+
}, children: [_jsx("span", { style: {
|
|
99
|
+
backgroundColor: 'var(--cds-support-info)',
|
|
100
|
+
color: 'white',
|
|
101
|
+
padding: '0.25rem 0.5rem',
|
|
102
|
+
borderRadius: 4,
|
|
103
|
+
fontSize: '0.75rem',
|
|
104
|
+
fontWeight: 500,
|
|
105
|
+
}, children: "OR" }), "Alternative Filter Conditions"] }), _jsx(Button, { kind: 'ghost', size: 'sm', renderIcon: Close, iconDescription: 'Remove OR section', onClick: () => removeOrSection(sectionId), hasIconOnly: true })] }), sectionFields.length === 0 ? (_jsx("div", { style: {
|
|
106
|
+
textAlign: 'center',
|
|
107
|
+
padding: '1rem',
|
|
108
|
+
color: 'var(--cds-text-secondary)',
|
|
109
|
+
fontSize: '0.875rem',
|
|
110
|
+
}, children: "No conditions added to this OR section. Add fields below to create alternative filter conditions." })) : (_jsxs("div", { children: [regularFields, arrayFieldElements] })), availableFields.length > 0 && (_jsx("div", { style: { marginTop: '1rem' }, children: _jsxs(Select, { id: `or-section-${sectionId}-field-select`, labelText: 'Add Field to OR Section', value: '', onChange: (e) => {
|
|
111
|
+
const fieldName = e.target.value;
|
|
112
|
+
if (fieldName) {
|
|
113
|
+
addOptionalFieldToSection(fieldName, sectionId);
|
|
114
|
+
}
|
|
115
|
+
}, children: [_jsx(SelectItem, { value: '', text: 'Select field to add...' }), availableFields.map((field) => (_jsx(SelectItem, { value: field.fieldName, text: field.spec.label }, field.fieldName)))] }) }))] }, sectionId));
|
|
116
|
+
};
|
|
@@ -0,0 +1,406 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH
|
|
4
|
+
* under one or more contributor license agreements. Licensed under a commercial license.
|
|
5
|
+
* You may not use this file except in compliance with the commercial license.
|
|
6
|
+
*/
|
|
7
|
+
import { Button, Select, SelectItem, Stack } from '@carbon/react';
|
|
8
|
+
import { Add } from '@carbon/react/icons/index.esm.js';
|
|
9
|
+
import { useCallback, useEffect, useState } from 'react';
|
|
10
|
+
import { FieldRow } from './FieldRow.js';
|
|
11
|
+
import { FiltersSection } from './FiltersSection.js';
|
|
12
|
+
import { OrSection } from './OrSection.js';
|
|
13
|
+
import { convertDateToISOString, getInitialValue, isArrayOperator, validateComparisonOperatorValue, } from './utils.js';
|
|
14
|
+
export const C4AdvancedSearchFilters = ({ fields, onFilterChange, }) => {
|
|
15
|
+
const [filterFields, setFilterFields] = useState([]);
|
|
16
|
+
const [orSections, setOrSections] = useState([]);
|
|
17
|
+
const [nextId, setNextId] = useState(1);
|
|
18
|
+
// Initialize with non-optional fields in the root section
|
|
19
|
+
useEffect(() => {
|
|
20
|
+
const initialFields = [];
|
|
21
|
+
Object.entries(fields)
|
|
22
|
+
.filter(([, spec]) => !spec.optional)
|
|
23
|
+
.forEach(([fieldName, spec], index) => {
|
|
24
|
+
if (spec.matchType === 'array' && spec.arrayItems) {
|
|
25
|
+
Object.entries(spec.arrayItems).forEach(([arrayFieldName, arrayFieldSpec]) => {
|
|
26
|
+
initialFields.push({
|
|
27
|
+
id: `field-init-${index}-0-${arrayFieldName}`,
|
|
28
|
+
fieldName: arrayFieldName,
|
|
29
|
+
matchType: arrayFieldSpec.matchType === 'exact-match'
|
|
30
|
+
? 'exact-match'
|
|
31
|
+
: arrayFieldSpec.matchType === 'advanced-filter'
|
|
32
|
+
? 'advanced-filter'
|
|
33
|
+
: undefined,
|
|
34
|
+
operator: arrayFieldSpec.matchType === 'advanced-filter'
|
|
35
|
+
? arrayFieldSpec.operators?.[0]
|
|
36
|
+
: undefined,
|
|
37
|
+
value: getInitialValue(arrayFieldSpec),
|
|
38
|
+
arrayIndex: 0,
|
|
39
|
+
arrayFieldName,
|
|
40
|
+
parentArrayField: fieldName,
|
|
41
|
+
orSectionId: 'root',
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
initialFields.push({
|
|
47
|
+
id: `field-init-${index}`,
|
|
48
|
+
fieldName,
|
|
49
|
+
matchType: spec.matchType === 'exact-match'
|
|
50
|
+
? 'exact-match'
|
|
51
|
+
: spec.matchType === 'advanced-filter'
|
|
52
|
+
? 'advanced-filter'
|
|
53
|
+
: undefined,
|
|
54
|
+
operator: spec.matchType === 'advanced-filter'
|
|
55
|
+
? spec.operators?.[0]
|
|
56
|
+
: undefined,
|
|
57
|
+
value: getInitialValue(spec),
|
|
58
|
+
orSectionId: 'root',
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
setFilterFields(initialFields);
|
|
63
|
+
setNextId(1000);
|
|
64
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
65
|
+
}, [fields]);
|
|
66
|
+
const createInitialField = useCallback((fieldName, spec, arrayIndex, arrayFieldName, parentArrayField, orSectionId = 'root') => {
|
|
67
|
+
const id = `field-${nextId}-${Date.now()}-${Math.random()}`;
|
|
68
|
+
setNextId((prev) => prev + 1);
|
|
69
|
+
return {
|
|
70
|
+
id,
|
|
71
|
+
fieldName,
|
|
72
|
+
matchType: spec.matchType === 'exact-match'
|
|
73
|
+
? 'exact-match'
|
|
74
|
+
: spec.matchType === 'advanced-filter'
|
|
75
|
+
? 'advanced-filter'
|
|
76
|
+
: spec.matchType === 'both'
|
|
77
|
+
? undefined
|
|
78
|
+
: undefined,
|
|
79
|
+
operator: spec.matchType === 'advanced-filter' && spec.operators?.length
|
|
80
|
+
? spec.operators[0]
|
|
81
|
+
: undefined,
|
|
82
|
+
value: getInitialValue(spec),
|
|
83
|
+
arrayIndex,
|
|
84
|
+
arrayFieldName,
|
|
85
|
+
parentArrayField,
|
|
86
|
+
orSectionId,
|
|
87
|
+
};
|
|
88
|
+
}, [nextId]);
|
|
89
|
+
const generatePayload = useCallback((fieldsToProcess) => {
|
|
90
|
+
const payload = {};
|
|
91
|
+
const rootFields = fieldsToProcess.filter((field) => field.orSectionId === 'root');
|
|
92
|
+
const orSectionFields = fieldsToProcess.filter((field) => field.orSectionId !== 'root');
|
|
93
|
+
const processFieldsToPayload = (fieldsList) => {
|
|
94
|
+
const sectionPayload = {};
|
|
95
|
+
const arrayFieldGroups = new Map();
|
|
96
|
+
fieldsList.forEach((field) => {
|
|
97
|
+
const isExistsOperator = field.operator === '$exists';
|
|
98
|
+
if (!isExistsOperator &&
|
|
99
|
+
!['$in', '$notIn'].includes(field.operator || '') &&
|
|
100
|
+
(field.value === undefined ||
|
|
101
|
+
field.value === null ||
|
|
102
|
+
(typeof field.value === 'string' && !field.value.trim()))) {
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
if (['$in', '$notIn'].includes(field.operator || '') &&
|
|
106
|
+
(!field.arrayValues || field.arrayValues.length === 0)) {
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
if (field.parentArrayField &&
|
|
110
|
+
field.arrayIndex !== undefined &&
|
|
111
|
+
field.arrayFieldName) {
|
|
112
|
+
if (!arrayFieldGroups.has(field.parentArrayField)) {
|
|
113
|
+
arrayFieldGroups.set(field.parentArrayField, new Map());
|
|
114
|
+
}
|
|
115
|
+
const arrayItems = arrayFieldGroups.get(field.parentArrayField);
|
|
116
|
+
if (!arrayItems.has(field.arrayIndex)) {
|
|
117
|
+
arrayItems.set(field.arrayIndex, {});
|
|
118
|
+
}
|
|
119
|
+
const arrayItem = arrayItems.get(field.arrayIndex);
|
|
120
|
+
let fieldValue;
|
|
121
|
+
if (field.matchType === 'exact-match' || !field.operator) {
|
|
122
|
+
fieldValue = convertDateToISOString(field.value);
|
|
123
|
+
}
|
|
124
|
+
else if (['$in', '$notIn'].includes(field.operator)) {
|
|
125
|
+
fieldValue = {
|
|
126
|
+
[field.operator]: convertDateToISOString(field.arrayValues),
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
fieldValue = {
|
|
131
|
+
[field.operator]: convertDateToISOString(field.value),
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
arrayItem[field.arrayFieldName] = fieldValue;
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
let fieldValue;
|
|
138
|
+
if (field.matchType === 'exact-match' || !field.operator) {
|
|
139
|
+
fieldValue = convertDateToISOString(field.value);
|
|
140
|
+
}
|
|
141
|
+
else if (['$in', '$notIn'].includes(field.operator)) {
|
|
142
|
+
fieldValue = {
|
|
143
|
+
[field.operator]: convertDateToISOString(field.arrayValues),
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
fieldValue = {
|
|
148
|
+
[field.operator]: convertDateToISOString(field.value),
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
sectionPayload[field.fieldName] = fieldValue;
|
|
152
|
+
}
|
|
153
|
+
});
|
|
154
|
+
arrayFieldGroups.forEach((arrayItems, parentFieldName) => {
|
|
155
|
+
const sortedArrayItems = Array.from(arrayItems.entries())
|
|
156
|
+
.sort(([a], [b]) => a - b)
|
|
157
|
+
.map(([, item]) => item)
|
|
158
|
+
.filter((item) => Object.keys(item).length > 0);
|
|
159
|
+
if (sortedArrayItems.length > 0) {
|
|
160
|
+
sectionPayload[parentFieldName] = sortedArrayItems;
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
return sectionPayload;
|
|
164
|
+
};
|
|
165
|
+
const rootPayload = processFieldsToPayload(rootFields);
|
|
166
|
+
Object.assign(payload, rootPayload);
|
|
167
|
+
if (orSectionFields.length > 0) {
|
|
168
|
+
const orSectionMap = new Map();
|
|
169
|
+
orSectionFields.forEach((field) => {
|
|
170
|
+
const sectionId = field.orSectionId;
|
|
171
|
+
if (!orSectionMap.has(sectionId)) {
|
|
172
|
+
orSectionMap.set(sectionId, []);
|
|
173
|
+
}
|
|
174
|
+
orSectionMap.get(sectionId)?.push(field);
|
|
175
|
+
});
|
|
176
|
+
const orPayloads = [];
|
|
177
|
+
orSectionMap.forEach((fields) => {
|
|
178
|
+
const orPayload = processFieldsToPayload(fields);
|
|
179
|
+
if (Object.keys(orPayload).length > 0) {
|
|
180
|
+
orPayloads.push(orPayload);
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
if (orPayloads.length > 0) {
|
|
184
|
+
payload.$or = orPayloads;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
return payload;
|
|
188
|
+
}, []);
|
|
189
|
+
const updateFilter = useCallback((updatedFields) => {
|
|
190
|
+
setFilterFields(updatedFields);
|
|
191
|
+
const payload = generatePayload(updatedFields);
|
|
192
|
+
onFilterChange(payload);
|
|
193
|
+
}, [generatePayload, onFilterChange]);
|
|
194
|
+
const addOrSection = useCallback(() => {
|
|
195
|
+
const newSectionId = `or-${Date.now()}`;
|
|
196
|
+
setOrSections((prev) => [...prev, newSectionId]);
|
|
197
|
+
}, []);
|
|
198
|
+
const removeOrSection = useCallback((sectionId) => {
|
|
199
|
+
const updatedFields = filterFields.filter((field) => field.orSectionId !== sectionId);
|
|
200
|
+
updateFilter(updatedFields);
|
|
201
|
+
setOrSections((prev) => prev.filter((id) => id !== sectionId));
|
|
202
|
+
}, [filterFields, updateFilter]);
|
|
203
|
+
const addOptionalFieldToSection = useCallback((fieldName, sectionId = 'root') => {
|
|
204
|
+
const spec = fields[fieldName];
|
|
205
|
+
if (!spec) {
|
|
206
|
+
return;
|
|
207
|
+
}
|
|
208
|
+
if (spec.matchType === 'array' && spec.arrayItems) {
|
|
209
|
+
const newFields = [];
|
|
210
|
+
Object.entries(spec.arrayItems).forEach(([arrayFieldName, arrayFieldSpec]) => {
|
|
211
|
+
newFields.push(createInitialField(arrayFieldName, arrayFieldSpec, 0, arrayFieldName, fieldName, sectionId));
|
|
212
|
+
});
|
|
213
|
+
updateFilter([...filterFields, ...newFields]);
|
|
214
|
+
}
|
|
215
|
+
else {
|
|
216
|
+
const newField = createInitialField(fieldName, spec, undefined, undefined, undefined, sectionId);
|
|
217
|
+
updateFilter([...filterFields, newField]);
|
|
218
|
+
}
|
|
219
|
+
}, [fields, filterFields, createInitialField, updateFilter]);
|
|
220
|
+
const handleFieldChange = useCallback((fieldId, updates) => {
|
|
221
|
+
const updatedFields = filterFields.map((field) => {
|
|
222
|
+
if (field.id === fieldId) {
|
|
223
|
+
const updatedField = { ...field, ...updates };
|
|
224
|
+
// Get field spec to determine field type
|
|
225
|
+
const spec = field.parentArrayField
|
|
226
|
+
? fields[field.parentArrayField]?.arrayItems?.[field.arrayFieldName]
|
|
227
|
+
: fields[field.fieldName];
|
|
228
|
+
// Validate comparison operators for number and date-time fields
|
|
229
|
+
if (updatedField.operator && updatedField.value && spec) {
|
|
230
|
+
const fieldType = spec.type || 'string';
|
|
231
|
+
const error = validateComparisonOperatorValue(updatedField.value, updatedField.operator, fieldType);
|
|
232
|
+
updatedField.inputError = error;
|
|
233
|
+
}
|
|
234
|
+
else {
|
|
235
|
+
updatedField.inputError = undefined;
|
|
236
|
+
}
|
|
237
|
+
// Reset operator-specific data when operator changes
|
|
238
|
+
if (updates.operator && updates.operator !== field.operator) {
|
|
239
|
+
if (isArrayOperator(updates.operator)) {
|
|
240
|
+
updatedField.arrayValues = updatedField.arrayValues || [];
|
|
241
|
+
updatedField.value = '';
|
|
242
|
+
}
|
|
243
|
+
else {
|
|
244
|
+
updatedField.arrayValues = undefined;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
return updatedField;
|
|
248
|
+
}
|
|
249
|
+
return field;
|
|
250
|
+
});
|
|
251
|
+
updateFilter(updatedFields);
|
|
252
|
+
}, [filterFields, updateFilter, fields]);
|
|
253
|
+
const addArrayValue = useCallback((fieldId, value) => {
|
|
254
|
+
// For dates, use ISO string for comparison and storage
|
|
255
|
+
const comparisonValue = value instanceof Date ? value.toISOString() : String(value).trim();
|
|
256
|
+
if (comparisonValue.length === 0) {
|
|
257
|
+
return;
|
|
258
|
+
}
|
|
259
|
+
const updatedFields = filterFields.map((field) => {
|
|
260
|
+
if (field.id === fieldId) {
|
|
261
|
+
const currentArrayValues = field.arrayValues || [];
|
|
262
|
+
// Check if value already exists (use ISO string for dates)
|
|
263
|
+
const valueExists = currentArrayValues.some((v) => {
|
|
264
|
+
const existingValue = v instanceof Date ? v.toISOString() : String(v);
|
|
265
|
+
return existingValue === comparisonValue;
|
|
266
|
+
});
|
|
267
|
+
if (!valueExists) {
|
|
268
|
+
return {
|
|
269
|
+
...field,
|
|
270
|
+
arrayValues: [...currentArrayValues, value],
|
|
271
|
+
value: getInitialValue(fields[field.fieldName] || fields[field.arrayFieldName]), // Clear input after adding
|
|
272
|
+
};
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
return field;
|
|
276
|
+
});
|
|
277
|
+
updateFilter(updatedFields);
|
|
278
|
+
}, [filterFields, updateFilter, fields]);
|
|
279
|
+
const removeArrayValue = useCallback((fieldId, valueToRemove) => {
|
|
280
|
+
const comparisonValue = valueToRemove instanceof Date
|
|
281
|
+
? valueToRemove.toISOString()
|
|
282
|
+
: String(valueToRemove);
|
|
283
|
+
const updatedFields = filterFields.map((field) => {
|
|
284
|
+
if (field.id === fieldId && field.arrayValues) {
|
|
285
|
+
return {
|
|
286
|
+
...field,
|
|
287
|
+
arrayValues: field.arrayValues.filter((v) => {
|
|
288
|
+
const existingValue = v instanceof Date ? v.toISOString() : String(v);
|
|
289
|
+
return existingValue !== comparisonValue;
|
|
290
|
+
}),
|
|
291
|
+
};
|
|
292
|
+
}
|
|
293
|
+
return field;
|
|
294
|
+
});
|
|
295
|
+
updateFilter(updatedFields);
|
|
296
|
+
}, [filterFields, updateFilter]);
|
|
297
|
+
const addOptionalField = useCallback((fieldName) => {
|
|
298
|
+
const spec = fields[fieldName];
|
|
299
|
+
if (!spec) {
|
|
300
|
+
return;
|
|
301
|
+
}
|
|
302
|
+
if (spec.matchType === 'array' && spec.arrayItems) {
|
|
303
|
+
// For array fields, create initial empty array items
|
|
304
|
+
// Start with one array item by default
|
|
305
|
+
const newFields = [];
|
|
306
|
+
Object.entries(spec.arrayItems).forEach(([arrayFieldName, arrayFieldSpec]) => {
|
|
307
|
+
newFields.push(createInitialField(arrayFieldName, arrayFieldSpec, 0, // Start with index 0
|
|
308
|
+
arrayFieldName, fieldName, // parentArrayField
|
|
309
|
+
'root'));
|
|
310
|
+
});
|
|
311
|
+
updateFilter([...filterFields, ...newFields]);
|
|
312
|
+
}
|
|
313
|
+
else {
|
|
314
|
+
// Regular fields
|
|
315
|
+
const newField = createInitialField(fieldName, spec);
|
|
316
|
+
updateFilter([...filterFields, newField]);
|
|
317
|
+
}
|
|
318
|
+
}, [fields, filterFields, createInitialField, updateFilter]);
|
|
319
|
+
const removeField = useCallback((fieldId) => {
|
|
320
|
+
const updatedFields = filterFields.filter((field) => field.id !== fieldId);
|
|
321
|
+
updateFilter(updatedFields);
|
|
322
|
+
}, [filterFields, updateFilter]);
|
|
323
|
+
const addArrayItem = useCallback((parentFieldName, orSectionId = 'root') => {
|
|
324
|
+
const spec = fields[parentFieldName];
|
|
325
|
+
if (!spec?.arrayItems) {
|
|
326
|
+
return;
|
|
327
|
+
}
|
|
328
|
+
const existingArrayItems = filterFields.filter((f) => f.parentArrayField === parentFieldName &&
|
|
329
|
+
f.orSectionId === orSectionId);
|
|
330
|
+
// Find the highest array index for this parent field in this OR section
|
|
331
|
+
const maxIndex = existingArrayItems.reduce((max, field) => field.arrayIndex !== undefined
|
|
332
|
+
? Math.max(max, field.arrayIndex)
|
|
333
|
+
: max, -1);
|
|
334
|
+
const nextIndex = maxIndex + 1;
|
|
335
|
+
// Create new fields for all array item properties
|
|
336
|
+
const newFields = [];
|
|
337
|
+
Object.entries(spec.arrayItems).forEach(([arrayFieldName, arrayFieldSpec]) => {
|
|
338
|
+
newFields.push(createInitialField(arrayFieldName, arrayFieldSpec, nextIndex, arrayFieldName, parentFieldName, orSectionId));
|
|
339
|
+
});
|
|
340
|
+
updateFilter([...filterFields, ...newFields]);
|
|
341
|
+
}, [fields, filterFields, createInitialField, updateFilter]);
|
|
342
|
+
const renderFieldRow = (field, spec) => (_jsx(FieldRow, { field: field, spec: spec, onFieldChange: handleFieldChange, onRemove: spec.optional ? removeField : undefined, onAddArrayValue: addArrayValue, onRemoveArrayValue: removeArrayValue }, field.id));
|
|
343
|
+
const getAvailableOptionalFields = () => {
|
|
344
|
+
const addedFields = new Set(filterFields
|
|
345
|
+
.filter((f) => f.orSectionId === 'root' && !f.parentArrayField)
|
|
346
|
+
.map((f) => f.fieldName));
|
|
347
|
+
// Also include array fields that have been added
|
|
348
|
+
const addedArrayFields = new Set(filterFields
|
|
349
|
+
.filter((f) => f.orSectionId === 'root' && f.parentArrayField)
|
|
350
|
+
.map((f) => f.parentArrayField));
|
|
351
|
+
return Object.entries(fields)
|
|
352
|
+
.filter(([fieldName, spec]) => spec.optional &&
|
|
353
|
+
!addedFields.has(fieldName) &&
|
|
354
|
+
!addedArrayFields.has(fieldName))
|
|
355
|
+
.map(([fieldName, spec]) => ({ fieldName, spec }))
|
|
356
|
+
.sort((a, b) => a.spec.label.localeCompare(b.spec.label));
|
|
357
|
+
};
|
|
358
|
+
return (_jsx(Stack, { gap: 5, children: Object.keys(fields).length === 0 ? (_jsx("div", { style: {
|
|
359
|
+
textAlign: 'center',
|
|
360
|
+
padding: '2rem',
|
|
361
|
+
color: 'var(--cds-text-secondary)',
|
|
362
|
+
fontSize: '0.875rem',
|
|
363
|
+
}, children: "No fields are configured for this filter component." })) : (_jsxs(_Fragment, { children: [filterFields.filter((f) => f.orSectionId === 'root').length === 0 &&
|
|
364
|
+
getAvailableOptionalFields().length > 0 ? (_jsx("div", { style: {
|
|
365
|
+
textAlign: 'center',
|
|
366
|
+
padding: '1rem',
|
|
367
|
+
color: 'var(--cds-text-secondary)',
|
|
368
|
+
fontSize: '0.875rem',
|
|
369
|
+
marginBottom: '1rem',
|
|
370
|
+
}, children: "No fields are currently selected. Add optional fields below to start filtering." })) : (_jsxs("div", { children: [_jsxs("div", { style: {
|
|
371
|
+
fontSize: '1rem',
|
|
372
|
+
fontWeight: '600',
|
|
373
|
+
color: 'var(--cds-text-primary)',
|
|
374
|
+
marginBottom: '1rem',
|
|
375
|
+
display: 'flex',
|
|
376
|
+
alignItems: 'center',
|
|
377
|
+
gap: '0.5rem',
|
|
378
|
+
}, children: [_jsx("span", { style: {
|
|
379
|
+
backgroundColor: 'var(--cds-support-success)',
|
|
380
|
+
color: 'white',
|
|
381
|
+
padding: '0.25rem 0.5rem',
|
|
382
|
+
borderRadius: '4px',
|
|
383
|
+
fontSize: '0.75rem',
|
|
384
|
+
fontWeight: '500',
|
|
385
|
+
}, children: "AND" }), "Main Filter Conditions"] }), _jsx(FiltersSection, { fields: fields, filterFields: filterFields.filter((f) => f.orSectionId === 'root'), addArrayItem: addArrayItem, updateFilter: updateFilter, renderFieldRow: renderFieldRow })] })), getAvailableOptionalFields().length > 0 && (_jsxs("div", { style: {
|
|
386
|
+
marginTop: filterFields.filter((f) => f.orSectionId === 'root')
|
|
387
|
+
.length === 0
|
|
388
|
+
? '0'
|
|
389
|
+
: '1rem',
|
|
390
|
+
}, children: [filterFields.filter((f) => f.orSectionId === 'root').length ===
|
|
391
|
+
0 && (_jsx("div", { style: {
|
|
392
|
+
marginBottom: '1rem',
|
|
393
|
+
color: 'var(--cds-text-primary)',
|
|
394
|
+
fontSize: '0.875rem',
|
|
395
|
+
fontWeight: '500',
|
|
396
|
+
}, children: "Add fields to create your filter:" })), _jsxs(Select, { id: 'optional-field-select', labelText: 'Add Fields to Main Filter', value: '', onChange: (e) => {
|
|
397
|
+
const fieldName = e.target.value;
|
|
398
|
+
if (fieldName) {
|
|
399
|
+
addOptionalField(fieldName);
|
|
400
|
+
}
|
|
401
|
+
}, children: [_jsx(SelectItem, { value: '', text: 'Select field to add...' }), getAvailableOptionalFields().map((field) => (_jsx(SelectItem, { value: field.fieldName, text: field.spec.label }, field.fieldName)))] })] })), orSections.map((sectionId) => (_jsx(OrSection, { sectionId: sectionId, fieldsConfig: fields, filterFields: filterFields.filter((f) => f.orSectionId === sectionId), addArrayItem: addArrayItem, removeOrSection: removeOrSection, addOptionalFieldToSection: addOptionalFieldToSection, updateFilter: updateFilter, renderFieldRow: renderFieldRow }, sectionId))), _jsxs("div", { style: { marginTop: '1rem' }, children: [_jsx(Button, { kind: 'tertiary', size: 'sm', renderIcon: Add, onClick: addOrSection, children: "Add OR Condition" }), _jsx("div", { style: {
|
|
402
|
+
fontSize: '0.75rem',
|
|
403
|
+
color: 'var(--cds-text-secondary)',
|
|
404
|
+
marginTop: '0.5rem',
|
|
405
|
+
}, children: "OR conditions provide alternative filter criteria. Records matching ANY of these conditions will be included." })] })] })) }));
|
|
406
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export type AdvancedFilterOperator = '$eq' | '$neq' | '$exists' | '$gt' | '$gte' | '$lt' | '$lte' | '$like' | '$in' | '$notIn';
|
|
2
|
+
export type FieldMatchType = 'exact-match' | 'advanced-filter' | 'both' | 'array';
|
|
3
|
+
export type FieldDataType = 'string' | 'number' | 'date-time' | 'enum' | 'boolean';
|
|
4
|
+
export interface FieldSpec {
|
|
5
|
+
label: string;
|
|
6
|
+
description: string;
|
|
7
|
+
matchType: FieldMatchType;
|
|
8
|
+
type?: FieldDataType;
|
|
9
|
+
optional: boolean;
|
|
10
|
+
operators?: AdvancedFilterOperator[];
|
|
11
|
+
enumValues?: string[];
|
|
12
|
+
arrayItems?: FieldSpecMap;
|
|
13
|
+
/**
|
|
14
|
+
* Optional async suggestion provider. If present (and the field data type is string),
|
|
15
|
+
* it will be invoked (debounced) after the user stops typing for 500ms.
|
|
16
|
+
* Returned suggestions (string array) will be rendered beneath the input allowing
|
|
17
|
+
* quick selection. An empty / falsy result clears the suggestions list.
|
|
18
|
+
*/
|
|
19
|
+
fetchSuggestions?: (input: string) => Promise<string[]>;
|
|
20
|
+
}
|
|
21
|
+
export interface FieldSpecMap {
|
|
22
|
+
[fieldName: string]: FieldSpec;
|
|
23
|
+
}
|
|
24
|
+
export interface FilterPayload {
|
|
25
|
+
[fieldName: string]: unknown;
|
|
26
|
+
$or?: FilterPayload[];
|
|
27
|
+
}
|
|
28
|
+
export interface C4AdvancedSearchFiltersProps {
|
|
29
|
+
fields: FieldSpecMap;
|
|
30
|
+
onFilterChange: (payload: FilterPayload) => void;
|
|
31
|
+
initialFilters?: FilterPayload;
|
|
32
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { AdvancedFilterOperator } from './c4-advanced-search-filters.types';
|
|
2
|
+
export interface FilterFieldState {
|
|
3
|
+
id: string;
|
|
4
|
+
fieldName: string;
|
|
5
|
+
matchType?: 'exact-match' | 'advanced-filter';
|
|
6
|
+
operator?: AdvancedFilterOperator;
|
|
7
|
+
value: string | number | boolean | Date;
|
|
8
|
+
arrayValues?: (string | number | boolean | Date)[];
|
|
9
|
+
inputError?: string;
|
|
10
|
+
arrayIndex?: number;
|
|
11
|
+
arrayFieldName?: string;
|
|
12
|
+
parentArrayField?: string;
|
|
13
|
+
orSectionId?: string;
|
|
14
|
+
}
|