@e-llm-studio/instant-learning 0.0.309 → 0.1.1-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/6fbbe065ef78c384.gif +0 -0
- package/dist/cjs/6fbbe065ef78c384.gif +0 -0
- package/dist/cjs/features/IL-OTJ/_components/MessageRendering/RuleValidationCard.js +1 -1
- package/dist/cjs/features/LearningManagement/apis/scopeApis.js +2 -0
- package/dist/cjs/features/LearningManagement/apis/scopeApis.js.map +1 -0
- package/dist/cjs/features/LearningManagement/components/StationOnboarding/InputField.js +2 -0
- package/dist/cjs/features/LearningManagement/components/StationOnboarding/InputField.js.map +1 -0
- package/dist/cjs/features/LearningManagement/components/ToolTip.js +2 -0
- package/dist/cjs/features/LearningManagement/components/ToolTip.js.map +1 -0
- package/dist/cjs/features/LearningManagement/config.js +2 -0
- package/dist/cjs/features/LearningManagement/config.js.map +1 -0
- package/dist/cjs/features/LearningManagement/hooks/useLearningTemplateQueryParams.js +2 -0
- package/dist/cjs/features/LearningManagement/hooks/useLearningTemplateQueryParams.js.map +1 -0
- package/dist/cjs/features/LearningManagement/store/useAuthStore.js +2 -0
- package/dist/cjs/features/LearningManagement/store/useAuthStore.js.map +1 -0
- package/dist/cjs/features/LearningManagement/store/useConfigStore.js +2 -0
- package/dist/cjs/features/LearningManagement/store/useConfigStore.js.map +1 -0
- package/dist/cjs/features/LearningManagement/store/useEnvStore.js +2 -0
- package/dist/cjs/features/LearningManagement/store/useEnvStore.js.map +1 -0
- package/dist/cjs/features/LearningManagement/store/useLearningTemplateStore.js +2 -0
- package/dist/cjs/features/LearningManagement/store/useLearningTemplateStore.js.map +1 -0
- package/dist/cjs/features/LearningManagement/styles/InputField.module.css.js +2 -0
- package/dist/cjs/features/LearningManagement/styles/InputField.module.css.js.map +1 -0
- package/dist/cjs/features/LearningManagement/styles/ToolTip.module.css.js +2 -0
- package/dist/cjs/features/LearningManagement/styles/ToolTip.module.css.js.map +1 -0
- package/dist/cjs/index.js +1 -1
- package/dist/features/IL-OTJ/_components/MessageRendering/RuleValidationCard.js +1 -1
- package/dist/features/LearningManagement/apis/scopeApis.js +2 -0
- package/dist/features/LearningManagement/apis/scopeApis.js.map +1 -0
- package/dist/features/LearningManagement/components/StationOnboarding/InputField.js +2 -0
- package/dist/features/LearningManagement/components/StationOnboarding/InputField.js.map +1 -0
- package/dist/features/LearningManagement/components/ToolTip.js +2 -0
- package/dist/features/LearningManagement/components/ToolTip.js.map +1 -0
- package/dist/features/LearningManagement/config.js +2 -0
- package/dist/features/LearningManagement/config.js.map +1 -0
- package/dist/features/LearningManagement/hooks/useLearningTemplateQueryParams.js +2 -0
- package/dist/features/LearningManagement/hooks/useLearningTemplateQueryParams.js.map +1 -0
- package/dist/features/LearningManagement/store/useAuthStore.js +2 -0
- package/dist/features/LearningManagement/store/useAuthStore.js.map +1 -0
- package/dist/features/LearningManagement/store/useConfigStore.js +2 -0
- package/dist/features/LearningManagement/store/useConfigStore.js.map +1 -0
- package/dist/features/LearningManagement/store/useEnvStore.js +2 -0
- package/dist/features/LearningManagement/store/useEnvStore.js.map +1 -0
- package/dist/features/LearningManagement/store/useLearningTemplateStore.js +2 -0
- package/dist/features/LearningManagement/store/useLearningTemplateStore.js.map +1 -0
- package/dist/features/LearningManagement/styles/InputField.module.css.js +2 -0
- package/dist/features/LearningManagement/styles/InputField.module.css.js.map +1 -0
- package/dist/features/LearningManagement/styles/ToolTip.module.css.js +2 -0
- package/dist/features/LearningManagement/styles/ToolTip.module.css.js.map +1 -0
- package/dist/index.js +1 -1
- package/dist/types/src/App.d.ts.map +1 -1
- package/dist/types/src/features/IL-OTJ/_components/index.d.ts +1 -0
- package/dist/types/src/features/IL-OTJ/_components/index.d.ts.map +1 -1
- package/dist/types/src/features/LearningManagement/LearningManagement.d.ts +30 -0
- package/dist/types/src/features/LearningManagement/LearningManagement.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/LearningManagementTest.d.ts +3 -0
- package/dist/types/src/features/LearningManagement/LearningManagementTest.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/LearningTemplateLayout.d.ts +25 -0
- package/dist/types/src/features/LearningManagement/LearningTemplateLayout.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/RuleContent/ContentLogic.d.ts +44 -0
- package/dist/types/src/features/LearningManagement/RuleContent/ContentLogic.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/RuleContent/HistorySkeleton.d.ts +10 -0
- package/dist/types/src/features/LearningManagement/RuleContent/HistorySkeleton.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/RuleContent/InheritanceBreadcrumb.d.ts +22 -0
- package/dist/types/src/features/LearningManagement/RuleContent/InheritanceBreadcrumb.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/RuleContent/OverrideTimeline.d.ts +23 -0
- package/dist/types/src/features/LearningManagement/RuleContent/OverrideTimeline.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/RuleContent/RuleAccordion.d.ts +129 -0
- package/dist/types/src/features/LearningManagement/RuleContent/RuleAccordion.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/RuleContent/RuleAccordionHeader.d.ts +45 -0
- package/dist/types/src/features/LearningManagement/RuleContent/RuleAccordionHeader.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/RuleContent/RuleAccordionShell.d.ts +67 -0
- package/dist/types/src/features/LearningManagement/RuleContent/RuleAccordionShell.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/RuleContent/RuleConditionBlock.d.ts +39 -0
- package/dist/types/src/features/LearningManagement/RuleContent/RuleConditionBlock.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/RuleContent/RuleContent.d.ts +46 -0
- package/dist/types/src/features/LearningManagement/RuleContent/RuleContent.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/RuleContent/RuleHeader.d.ts +35 -0
- package/dist/types/src/features/LearningManagement/RuleContent/RuleHeader.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/RuleContent/RuleTierList.d.ts +51 -0
- package/dist/types/src/features/LearningManagement/RuleContent/RuleTierList.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/RuleContent/TierCard.d.ts +59 -0
- package/dist/types/src/features/LearningManagement/RuleContent/TierCard.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/RuleContent/VariantCard.d.ts +101 -0
- package/dist/types/src/features/LearningManagement/RuleContent/VariantCard.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/RuleContent/VariantList.d.ts +104 -0
- package/dist/types/src/features/LearningManagement/RuleContent/VariantList.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/Sidebar.d.ts +33 -0
- package/dist/types/src/features/LearningManagement/Sidebar.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/SidebarWrapper.d.ts +30 -0
- package/dist/types/src/features/LearningManagement/SidebarWrapper.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/StationsContent/StationsContent.d.ts +16 -0
- package/dist/types/src/features/LearningManagement/StationsContent/StationsContent.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/apis/apiConfig.d.ts +27 -0
- package/dist/types/src/features/LearningManagement/apis/apiConfig.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/apis/scopeApis.d.ts +214 -0
- package/dist/types/src/features/LearningManagement/apis/scopeApis.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/components/CardSkeleton.d.ts +7 -0
- package/dist/types/src/features/LearningManagement/components/CardSkeleton.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/components/ConfirmationModal.d.ts +21 -0
- package/dist/types/src/features/LearningManagement/components/ConfirmationModal.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/components/CreateLearningSetModal.d.ts +20 -0
- package/dist/types/src/features/LearningManagement/components/CreateLearningSetModal.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/components/CustomTooltip.d.ts +15 -0
- package/dist/types/src/features/LearningManagement/components/CustomTooltip.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/components/EmptyLearningState.d.ts +26 -0
- package/dist/types/src/features/LearningManagement/components/EmptyLearningState.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/components/ErrorStateDisplay.d.ts +25 -0
- package/dist/types/src/features/LearningManagement/components/ErrorStateDisplay.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/components/InstantLearningModal.d.ts +33 -0
- package/dist/types/src/features/LearningManagement/components/InstantLearningModal.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/components/LearningTemplateManagementSkeleton.d.ts +7 -0
- package/dist/types/src/features/LearningManagement/components/LearningTemplateManagementSkeleton.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/components/RuleContentSkeleton.d.ts +7 -0
- package/dist/types/src/features/LearningManagement/components/RuleContentSkeleton.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/components/ScopeTree/HighlightedText.d.ts +8 -0
- package/dist/types/src/features/LearningManagement/components/ScopeTree/HighlightedText.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/components/ScopeTree/TreeAddAction.d.ts +8 -0
- package/dist/types/src/features/LearningManagement/components/ScopeTree/TreeAddAction.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/components/ScopeTree/TreeMenu.d.ts +17 -0
- package/dist/types/src/features/LearningManagement/components/ScopeTree/TreeMenu.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/components/ScopeTree/TreeNode.d.ts +24 -0
- package/dist/types/src/features/LearningManagement/components/ScopeTree/TreeNode.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/components/ScopeTree/TreeNodeHeader.d.ts +17 -0
- package/dist/types/src/features/LearningManagement/components/ScopeTree/TreeNodeHeader.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/components/ScopeTree/TreeSectionItem.d.ts +16 -0
- package/dist/types/src/features/LearningManagement/components/ScopeTree/TreeSectionItem.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/components/ScopeTree/TreeSidebar.d.ts +19 -0
- package/dist/types/src/features/LearningManagement/components/ScopeTree/TreeSidebar.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/components/ScopeTree/TreeTooltip.d.ts +10 -0
- package/dist/types/src/features/LearningManagement/components/ScopeTree/TreeTooltip.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/components/SidebarSearch.d.ts +25 -0
- package/dist/types/src/features/LearningManagement/components/SidebarSearch.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/components/Skeleton.d.ts +12 -0
- package/dist/types/src/features/LearningManagement/components/Skeleton.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/components/StationOnboarding/InputField.d.ts +27 -0
- package/dist/types/src/features/LearningManagement/components/StationOnboarding/InputField.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/components/StationOnboarding/OnboardingLoader.d.ts +19 -0
- package/dist/types/src/features/LearningManagement/components/StationOnboarding/OnboardingLoader.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/components/StationOnboarding/StationAutocomplete.d.ts +14 -0
- package/dist/types/src/features/LearningManagement/components/StationOnboarding/StationAutocomplete.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/components/StationOnboarding/StationOnboardModal.d.ts +14 -0
- package/dist/types/src/features/LearningManagement/components/StationOnboarding/StationOnboardModal.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/components/StationOnboarding/TemplateCard.d.ts +22 -0
- package/dist/types/src/features/LearningManagement/components/StationOnboarding/TemplateCard.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/components/ToolTip.d.ts +8 -0
- package/dist/types/src/features/LearningManagement/components/ToolTip.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/config.d.ts +49 -0
- package/dist/types/src/features/LearningManagement/config.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/hooks/useLearningTemplateQueryParams.d.ts +43 -0
- package/dist/types/src/features/LearningManagement/hooks/useLearningTemplateQueryParams.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/shared/ErrorToastContent.d.ts +22 -0
- package/dist/types/src/features/LearningManagement/shared/ErrorToastContent.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/shared/SuccessToastContent.d.ts +22 -0
- package/dist/types/src/features/LearningManagement/shared/SuccessToastContent.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/shared/index.d.ts +7 -0
- package/dist/types/src/features/LearningManagement/shared/index.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/store/types.d.ts +32 -0
- package/dist/types/src/features/LearningManagement/store/types.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/store/useAuthStore.d.ts +12 -0
- package/dist/types/src/features/LearningManagement/store/useAuthStore.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/store/useConfigStore.d.ts +18 -0
- package/dist/types/src/features/LearningManagement/store/useConfigStore.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/store/useEnvStore.d.ts +9 -0
- package/dist/types/src/features/LearningManagement/store/useEnvStore.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/store/useLearningTemplateStore.d.ts +49 -0
- package/dist/types/src/features/LearningManagement/store/useLearningTemplateStore.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/types.d.ts +228 -0
- package/dist/types/src/features/LearningManagement/types.d.ts.map +1 -0
- package/dist/types/src/features/LearningManagement/utils/treeUtils.d.ts +17 -0
- package/dist/types/src/features/LearningManagement/utils/treeUtils.d.ts.map +1 -0
- package/package.json +16 -7
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { RuleDefinition, RuleVariant, OverrideHistoryResponse, RuleTier } from '../types';
|
|
3
|
+
import RuleAccordionShell, { RuleAccordionShellProps } from './RuleAccordionShell';
|
|
4
|
+
import VariantList, { VariantListProps } from './VariantList';
|
|
5
|
+
/**
|
|
6
|
+
* Props for the RuleAccordion component.
|
|
7
|
+
* This is a convenience wrapper that combines RuleAccordionShell and either VariantList.
|
|
8
|
+
* For more flexibility, use RuleAccordionShell and VariantList separately.
|
|
9
|
+
* Library-ready: fully controlled via props, no store access, no API calls.
|
|
10
|
+
*/
|
|
11
|
+
interface RuleAccordionProps {
|
|
12
|
+
/** The rule definition object */
|
|
13
|
+
rule: RuleDefinition;
|
|
14
|
+
/** Index of the rule in the list */
|
|
15
|
+
idx: number;
|
|
16
|
+
/** All tiers data for linked variant lookup */
|
|
17
|
+
allTiers?: RuleTier[];
|
|
18
|
+
/** Current tier ID */
|
|
19
|
+
currentTierId?: string;
|
|
20
|
+
/** Callback when remove/delete rule is clicked */
|
|
21
|
+
onRemove?: () => void;
|
|
22
|
+
/** Whether the current rule set is global scope */
|
|
23
|
+
isGlobalScope?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Optional handler to fetch override history for a rule/variant.
|
|
26
|
+
* Parent component should implement API call logic.
|
|
27
|
+
* Returns OverrideHistoryResponse or null on error.
|
|
28
|
+
*/
|
|
29
|
+
onFetchOverrideHistory?: (ruleId: string, variantId?: string) => Promise<OverrideHistoryResponse | null>;
|
|
30
|
+
/** Custom label for delete rule button */
|
|
31
|
+
deleteButtonLabel?: string;
|
|
32
|
+
/** Custom label for "Inherited override" chip */
|
|
33
|
+
inheritedOverrideLabel?: string;
|
|
34
|
+
/** Custom label for "Default variant" chip */
|
|
35
|
+
defaultVariantLabel?: string;
|
|
36
|
+
/** Custom label for "View Override" button */
|
|
37
|
+
viewOverrideLabel?: string;
|
|
38
|
+
/** Custom label for "Hide Override" button */
|
|
39
|
+
hideOverrideLabel?: string;
|
|
40
|
+
/** Custom label for "Enable Learning" button for variant*/
|
|
41
|
+
enableLearningVariantLabel?: string;
|
|
42
|
+
/** Custom label for "Disable Learning" button for variant*/
|
|
43
|
+
disableLearningVariantLabel?: string;
|
|
44
|
+
/** Custom label for "Enable Learning" button for Rule*/
|
|
45
|
+
enableLearningRuleLabel?: string;
|
|
46
|
+
/** Custom label for "Disable Learning" button for Rule*/
|
|
47
|
+
disableLearningRuleLabel?: string;
|
|
48
|
+
/** Custom label for "Edit" button */
|
|
49
|
+
editButtonLabel?: string;
|
|
50
|
+
/** Custom label for "When to Apply" section */
|
|
51
|
+
whenToApplyLabel?: string;
|
|
52
|
+
/** Custom label for "When Not to Apply" section */
|
|
53
|
+
whenNotToApplyLabel?: string;
|
|
54
|
+
/** Custom text for no conditions */
|
|
55
|
+
noConditionsText?: string;
|
|
56
|
+
/** Custom error message when history fetch fails */
|
|
57
|
+
historyErrorMessage?: string;
|
|
58
|
+
/** Custom error message when rule ID is missing */
|
|
59
|
+
missingRuleIdMessage?: string;
|
|
60
|
+
/** Callback when Edit button is clicked for a variant */
|
|
61
|
+
onEditVariant?: (variant: RuleVariant, ruleId: string, tierName?: string, action?: 'edit' | 'resolve_gaps') => void;
|
|
62
|
+
/** Callback when Delete button is clicked for a variant */
|
|
63
|
+
onDeleteVariant?: (variantId: string, ruleId: string) => void;
|
|
64
|
+
/** Callback when Edit button is clicked (legacy - for rules without variants) */
|
|
65
|
+
onEdit?: (rule: RuleDefinition, tierName?: string) => void;
|
|
66
|
+
/** Tier name to pass when onEdit is called (e.g., "Tier 1", "Tier 2") */
|
|
67
|
+
tierName?: string;
|
|
68
|
+
/** func for fetch rules for enable/disable Btn */
|
|
69
|
+
onToggleSuccess?: () => void;
|
|
70
|
+
/** Framer Motion drag controls */
|
|
71
|
+
dragControls?: any;
|
|
72
|
+
/** Whether the accordion should be open by default. Defaults to false. */
|
|
73
|
+
defaultOpen?: boolean;
|
|
74
|
+
/** Whether to show the delete button in the header. Defaults to true. */
|
|
75
|
+
showDeleteButton?: boolean;
|
|
76
|
+
/** Whether to show the actions bar (View Override, Edit). Defaults to true. */
|
|
77
|
+
showActionsBar?: boolean;
|
|
78
|
+
/** Custom tier chip to display instead of the default variant chip. If provided, replaces the default. */
|
|
79
|
+
tierChip?: React.ReactNode;
|
|
80
|
+
/** Custom variant chip to display. If tierChip is provided, this is ignored. */
|
|
81
|
+
customVariantChip?: React.ReactNode;
|
|
82
|
+
/** Whether to show the rule description box. Defaults to true. */
|
|
83
|
+
showDescriptionBox?: boolean;
|
|
84
|
+
/** Custom description text to override rule.ruleDesc */
|
|
85
|
+
customDescription?: string;
|
|
86
|
+
/** Whether to show the condition blocks. Defaults to true. */
|
|
87
|
+
showConditions?: boolean;
|
|
88
|
+
/** Whether to show the inheritance breadcrumb. Defaults to true */
|
|
89
|
+
showInheritance?: boolean;
|
|
90
|
+
/** Whether to show connecting lines between variants. Defaults to true */
|
|
91
|
+
showConnectors?: boolean;
|
|
92
|
+
/** Additional class name for the root container */
|
|
93
|
+
className?: string;
|
|
94
|
+
/** Map of highlighted variant IDs to their action type */
|
|
95
|
+
highlightedVariants?: Map<string, 'new' | 'existing'>;
|
|
96
|
+
/** Display names of all tiers that have highlighted variants (for cross-tier banner) */
|
|
97
|
+
highlightedTierNames?: string[];
|
|
98
|
+
/** Callback to indicate which type of delete confirmation is used */
|
|
99
|
+
setDeleteConfirmationUsedFor?: (value: 'ruleDeletion' | 'variantDeletion') => void;
|
|
100
|
+
onCopyToTier?: (variant: RuleVariant, ruleId: string, ruleTitle: string, sourceTier: string, targetTier: string) => void;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Accordion component for displaying a single rule with expandable details.
|
|
104
|
+
* Automatically handles both new variants-based rules and legacy flat rules.
|
|
105
|
+
*
|
|
106
|
+
* When rule.variants[] exists, renders VariantList inside the accordion.
|
|
107
|
+
* This is a convenience wrapper that combines RuleAccordionShell and content.
|
|
108
|
+
*
|
|
109
|
+
* For more flexibility (using accordion with different content, or content without accordion),
|
|
110
|
+
* use RuleAccordionShell and VariantList separately as composable "Lego blocks".
|
|
111
|
+
*
|
|
112
|
+
* @example
|
|
113
|
+
* // Simple usage with variants (new structure)
|
|
114
|
+
* <RuleAccordion rule={ruleWithVariants} idx={0} onEditVariant={handleEdit} />
|
|
115
|
+
*
|
|
116
|
+
* @example
|
|
117
|
+
* // Composable usage - variants
|
|
118
|
+
* <RuleAccordionShell rule={rule} idx={0}>
|
|
119
|
+
* <VariantList variants={rule.variants} ruleId={rule.ruleId} />
|
|
120
|
+
* </RuleAccordionShell>
|
|
121
|
+
*
|
|
122
|
+
* @param props - Component props
|
|
123
|
+
* @returns JSX element displaying the rule accordion
|
|
124
|
+
*/
|
|
125
|
+
declare const RuleAccordion: React.FC<RuleAccordionProps>;
|
|
126
|
+
export default RuleAccordion;
|
|
127
|
+
export { RuleAccordionShell, VariantList };
|
|
128
|
+
export type { RuleAccordionShellProps, VariantListProps };
|
|
129
|
+
//# sourceMappingURL=RuleAccordion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RuleAccordion.d.ts","sourceRoot":"","sources":["../../../../../../src/features/LearningManagement/RuleContent/RuleAccordion.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { RuleDefinition } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* Props for the RuleAccordionHeader component.
|
|
5
|
+
* Library-ready: fully controlled via props.
|
|
6
|
+
*/
|
|
7
|
+
interface RuleAccordionHeaderProps {
|
|
8
|
+
/** The rule definition object */
|
|
9
|
+
rule: RuleDefinition;
|
|
10
|
+
/** Index of the rule in the list (for display numbering) */
|
|
11
|
+
idx: number;
|
|
12
|
+
/** Whether the accordion is expanded */
|
|
13
|
+
isOpen: boolean;
|
|
14
|
+
/** Callback to toggle expansion */
|
|
15
|
+
onToggle: () => void;
|
|
16
|
+
/** Callback when delete is clicked */
|
|
17
|
+
onDelete?: () => void;
|
|
18
|
+
/** Callback when edit is clicked */
|
|
19
|
+
onEdit?: () => void;
|
|
20
|
+
/** Whether the current rule set is global scope (hides inheritance if true) */
|
|
21
|
+
isGlobalScope?: boolean;
|
|
22
|
+
/** Custom label for delete button */
|
|
23
|
+
deleteButtonLabel?: string;
|
|
24
|
+
/** Custom label for edit button */
|
|
25
|
+
editButtonLabel?: string;
|
|
26
|
+
/** Custom label for "Enable Learning" button for Rule*/
|
|
27
|
+
enableLearningRuleLabel?: string;
|
|
28
|
+
/** Custom label for "Disable Learning" button for Rule*/
|
|
29
|
+
disableLearningRuleLabel?: string;
|
|
30
|
+
/** func for fetch rules for enable/disable Btn */
|
|
31
|
+
onToggleSuccess?: () => void;
|
|
32
|
+
/** Framer Motion drag controls */
|
|
33
|
+
dragControls?: any;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Component for the RuleAccordion header section.
|
|
37
|
+
* Displays rule title, data source tag, inheritance breadcrumb, and delete button.
|
|
38
|
+
* Library-ready: fully controlled via props, uses CSS modules.
|
|
39
|
+
*
|
|
40
|
+
* @param props - Component props
|
|
41
|
+
* @returns JSX element displaying the accordion header
|
|
42
|
+
*/
|
|
43
|
+
declare const RuleAccordionHeader: React.FC<RuleAccordionHeaderProps>;
|
|
44
|
+
export default RuleAccordionHeader;
|
|
45
|
+
//# sourceMappingURL=RuleAccordionHeader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RuleAccordionHeader.d.ts","sourceRoot":"","sources":["../../../../../../src/features/LearningManagement/RuleContent/RuleAccordionHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAMxC,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAO1C;;;GAGG;AACH,UAAU,wBAAwB;IAChC,iCAAiC;IACjC,IAAI,EAAE,cAAc,CAAC;IACrB,4DAA4D;IAC5D,GAAG,EAAE,MAAM,CAAC;IACZ,wCAAwC;IACxC,MAAM,EAAE,OAAO,CAAC;IAChB,mCAAmC;IACnC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,+EAA+E;IAC/E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qCAAqC;IACrC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mCAAmC;IACnC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wDAAwD;IACxD,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,yDAAyD;IACzD,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,kDAAkD;IAClD,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,kCAAkC;IAClC,YAAY,CAAC,EAAE,GAAG,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,QAAA,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAiM3D,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
|
+
import { RuleDefinition } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* Props for the RuleAccordionShell component.
|
|
5
|
+
* This is a generic accordion wrapper that can contain any content.
|
|
6
|
+
* Library-ready: fully controlled via props, no store access, no API calls.
|
|
7
|
+
*/
|
|
8
|
+
export interface RuleAccordionShellProps {
|
|
9
|
+
/** The rule definition object (used for header) */
|
|
10
|
+
rule: RuleDefinition;
|
|
11
|
+
/** Index of the rule in the list */
|
|
12
|
+
idx: number;
|
|
13
|
+
/** Callback when remove/delete is clicked */
|
|
14
|
+
onRemove?: () => void;
|
|
15
|
+
/** Callback when edit is clicked */
|
|
16
|
+
onEdit?: () => void;
|
|
17
|
+
/** Whether the current rule set is global scope */
|
|
18
|
+
isGlobalScope?: boolean;
|
|
19
|
+
/** Custom label for delete button */
|
|
20
|
+
deleteButtonLabel?: string;
|
|
21
|
+
/** Custom label for edit button */
|
|
22
|
+
editButtonLabel?: string;
|
|
23
|
+
/** Whether the accordion should be open by default. Defaults to false. */
|
|
24
|
+
defaultOpen?: boolean;
|
|
25
|
+
/** Controlled open state (if provided, component becomes controlled) */
|
|
26
|
+
isOpen?: boolean;
|
|
27
|
+
/** Callback when accordion toggle is clicked */
|
|
28
|
+
onToggle?: (isOpen: boolean) => void;
|
|
29
|
+
/** Whether to show the delete button in the header. Defaults to true. */
|
|
30
|
+
showDeleteButton?: boolean;
|
|
31
|
+
/** Additional class name for the root container */
|
|
32
|
+
className?: string;
|
|
33
|
+
/** Content to render when accordion is expanded */
|
|
34
|
+
children?: ReactNode;
|
|
35
|
+
/** Custom label for "Enable Learning" button for Rule*/
|
|
36
|
+
enableLearningRuleLabel?: string;
|
|
37
|
+
/** Custom label for "Disable Learning" button for Rule*/
|
|
38
|
+
disableLearningRuleLabel?: string;
|
|
39
|
+
/** func for fetch rules for enable/disable Btn */
|
|
40
|
+
onToggleSuccess?: () => void;
|
|
41
|
+
/** Framer Motion drag controls */
|
|
42
|
+
dragControls?: any;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Generic accordion shell component.
|
|
46
|
+
* Provides expand/collapse functionality with a header.
|
|
47
|
+
* Use with any content - can wrap VariantList or any custom content.
|
|
48
|
+
* Library-ready: fully controlled via props, no store access, no direct API calls.
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* // Controlled usage
|
|
52
|
+
* <RuleAccordionShell rule={rule} idx={0} isOpen={open} onToggle={setOpen}>
|
|
53
|
+
* <VariantList rule={rule} />
|
|
54
|
+
* </RuleAccordionShell>
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* // Uncontrolled usage with default open
|
|
58
|
+
* <RuleAccordionShell rule={rule} idx={0} defaultOpen={true}>
|
|
59
|
+
* <CustomContent />
|
|
60
|
+
* </RuleAccordionShell>
|
|
61
|
+
*
|
|
62
|
+
* @param props - Component props
|
|
63
|
+
* @returns JSX element displaying the accordion shell
|
|
64
|
+
*/
|
|
65
|
+
declare const RuleAccordionShell: React.FC<RuleAccordionShellProps>;
|
|
66
|
+
export default RuleAccordionShell;
|
|
67
|
+
//# sourceMappingURL=RuleAccordionShell.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RuleAccordionShell.d.ts","sourceRoot":"","sources":["../../../../../../src/features/LearningManagement/RuleContent/RuleAccordionShell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAY,SAAS,EAAE,MAAM,OAAO,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG1C;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACpC,mDAAmD;IACnD,IAAI,EAAE,cAAc,CAAC;IACrB,oCAAoC;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,mDAAmD;IACnD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qCAAqC;IACrC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mCAAmC;IACnC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,0EAA0E;IAC1E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,wEAAwE;IACxE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACrC,yEAAyE;IACzE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,wDAAwD;IACxD,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,yDAAyD;IACzD,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,kDAAkD;IAClD,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,kCAAkC;IAClC,YAAY,CAAC,EAAE,GAAG,CAAC;CACtB;AAWD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,QAAA,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAwEzD,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ChangeLogItem } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* Props for the RuleConditionBlock component.
|
|
5
|
+
* Library-ready: fully controlled via props.
|
|
6
|
+
*/
|
|
7
|
+
interface RuleConditionBlockProps {
|
|
8
|
+
/** Type of condition block - determines styling and icon */
|
|
9
|
+
type: 'apply' | 'notApply';
|
|
10
|
+
/** The conditions string (may contain "OR" separator for multiple conditions) */
|
|
11
|
+
conditions: string;
|
|
12
|
+
/** Whether the block is expanded */
|
|
13
|
+
isOpen: boolean;
|
|
14
|
+
/** Callback to toggle expansion */
|
|
15
|
+
onToggle: () => void;
|
|
16
|
+
/** Whether to show override history UI */
|
|
17
|
+
showOverrideHistory?: boolean;
|
|
18
|
+
/** Whether override history is loading */
|
|
19
|
+
isLoadingHistory?: boolean;
|
|
20
|
+
/** Error message when loading history fails */
|
|
21
|
+
historyError?: string | null;
|
|
22
|
+
/** Override history data for the timeline */
|
|
23
|
+
overrideHistoryData?: ChangeLogItem[];
|
|
24
|
+
/** Custom label text for the block header */
|
|
25
|
+
labelText?: string;
|
|
26
|
+
/** Custom text when no conditions exist */
|
|
27
|
+
noConditionsText?: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Component to display a condition block (When to Apply / When Not to Apply).
|
|
31
|
+
* Includes tree-like visual connectors, condition list, and optional override history.
|
|
32
|
+
* Library-ready: fully controlled via props, uses CSS modules.
|
|
33
|
+
*
|
|
34
|
+
* @param props - Component props
|
|
35
|
+
* @returns JSX element displaying the condition block
|
|
36
|
+
*/
|
|
37
|
+
declare const RuleConditionBlock: React.FC<RuleConditionBlockProps>;
|
|
38
|
+
export default RuleConditionBlock;
|
|
39
|
+
//# sourceMappingURL=RuleConditionBlock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RuleConditionBlock.d.ts","sourceRoot":"","sources":["../../../../../../src/features/LearningManagement/RuleContent/RuleConditionBlock.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC;;;GAGG;AACH,UAAU,uBAAuB;IAC7B,4DAA4D;IAC5D,IAAI,EAAE,OAAO,GAAG,UAAU,CAAC;IAC3B,iFAAiF;IACjF,UAAU,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,MAAM,EAAE,OAAO,CAAC;IAChB,mCAAmC;IACnC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,0CAA0C;IAC1C,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,0CAA0C;IAC1C,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,+CAA+C;IAC/C,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,6CAA6C;IAC7C,mBAAmB,CAAC,EAAE,aAAa,EAAE,CAAC;IACtC,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;GAOG;AACH,QAAA,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CA6HzD,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Props for configurable text strings in RuleContent.
|
|
4
|
+
* Allows full customization of user-facing text.
|
|
5
|
+
*/
|
|
6
|
+
interface RuleContentProps {
|
|
7
|
+
/** Title for empty state when no rule set selected */
|
|
8
|
+
noRulesTitle?: string;
|
|
9
|
+
/** Description for empty state when no rule set selected */
|
|
10
|
+
noRulesDesc?: string;
|
|
11
|
+
/** Button text for empty state */
|
|
12
|
+
noRulesButtonText?: string;
|
|
13
|
+
/** Success message when rule is deleted */
|
|
14
|
+
deleteRuleSuccessMessage?: string;
|
|
15
|
+
/** Success message when variant is deleted */
|
|
16
|
+
deleteVariantSuccessMessage?: string;
|
|
17
|
+
/** Default error message when rule deletion fails */
|
|
18
|
+
deleteRuleErrorMessage?: string;
|
|
19
|
+
/** Default error message when variant deletion fails */
|
|
20
|
+
deleteVariantErrorMessage?: string;
|
|
21
|
+
/** Title for delete confirmation modal */
|
|
22
|
+
deleteRuleModalWarning?: string;
|
|
23
|
+
/** Title for rule delete confirmation modal */
|
|
24
|
+
deleteVariantModalWarning?: string;
|
|
25
|
+
/** Title for variant delete confirmation modal */
|
|
26
|
+
deleteModalTitle?: string;
|
|
27
|
+
/** Warning text for delete confirmation modal */
|
|
28
|
+
deleteModalWarning?: string;
|
|
29
|
+
/** Confirm button text for delete modal */
|
|
30
|
+
deleteConfirmText?: string;
|
|
31
|
+
onRefreshRuleSets?: (showLoader?: boolean, scopeId?: string) => void;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Main content component for the Rule Template Management.
|
|
35
|
+
* Logic:
|
|
36
|
+
* - Checks selected tab (Stations vs Rule Sets).
|
|
37
|
+
* - Checks selected Rule Set ID.
|
|
38
|
+
* - Determines whether to show the Empty State or the Rule List.
|
|
39
|
+
* Fully library compatible, decoupled from Tailwind CSS.
|
|
40
|
+
*
|
|
41
|
+
* @param props - Component props with configurable text strings
|
|
42
|
+
* @returns JSX element displaying the rule content area
|
|
43
|
+
*/
|
|
44
|
+
declare const RuleContent: React.FC<RuleContentProps>;
|
|
45
|
+
export default RuleContent;
|
|
46
|
+
//# sourceMappingURL=RuleContent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RuleContent.d.ts","sourceRoot":"","sources":["../../../../../../src/features/LearningManagement/RuleContent/RuleContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAgB3D;;;GAGG;AACH,UAAU,gBAAgB;IACxB,sDAAsD;IACtD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kCAAkC;IAClC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2CAA2C;IAC3C,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,8CAA8C;IAC9C,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,qDAAqD;IACrD,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,wDAAwD;IACxD,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,0CAA0C;IAC1C,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,+CAA+C;IAC/C,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,kDAAkD;IAClD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iDAAiD;IACjD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,2CAA2C;IAC3C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,iBAAiB,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACtE;AAED;;;;;;;;;;GAUG;AACH,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAmnB3C,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Props for the RuleHeader component.
|
|
4
|
+
* Library-ready: fully controlled via props, no store access.
|
|
5
|
+
*/
|
|
6
|
+
interface RuleHeaderProps {
|
|
7
|
+
/** Callback when "Add New Rule" button is clicked */
|
|
8
|
+
onAddRule?: () => void;
|
|
9
|
+
onOnboardStation?: () => void;
|
|
10
|
+
onExport?: () => void;
|
|
11
|
+
isExporting?: boolean;
|
|
12
|
+
/** Selected rule set name to display */
|
|
13
|
+
ruleSetName?: string;
|
|
14
|
+
/** Selected rule set description to display */
|
|
15
|
+
ruleSetDescription?: string;
|
|
16
|
+
/** Whether this is a global rule set (shows global label if true) */
|
|
17
|
+
isGlobal?: boolean;
|
|
18
|
+
/** Custom label for global rule set (default: "Global Rule ( Default )") */
|
|
19
|
+
globalLabel?: string;
|
|
20
|
+
/** Label for the exemption button (default: "Add Exemption") */
|
|
21
|
+
addExemptionLabel?: string;
|
|
22
|
+
/** Label for the add rule button (default: "Add New Rule") */
|
|
23
|
+
addNewRuleLabel?: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Header component for the Rule Content area.
|
|
27
|
+
* Displays the selected rule set name, description, and action buttons.
|
|
28
|
+
* Library-ready: fully controlled via props, no store access, uses CSS modules.
|
|
29
|
+
*
|
|
30
|
+
* @param props - Component props
|
|
31
|
+
* @returns JSX element displaying the rule header or null if no rule set
|
|
32
|
+
*/
|
|
33
|
+
declare const RuleHeader: React.FC<RuleHeaderProps>;
|
|
34
|
+
export default RuleHeader;
|
|
35
|
+
//# sourceMappingURL=RuleHeader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RuleHeader.d.ts","sourceRoot":"","sources":["../../../../../../src/features/LearningManagement/RuleContent/RuleHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B;;;GAGG;AACH,UAAU,eAAe;IACvB,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,wCAAwC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qEAAqE;IACrE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4EAA4E;IAC5E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gEAAgE;IAChE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,8DAA8D;IAC9D,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;GAOG;AACH,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAyDzC,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { RuleTier, RuleDefinition, RuleVariant, OverrideHistoryResponse } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* Props for the RuleTierList component.
|
|
5
|
+
* Library-ready: fully controlled via props, no store access.
|
|
6
|
+
*/
|
|
7
|
+
interface RuleTierListProps {
|
|
8
|
+
/** Array of rule tiers to display */
|
|
9
|
+
tiers: RuleTier[];
|
|
10
|
+
/** Callback when a tier's expansion state is toggled */
|
|
11
|
+
onToggleTier: (tierId: string) => void;
|
|
12
|
+
/** Callback when a rule should be deleted */
|
|
13
|
+
onDeleteRule: (ruleId: string) => void;
|
|
14
|
+
/** Whether the current rule set is global scope (affects child behavior) */
|
|
15
|
+
isGlobalScope?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Optional handler to fetch override history for a rule/variant.
|
|
18
|
+
* Parent component should implement API call logic.
|
|
19
|
+
*/
|
|
20
|
+
onFetchOverrideHistory?: (ruleId: string, variantId?: string) => Promise<OverrideHistoryResponse | null>;
|
|
21
|
+
/** Callback when Edit button is clicked for a rule (legacy) */
|
|
22
|
+
onEditRule?: (rule: RuleDefinition, tierName?: string) => void;
|
|
23
|
+
/** Callback when Edit button is clicked for a variant */
|
|
24
|
+
onEditVariant?: (variant: RuleVariant, ruleId: string, tierName?: string, action?: 'edit' | 'resolve_gaps') => void;
|
|
25
|
+
/** Callback when Delete button is clicked for a variant */
|
|
26
|
+
onDeleteVariant?: (variantId: string, ruleId: string) => void;
|
|
27
|
+
/** Map of highlighted variant IDs to their action type */
|
|
28
|
+
highlightedVariants?: Map<string, 'new' | 'existing'>;
|
|
29
|
+
/** Display names of all tiers that have highlighted variants (for cross-tier banner) */
|
|
30
|
+
highlightedTierNames?: string[];
|
|
31
|
+
/** func for fetch rules for enable/disable Btn */
|
|
32
|
+
onToggleSuccess: () => void;
|
|
33
|
+
/** func for reordering rules by dragging */
|
|
34
|
+
onReorderRules?: (scopeId: string, tierId: string, movedRuleId: string, prevRuleId: string | null, nextRuleId: string | null) => void;
|
|
35
|
+
/** Id of rule set i.e, scope */
|
|
36
|
+
ruleSetId?: string;
|
|
37
|
+
onRefreshRuleSets?: (showLoader?: boolean, scopeId?: string) => void;
|
|
38
|
+
setDeleteConfirmationUsedFor?: (value: 'ruleDeletion' | 'variantDeletion') => void;
|
|
39
|
+
onCopyToTier?: (variant: RuleVariant, ruleId: string, ruleTitle: string, sourceTier: string, targetTier: string) => void;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Component to list all the rule tiers for the selected rule set.
|
|
43
|
+
* Library-ready: fully controlled via props, no store access.
|
|
44
|
+
* Renders TierCards for each tier.
|
|
45
|
+
*
|
|
46
|
+
* @param props - Component props
|
|
47
|
+
* @returns JSX element displaying the list of tier cards
|
|
48
|
+
*/
|
|
49
|
+
declare const RuleTierList: React.FC<RuleTierListProps>;
|
|
50
|
+
export default RuleTierList;
|
|
51
|
+
//# sourceMappingURL=RuleTierList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RuleTierList.d.ts","sourceRoot":"","sources":["../../../../../../src/features/LearningManagement/RuleContent/RuleTierList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAG1F;;;GAGG;AACH,UAAU,iBAAiB;IACzB,qCAAqC;IACrC,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,wDAAwD;IACxD,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,6CAA6C;IAC7C,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,4EAA4E;IAC5E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,sBAAsB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAAC;IACzG,+DAA+D;IAC/D,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/D,yDAAyD;IACzD,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc,KAAK,IAAI,CAAC;IACpH,2DAA2D;IAC3D,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9D,0DAA0D;IAC1D,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,GAAG,UAAU,CAAC,CAAC;IACtD,wFAAwF;IACxF,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,kDAAkD;IAClD,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,4CAA4C;IAC5C,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACtI,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB,iBAAiB,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACrE,4BAA4B,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,GAAG,iBAAiB,KAAK,IAAI,CAAC;IACnF,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1H;AAED;;;;;;;GAOG;AACH,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA+C7C,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { RuleTier, RuleDefinition, RuleVariant, OverrideHistoryResponse } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* Props for the TierCard component.
|
|
5
|
+
* Library-ready: fully controlled via props.
|
|
6
|
+
*/
|
|
7
|
+
interface TierCardProps {
|
|
8
|
+
/** The rule tier object containing tier details and rules */
|
|
9
|
+
tier: RuleTier;
|
|
10
|
+
/** All tiers data for linked variant lookup */
|
|
11
|
+
allTiers?: RuleTier[];
|
|
12
|
+
/** Callback function to toggle the expansion state of the tier */
|
|
13
|
+
onToggle: () => void;
|
|
14
|
+
/** Callback function to delete a rule */
|
|
15
|
+
onDeleteRule: (id: string) => void;
|
|
16
|
+
/** Whether the current rule set is global scope */
|
|
17
|
+
isGlobalScope?: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Optional handler to fetch override history for a rule/variant.
|
|
20
|
+
* Parent component should implement API call logic.
|
|
21
|
+
*/
|
|
22
|
+
onFetchOverrideHistory?: (ruleId: string, variantId?: string) => Promise<OverrideHistoryResponse | null>;
|
|
23
|
+
/** Callback when Edit button is clicked for a rule (legacy) */
|
|
24
|
+
onEditRule?: (rule: RuleDefinition, tierName?: string) => void;
|
|
25
|
+
/** Callback when Edit button is clicked for a variant */
|
|
26
|
+
onEditVariant?: (variant: RuleVariant, ruleId: string, tierName?: string) => void;
|
|
27
|
+
/** Callback when Delete button is clicked for a variant */
|
|
28
|
+
onDeleteVariant?: (variantId: string, ruleId: string) => void;
|
|
29
|
+
/** Custom label for empty rules text */
|
|
30
|
+
emptyRulesText?: string;
|
|
31
|
+
/** Custom label for single rule suffix */
|
|
32
|
+
singleRuleSuffix?: string;
|
|
33
|
+
/** Custom label for multiple rules suffix */
|
|
34
|
+
multipleRulesSuffix?: string;
|
|
35
|
+
/** Map of highlighted variant IDs to their action type */
|
|
36
|
+
highlightedVariants?: Map<string, 'new' | 'existing'>;
|
|
37
|
+
/** Display names of all tiers that have highlighted variants (for cross-tier banner) */
|
|
38
|
+
highlightedTierNames?: string[];
|
|
39
|
+
/** func for fetch rules for enable/disable Btn */
|
|
40
|
+
onToggleSuccess: () => void;
|
|
41
|
+
/** func for reordering rules by dragging */
|
|
42
|
+
onReorderRules?: (scopeId: string, tierId: string, movedRuleId: string, prevRuleId: string | null, nextRuleId: string | null) => void;
|
|
43
|
+
/**Id of scope */
|
|
44
|
+
scopeId?: string;
|
|
45
|
+
onRefreshRuleSets?: (showLoader?: boolean, scopeId?: string) => void;
|
|
46
|
+
setDeleteConfirmationUsedFor?: (value: 'ruleDeletion' | 'variantDeletion') => void;
|
|
47
|
+
onCopyToTier?: (variant: RuleVariant, ruleId: string, ruleTitle: string, sourceTier: string, targetTier: string) => void;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Component to display a Rule Tier card.
|
|
51
|
+
* Can be expanded to show the list of rules within the tier.
|
|
52
|
+
* Library-ready: fully controlled via props, uses CSS modules.
|
|
53
|
+
*
|
|
54
|
+
* @param props - Component props
|
|
55
|
+
* @returns JSX element displaying the tier card
|
|
56
|
+
*/
|
|
57
|
+
declare const TierCard: React.FC<TierCardProps>;
|
|
58
|
+
export default TierCard;
|
|
59
|
+
//# sourceMappingURL=TierCard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TierCard.d.ts","sourceRoot":"","sources":["../../../../../../src/features/LearningManagement/RuleContent/TierCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAE3D,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAiF1F;;;GAGG;AACH,UAAU,aAAa;IACrB,6DAA6D;IAC7D,IAAI,EAAE,QAAQ,CAAC;IACf,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;IACtB,kEAAkE;IAClE,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,yCAAyC;IACzC,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,mDAAmD;IACnD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,sBAAsB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAAC;IACzG,+DAA+D;IAC/D,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/D,yDAAyD;IACzD,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAClF,2DAA2D;IAC3D,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9D,wCAAwC;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,0CAA0C;IAC1C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,6CAA6C;IAC7C,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,0DAA0D;IAC1D,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,GAAG,UAAU,CAAC,CAAC;IACtD,wFAAwF;IACxF,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,kDAAkD;IAClD,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,4CAA4C;IAC5C,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACtI,iBAAiB;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,iBAAiB,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAErE,4BAA4B,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,GAAG,iBAAiB,KAAK,IAAI,CAAC;IACnF,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1H;AAED;;;;;;;GAOG;AACH,QAAA,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CA4PrC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
|
+
import { OverrideHistoryResponse, RuleVariant } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* Props for the VariantCard component.
|
|
5
|
+
* Library-ready: fully controlled via props, no store access, no API calls.
|
|
6
|
+
*/
|
|
7
|
+
export interface VariantCardProps {
|
|
8
|
+
/** The variant object to display */
|
|
9
|
+
variant: RuleVariant;
|
|
10
|
+
/** Index of the variant in the list (for display numbering) */
|
|
11
|
+
variantIndex: number;
|
|
12
|
+
/** Total number of variants in the rule (used to show 'Rule Behavior' when only 1) */
|
|
13
|
+
totalVariants?: number;
|
|
14
|
+
/** Parent rule ID */
|
|
15
|
+
ruleId: string;
|
|
16
|
+
/** The rule title (used for confirmation modal) */
|
|
17
|
+
ruleTitle?: string;
|
|
18
|
+
/** Tier name (e.g., "Tier 1", "Tier 2") */
|
|
19
|
+
tierName?: string;
|
|
20
|
+
displayLabel: string;
|
|
21
|
+
/** Callback when Edit button is clicked */
|
|
22
|
+
onEdit?: (variant: RuleVariant, ruleId: string, tierName?: string, action?: 'edit' | 'resolve_gaps') => void;
|
|
23
|
+
/** Callback when Delete button is clicked */
|
|
24
|
+
onDelete?: (variantId: string, ruleId: string) => void;
|
|
25
|
+
/**
|
|
26
|
+
* Optional handler to fetch override history.
|
|
27
|
+
* Returns OverrideHistoryResponse or null on error.
|
|
28
|
+
*/
|
|
29
|
+
onFetchOverrideHistory?: (ruleId: string, variantId: string) => Promise<OverrideHistoryResponse | null>;
|
|
30
|
+
/** Custom label for edit button. Defaults to "Edit" */
|
|
31
|
+
editButtonLabel?: string;
|
|
32
|
+
/** Custom label for delete button. Defaults to "Delete" */
|
|
33
|
+
deleteButtonLabel?: string;
|
|
34
|
+
/** Custom label for "When to Apply" section */
|
|
35
|
+
whenToApplyLabel?: string;
|
|
36
|
+
/** Custom label for "When Not to Apply" section */
|
|
37
|
+
whenNotToApplyLabel?: string;
|
|
38
|
+
/** Custom text for no conditions */
|
|
39
|
+
noConditionsText?: string;
|
|
40
|
+
/** Custom label for "View Override" button */
|
|
41
|
+
viewOverrideLabel?: string;
|
|
42
|
+
/** Custom label for "Hide Override" button */
|
|
43
|
+
hideOverrideLabel?: string;
|
|
44
|
+
/** Custom label for "Enable Learning" button for Rule*/
|
|
45
|
+
enableLearningVariantLabel?: string;
|
|
46
|
+
/** Custom label for "Disable Learning" button for Rule*/
|
|
47
|
+
disableLearningVariantLabel?: string;
|
|
48
|
+
/** Custom error message when history fetch fails */
|
|
49
|
+
historyErrorMessage?: string;
|
|
50
|
+
/** Custom label for "Resolve Gaps" button */
|
|
51
|
+
resolveGapsLabel?: string;
|
|
52
|
+
/** Whether to show the actions bar (Edit, Delete, View Override). Defaults to true */
|
|
53
|
+
showActionsBar?: boolean;
|
|
54
|
+
/** Whether to show the description box. Defaults to true */
|
|
55
|
+
showDescriptionBox?: boolean;
|
|
56
|
+
/** Whether to show condition blocks. Defaults to true */
|
|
57
|
+
showConditions?: boolean;
|
|
58
|
+
/** Whether to show the inheritance breadcrumb. Defaults to true */
|
|
59
|
+
showInheritance?: boolean;
|
|
60
|
+
/** Whether the "When to Apply" section should be open by default. Defaults to true */
|
|
61
|
+
defaultApplyOpen?: boolean;
|
|
62
|
+
/** Whether the "When Not to Apply" section should be open by default. Defaults to true */
|
|
63
|
+
defaultNotApplyOpen?: boolean;
|
|
64
|
+
/** Additional class name for the root container */
|
|
65
|
+
className?: string;
|
|
66
|
+
/** Whether this variant should be highlighted (for auto-scroll after creation) */
|
|
67
|
+
isHighlighted?: boolean;
|
|
68
|
+
/** Display names of all tiers that have highlighted variants (for cross-tier banner) */
|
|
69
|
+
highlightedTierNames?: string[];
|
|
70
|
+
/** Indicates whether the highlight corresponds to a newly Created vs edited variant */
|
|
71
|
+
highlightAction?: 'new' | 'existing';
|
|
72
|
+
/** Set of all highlighted variant IDs (for cross-tier scroll navigation) */
|
|
73
|
+
highlightedVariantIds?: Set<string>;
|
|
74
|
+
/** Custom header content */
|
|
75
|
+
headerContent?: ReactNode;
|
|
76
|
+
/** Custom footer content */
|
|
77
|
+
footerContent?: ReactNode;
|
|
78
|
+
/** func for fetch rules for enable/disable Btn */
|
|
79
|
+
onToggleSuccess?: () => void;
|
|
80
|
+
/** Callback to indicate which type of delete confirmation is used */
|
|
81
|
+
setDeleteConfirmationUsedFor?: (value: 'ruleDeletion' | 'variantDeletion') => void;
|
|
82
|
+
/** Callback when copying variant to another tier */
|
|
83
|
+
onCopyToTier?: (variant: RuleVariant, ruleId: string, ruleTitle: string, sourceTier: string, targetTier: string) => void;
|
|
84
|
+
/** Callback to set initial draft message for chat */
|
|
85
|
+
onSetInitialDraftMessage?: (message: string) => void;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* VariantCard component displays a single rule variant with its details.
|
|
89
|
+
* Layout per UX:
|
|
90
|
+
* - Header row: Variant chip (left) + Edit/Delete/View Override buttons (right)
|
|
91
|
+
* - Inheritance breadcrumb (if any) below header
|
|
92
|
+
* - Description box
|
|
93
|
+
* - When to Apply accordion (always shown)
|
|
94
|
+
* - When Not to Apply accordion (always shown, even if empty)
|
|
95
|
+
*
|
|
96
|
+
* @param props - Component props
|
|
97
|
+
* @returns JSX element displaying the variant card
|
|
98
|
+
*/
|
|
99
|
+
declare const VariantCard: React.FC<VariantCardProps>;
|
|
100
|
+
export default VariantCard;
|
|
101
|
+
//# sourceMappingURL=VariantCard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VariantCard.d.ts","sourceRoot":"","sources":["../../../../../../src/features/LearningManagement/RuleContent/VariantCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAA+B,MAAM,OAAO,CAAC;AAOtE,OAAO,EAAiB,uBAAuB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAU/E;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,oCAAoC;IACpC,OAAO,EAAE,WAAW,CAAC;IACrB,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAC;IACrB,sFAAsF;IACtF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc,KAAK,IAAI,CAAC;IAC7G,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvD;;;OAGG;IACH,sBAAsB,CAAC,EAAE,CACvB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,KACd,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAAC;IAG7C,uDAAuD;IACvD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,2DAA2D;IAC3D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,+CAA+C;IAC/C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mDAAmD;IACnD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oCAAoC;IACpC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,8CAA8C;IAC9C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,8CAA8C;IAC9C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,wDAAwD;IACxD,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,yDAAyD;IACzD,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,oDAAoD;IACpD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,6CAA6C;IAC7C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAG1B,sFAAsF;IACtF,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,4DAA4D;IAC5D,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,yDAAyD;IACzD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mEAAmE;IACnE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,sFAAsF;IACtF,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,0FAA0F;IAC1F,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kFAAkF;IAClF,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,wFAAwF;IACxF,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,uFAAuF;IACvF,eAAe,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC;IACrC,4EAA4E;IAC5E,qBAAqB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,4BAA4B;IAC5B,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,4BAA4B;IAC5B,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,kDAAkD;IAClD,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,qEAAqE;IACrE,4BAA4B,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,GAAG,iBAAiB,KAAK,IAAI,CAAC;IACjF,oDAAoD;IACtD,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACzH,qDAAqD;IACrD,wBAAwB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACtD;AAWD;;;;;;;;;;;GAWG;AACH,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA2f3C,CAAC;AAEF,eAAe,WAAW,CAAC"}
|