@pega/cosmos-react-build 8.8.0 → 9.0.0-build.10.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/lib/components/AuthoringPanel/AuthoringPanel.d.ts +7 -0
- package/lib/components/AuthoringPanel/AuthoringPanel.d.ts.map +1 -0
- package/lib/components/AuthoringPanel/AuthoringPanel.js +49 -0
- package/lib/components/AuthoringPanel/AuthoringPanel.js.map +1 -0
- package/lib/components/AuthoringPanel/AuthoringPanel.styles.d.ts +18 -0
- package/lib/components/AuthoringPanel/AuthoringPanel.styles.d.ts.map +1 -0
- package/lib/components/AuthoringPanel/AuthoringPanel.styles.js +133 -0
- package/lib/components/AuthoringPanel/AuthoringPanel.styles.js.map +1 -0
- package/lib/components/AuthoringPanel/AuthoringPanel.test-ids.d.ts +2 -0
- package/lib/components/AuthoringPanel/AuthoringPanel.test-ids.d.ts.map +1 -0
- package/lib/components/AuthoringPanel/AuthoringPanel.test-ids.js +16 -0
- package/lib/components/AuthoringPanel/AuthoringPanel.test-ids.js.map +1 -0
- package/lib/components/AuthoringPanel/AuthoringPanel.types.d.ts +81 -0
- package/lib/components/AuthoringPanel/AuthoringPanel.types.d.ts.map +1 -0
- package/lib/components/AuthoringPanel/AuthoringPanel.types.js +2 -0
- package/lib/components/AuthoringPanel/AuthoringPanel.types.js.map +1 -0
- package/lib/components/AuthoringPanel/AuthoringPanelHeader.d.ts +6 -0
- package/lib/components/AuthoringPanel/AuthoringPanelHeader.d.ts.map +1 -0
- package/lib/components/AuthoringPanel/AuthoringPanelHeader.js +41 -0
- package/lib/components/AuthoringPanel/AuthoringPanelHeader.js.map +1 -0
- package/lib/components/AuthoringPanel/index.d.ts +4 -0
- package/lib/components/AuthoringPanel/index.d.ts.map +1 -0
- package/lib/components/AuthoringPanel/index.js +3 -0
- package/lib/components/AuthoringPanel/index.js.map +1 -0
- package/lib/components/Automation/Automation.d.ts +7 -0
- package/lib/components/Automation/Automation.d.ts.map +1 -0
- package/lib/components/Automation/Automation.js +113 -0
- package/lib/components/Automation/Automation.js.map +1 -0
- package/lib/components/Automation/Automation.styles.d.ts +12 -0
- package/lib/components/Automation/Automation.styles.d.ts.map +1 -0
- package/lib/components/Automation/Automation.styles.js +68 -0
- package/lib/components/Automation/Automation.styles.js.map +1 -0
- package/lib/components/Automation/Automation.test-ids.d.ts +3 -0
- package/lib/components/Automation/Automation.test-ids.d.ts.map +1 -0
- package/lib/components/Automation/Automation.test-ids.js +21 -0
- package/lib/components/Automation/Automation.test-ids.js.map +1 -0
- package/lib/components/Automation/Automation.types.d.ts +95 -0
- package/lib/components/Automation/Automation.types.d.ts.map +1 -0
- package/lib/components/Automation/Automation.types.js +18 -0
- package/lib/components/Automation/Automation.types.js.map +1 -0
- package/lib/components/Automation/Automation.utils.d.ts +109 -0
- package/lib/components/Automation/Automation.utils.d.ts.map +1 -0
- package/lib/components/Automation/Automation.utils.js +208 -0
- package/lib/components/Automation/Automation.utils.js.map +1 -0
- package/lib/components/Automation/AutomationContext.d.ts +4 -0
- package/lib/components/Automation/AutomationContext.d.ts.map +1 -0
- package/lib/components/Automation/AutomationContext.js +9 -0
- package/lib/components/Automation/AutomationContext.js.map +1 -0
- package/lib/components/Automation/RuleStep.d.ts +7 -0
- package/lib/components/Automation/RuleStep.d.ts.map +1 -0
- package/lib/components/Automation/RuleStep.js +151 -0
- package/lib/components/Automation/RuleStep.js.map +1 -0
- package/lib/components/Automation/index.d.ts +5 -0
- package/lib/components/Automation/index.d.ts.map +1 -0
- package/lib/components/Automation/index.js +4 -0
- package/lib/components/Automation/index.js.map +1 -0
- package/lib/components/DynamicInput/BooleanControl.d.ts +2 -2
- package/lib/components/DynamicInput/BooleanControl.d.ts.map +1 -1
- package/lib/components/DynamicInput/BooleanControl.js.map +1 -1
- package/lib/components/DynamicInput/ConstantControl.d.ts +61 -0
- package/lib/components/DynamicInput/ConstantControl.d.ts.map +1 -0
- package/lib/components/DynamicInput/ConstantControl.js +58 -0
- package/lib/components/DynamicInput/ConstantControl.js.map +1 -0
- package/lib/components/DynamicInput/DynamicInput.d.ts +2 -2
- package/lib/components/DynamicInput/DynamicInput.d.ts.map +1 -1
- package/lib/components/DynamicInput/DynamicInput.js +13 -63
- package/lib/components/DynamicInput/DynamicInput.js.map +1 -1
- package/lib/components/DynamicInput/DynamicInput.styles.d.ts +0 -1
- package/lib/components/DynamicInput/DynamicInput.styles.d.ts.map +1 -1
- package/lib/components/DynamicInput/DynamicInput.styles.js +48 -41
- package/lib/components/DynamicInput/DynamicInput.styles.js.map +1 -1
- package/lib/components/DynamicInput/DynamicInput.types.d.ts +26 -81
- package/lib/components/DynamicInput/DynamicInput.types.d.ts.map +1 -1
- package/lib/components/DynamicInput/DynamicInput.types.js.map +1 -1
- package/lib/components/DynamicInput/index.d.ts +2 -0
- package/lib/components/DynamicInput/index.d.ts.map +1 -1
- package/lib/components/DynamicInput/index.js +1 -0
- package/lib/components/DynamicInput/index.js.map +1 -1
- package/lib/components/DynamicInput/utils.d.ts.map +1 -1
- package/lib/components/DynamicInput/utils.js +3 -2
- package/lib/components/DynamicInput/utils.js.map +1 -1
- package/lib/components/EmptyRuleTemplate/EmptyRuleTemplate.d.ts +34 -0
- package/lib/components/EmptyRuleTemplate/EmptyRuleTemplate.d.ts.map +1 -0
- package/lib/components/EmptyRuleTemplate/EmptyRuleTemplate.js +55 -0
- package/lib/components/EmptyRuleTemplate/EmptyRuleTemplate.js.map +1 -0
- package/lib/components/EmptyRuleTemplate/EmptyRuleTemplate.test-ids.d.ts +2 -0
- package/lib/components/EmptyRuleTemplate/EmptyRuleTemplate.test-ids.d.ts.map +1 -0
- package/lib/components/EmptyRuleTemplate/EmptyRuleTemplate.test-ids.js +10 -0
- package/lib/components/EmptyRuleTemplate/EmptyRuleTemplate.test-ids.js.map +1 -0
- package/lib/components/EmptyRuleTemplate/index.d.ts +3 -0
- package/lib/components/EmptyRuleTemplate/index.d.ts.map +1 -0
- package/lib/components/EmptyRuleTemplate/index.js +2 -0
- package/lib/components/EmptyRuleTemplate/index.js.map +1 -0
- package/lib/components/Expression/Expression.d.ts.map +1 -1
- package/lib/components/Expression/Expression.js +8 -7
- package/lib/components/Expression/Expression.js.map +1 -1
- package/lib/components/Expression/Expression.styles.d.ts +5 -1
- package/lib/components/Expression/Expression.styles.d.ts.map +1 -1
- package/lib/components/Expression/Expression.styles.js +15 -3
- package/lib/components/Expression/Expression.styles.js.map +1 -1
- package/lib/components/Expression/Expression.test-ids.d.ts +1 -0
- package/lib/components/Expression/Expression.test-ids.d.ts.map +1 -1
- package/lib/components/Expression/Expression.test-ids.js +6 -0
- package/lib/components/Expression/Expression.test-ids.js.map +1 -1
- package/lib/components/Expression/ExpressionBuilderModal.d.ts +6 -0
- package/lib/components/Expression/ExpressionBuilderModal.d.ts.map +1 -0
- package/lib/components/Expression/ExpressionBuilderModal.js +53 -0
- package/lib/components/Expression/ExpressionBuilderModal.js.map +1 -0
- package/lib/components/ExpressionBuilder/CodeEditor/CodeEditor.d.ts.map +1 -1
- package/lib/components/ExpressionBuilder/CodeEditor/CodeEditor.js +1 -0
- package/lib/components/ExpressionBuilder/CodeEditor/CodeEditor.js.map +1 -1
- package/lib/components/ExpressionBuilder/CodeEditor/CodeEditor.styles.d.ts.map +1 -1
- package/lib/components/ExpressionBuilder/CodeEditor/CodeEditor.styles.js +3 -2
- package/lib/components/ExpressionBuilder/CodeEditor/CodeEditor.styles.js.map +1 -1
- package/lib/components/ExpressionBuilder/ExpressionBuilder.d.ts +4 -2
- package/lib/components/ExpressionBuilder/ExpressionBuilder.d.ts.map +1 -1
- package/lib/components/ExpressionBuilder/ExpressionBuilder.js +66 -25
- package/lib/components/ExpressionBuilder/ExpressionBuilder.js.map +1 -1
- package/lib/components/ExpressionBuilder/ExpressionBuilder.styles.d.ts +18 -2
- package/lib/components/ExpressionBuilder/ExpressionBuilder.styles.d.ts.map +1 -1
- package/lib/components/ExpressionBuilder/ExpressionBuilder.styles.js +80 -13
- package/lib/components/ExpressionBuilder/ExpressionBuilder.styles.js.map +1 -1
- package/lib/components/ExpressionBuilder/ExpressionBuilder.test-ids.d.ts +5 -0
- package/lib/components/ExpressionBuilder/ExpressionBuilder.test-ids.d.ts.map +1 -0
- package/lib/components/ExpressionBuilder/ExpressionBuilder.test-ids.js +22 -0
- package/lib/components/ExpressionBuilder/ExpressionBuilder.test-ids.js.map +1 -0
- package/lib/components/ExpressionBuilder/ExpressionBuilder.types.d.ts +33 -5
- package/lib/components/ExpressionBuilder/ExpressionBuilder.types.d.ts.map +1 -1
- package/lib/components/ExpressionBuilder/ExpressionBuilder.types.js.map +1 -1
- package/lib/components/ExpressionBuilder/ExpressionDetails.d.ts +4 -2
- package/lib/components/ExpressionBuilder/ExpressionDetails.d.ts.map +1 -1
- package/lib/components/ExpressionBuilder/ExpressionDetails.js +6 -4
- package/lib/components/ExpressionBuilder/ExpressionDetails.js.map +1 -1
- package/lib/components/ExpressionBuilder/ExpressionItem.d.ts +4 -2
- package/lib/components/ExpressionBuilder/ExpressionItem.d.ts.map +1 -1
- package/lib/components/ExpressionBuilder/ExpressionItem.js +8 -6
- package/lib/components/ExpressionBuilder/ExpressionItem.js.map +1 -1
- package/lib/components/ExpressionBuilder/ExpressionList.d.ts +4 -2
- package/lib/components/ExpressionBuilder/ExpressionList.d.ts.map +1 -1
- package/lib/components/ExpressionBuilder/ExpressionList.js +17 -5
- package/lib/components/ExpressionBuilder/ExpressionList.js.map +1 -1
- package/lib/components/ExpressionBuilder/index.d.ts +1 -0
- package/lib/components/ExpressionBuilder/index.d.ts.map +1 -1
- package/lib/components/ExpressionBuilder/index.js +1 -0
- package/lib/components/ExpressionBuilder/index.js.map +1 -1
- package/lib/components/FieldReference/FieldReference.types.d.ts +16 -2
- package/lib/components/FieldReference/FieldReference.types.d.ts.map +1 -1
- package/lib/components/FieldReference/FieldReference.types.js.map +1 -1
- package/lib/components/FieldReference/FieldReferenceInput.d.ts.map +1 -1
- package/lib/components/FieldReference/FieldReferenceInput.js +5 -5
- package/lib/components/FieldReference/FieldReferenceInput.js.map +1 -1
- package/lib/components/FieldReference/helpers.d.ts +7 -1
- package/lib/components/FieldReference/helpers.d.ts.map +1 -1
- package/lib/components/FieldReference/helpers.js +31 -1
- package/lib/components/FieldReference/helpers.js.map +1 -1
- package/lib/components/FieldReference/index.d.ts +2 -2
- package/lib/components/FieldReference/index.d.ts.map +1 -1
- package/lib/components/FieldReference/index.js +1 -1
- package/lib/components/FieldReference/index.js.map +1 -1
- package/lib/components/IconTile/iconUtils.d.ts +2 -1
- package/lib/components/IconTile/iconUtils.d.ts.map +1 -1
- package/lib/components/IconTile/iconUtils.js +94 -1
- package/lib/components/IconTile/iconUtils.js.map +1 -1
- package/lib/components/IconTile/index.d.ts +1 -0
- package/lib/components/IconTile/index.d.ts.map +1 -1
- package/lib/components/IconTile/index.js +1 -0
- package/lib/components/IconTile/index.js.map +1 -1
- package/lib/components/LifeCycle/Category.d.ts +0 -1
- package/lib/components/LifeCycle/Category.d.ts.map +1 -1
- package/lib/components/LifeCycle/Category.js +16 -56
- package/lib/components/LifeCycle/Category.js.map +1 -1
- package/lib/components/LifeCycle/LifeCycle.js +2 -2
- package/lib/components/LifeCycle/LifeCycle.js.map +1 -1
- package/lib/components/LifeCycle/LifeCycle.types.d.ts +37 -2
- package/lib/components/LifeCycle/LifeCycle.types.d.ts.map +1 -1
- package/lib/components/LifeCycle/LifeCycle.types.js +9 -9
- package/lib/components/LifeCycle/LifeCycle.types.js.map +1 -1
- package/lib/components/LifeCycle/LifeCycleDragDropList.d.ts.map +1 -1
- package/lib/components/LifeCycle/LifeCycleDragDropList.js +25 -3
- package/lib/components/LifeCycle/LifeCycleDragDropList.js.map +1 -1
- package/lib/components/LifeCycle/Stage.d.ts.map +1 -1
- package/lib/components/LifeCycle/Stage.js +20 -11
- package/lib/components/LifeCycle/Stage.js.map +1 -1
- package/lib/components/LifeCycle/Step.d.ts.map +1 -1
- package/lib/components/LifeCycle/Step.js +1 -0
- package/lib/components/LifeCycle/Step.js.map +1 -1
- package/lib/components/LifeCycle/Task.d.ts +7 -1
- package/lib/components/LifeCycle/Task.d.ts.map +1 -1
- package/lib/components/LifeCycle/Task.js +19 -10
- package/lib/components/LifeCycle/Task.js.map +1 -1
- package/lib/components/LifeCycle/TaskGroup.d.ts +23 -0
- package/lib/components/LifeCycle/TaskGroup.d.ts.map +1 -0
- package/lib/components/LifeCycle/TaskGroup.js +92 -0
- package/lib/components/LifeCycle/TaskGroup.js.map +1 -0
- package/lib/components/LifeCycle/index.d.ts +1 -1
- package/lib/components/LifeCycle/index.d.ts.map +1 -1
- package/lib/components/LifeCycle/index.js +1 -1
- package/lib/components/LifeCycle/index.js.map +1 -1
- package/lib/components/LifeCycle/utils.d.ts +6 -1
- package/lib/components/LifeCycle/utils.d.ts.map +1 -1
- package/lib/components/LifeCycle/utils.js +129 -0
- package/lib/components/LifeCycle/utils.js.map +1 -1
- package/lib/components/ObjectSelect/InputTree/InputTree.d.ts +21 -0
- package/lib/components/ObjectSelect/InputTree/InputTree.d.ts.map +1 -0
- package/lib/components/ObjectSelect/InputTree/InputTree.js +20 -0
- package/lib/components/ObjectSelect/InputTree/InputTree.js.map +1 -0
- package/lib/components/ObjectSelect/InputTree/InputTree.styles.d.ts +10 -0
- package/lib/components/ObjectSelect/InputTree/InputTree.styles.d.ts.map +1 -0
- package/lib/components/ObjectSelect/InputTree/InputTree.styles.js +82 -0
- package/lib/components/ObjectSelect/InputTree/InputTree.styles.js.map +1 -0
- package/lib/components/ObjectSelect/InputTree/index.d.ts +3 -0
- package/lib/components/ObjectSelect/InputTree/index.d.ts.map +1 -0
- package/lib/components/ObjectSelect/InputTree/index.js +2 -0
- package/lib/components/ObjectSelect/InputTree/index.js.map +1 -0
- package/lib/components/ObjectSelect/ObjectPicker.d.ts +11 -5
- package/lib/components/ObjectSelect/ObjectPicker.d.ts.map +1 -1
- package/lib/components/ObjectSelect/ObjectPicker.js +24 -15
- package/lib/components/ObjectSelect/ObjectPicker.js.map +1 -1
- package/lib/components/ObjectSelect/ObjectSelect.d.ts +2 -29
- package/lib/components/ObjectSelect/ObjectSelect.d.ts.map +1 -1
- package/lib/components/ObjectSelect/ObjectSelect.js +80 -23
- package/lib/components/ObjectSelect/ObjectSelect.js.map +1 -1
- package/lib/components/ObjectSelect/ObjectSelect.types.d.ts +53 -0
- package/lib/components/ObjectSelect/ObjectSelect.types.d.ts.map +1 -0
- package/lib/components/ObjectSelect/ObjectSelect.types.js +2 -0
- package/lib/components/ObjectSelect/ObjectSelect.types.js.map +1 -0
- package/lib/components/ObjectSelect/index.d.ts +1 -1
- package/lib/components/ObjectSelect/index.d.ts.map +1 -1
- package/lib/components/ObjectSelect/index.js.map +1 -1
- package/lib/components/ObjectSelect/useCreateModal.d.ts +6 -2
- package/lib/components/ObjectSelect/useCreateModal.d.ts.map +1 -1
- package/lib/components/ObjectSelect/useCreateModal.js +7 -4
- package/lib/components/ObjectSelect/useCreateModal.js.map +1 -1
- package/lib/components/PageBanner/PageBanner.d.ts +6 -4
- package/lib/components/PageBanner/PageBanner.d.ts.map +1 -1
- package/lib/components/PageBanner/PageBanner.js +10 -9
- package/lib/components/PageBanner/PageBanner.js.map +1 -1
- package/lib/components/PageBanner/PageBanner.test-ids.d.ts +2 -0
- package/lib/components/PageBanner/PageBanner.test-ids.d.ts.map +1 -0
- package/lib/components/PageBanner/PageBanner.test-ids.js +9 -0
- package/lib/components/PageBanner/PageBanner.test-ids.js.map +1 -0
- package/lib/components/PageTemplates/ConstructPageTemplate/ConstructPageHeader.d.ts +12 -0
- package/lib/components/PageTemplates/ConstructPageTemplate/ConstructPageHeader.d.ts.map +1 -0
- package/lib/components/PageTemplates/ConstructPageTemplate/ConstructPageHeader.js +158 -0
- package/lib/components/PageTemplates/ConstructPageTemplate/ConstructPageHeader.js.map +1 -0
- package/lib/components/PageTemplates/ConstructPageTemplate/ConstructPageTemplate.d.ts +5 -0
- package/lib/components/PageTemplates/ConstructPageTemplate/ConstructPageTemplate.d.ts.map +1 -0
- package/lib/components/PageTemplates/ConstructPageTemplate/ConstructPageTemplate.js +17 -0
- package/lib/components/PageTemplates/ConstructPageTemplate/ConstructPageTemplate.js.map +1 -0
- package/lib/components/PageTemplates/GalleryPage.d.ts +14 -4
- package/lib/components/PageTemplates/GalleryPage.d.ts.map +1 -1
- package/lib/components/PageTemplates/GalleryPage.js +57 -12
- package/lib/components/PageTemplates/GalleryPage.js.map +1 -1
- package/lib/components/PageTemplates/HeaderActionButtons.d.ts +5 -0
- package/lib/components/PageTemplates/HeaderActionButtons.d.ts.map +1 -0
- package/lib/components/PageTemplates/HeaderActionButtons.js +14 -0
- package/lib/components/PageTemplates/HeaderActionButtons.js.map +1 -0
- package/lib/components/PageTemplates/InventoryPageTemplate/InventoryPageHeader.d.ts +8 -0
- package/lib/components/PageTemplates/InventoryPageTemplate/InventoryPageHeader.d.ts.map +1 -0
- package/lib/components/PageTemplates/InventoryPageTemplate/InventoryPageHeader.js +23 -0
- package/lib/components/PageTemplates/InventoryPageTemplate/InventoryPageHeader.js.map +1 -0
- package/lib/components/PageTemplates/InventoryPageTemplate/InventoryPageTemplate.d.ts +5 -0
- package/lib/components/PageTemplates/InventoryPageTemplate/InventoryPageTemplate.d.ts.map +1 -0
- package/lib/components/PageTemplates/InventoryPageTemplate/InventoryPageTemplate.js +10 -0
- package/lib/components/PageTemplates/InventoryPageTemplate/InventoryPageTemplate.js.map +1 -0
- package/lib/components/PageTemplates/OverviewPageTemplate/OverviewPageTemplate.d.ts +5 -0
- package/lib/components/PageTemplates/OverviewPageTemplate/OverviewPageTemplate.d.ts.map +1 -0
- package/lib/components/PageTemplates/OverviewPageTemplate/OverviewPageTemplate.js +10 -0
- package/lib/components/PageTemplates/OverviewPageTemplate/OverviewPageTemplate.js.map +1 -0
- package/lib/components/PageTemplates/OverviewPageTemplate/PageBanner.d.ts +21 -0
- package/lib/components/PageTemplates/OverviewPageTemplate/PageBanner.d.ts.map +1 -0
- package/lib/components/PageTemplates/OverviewPageTemplate/PageBanner.js +22 -0
- package/lib/components/PageTemplates/OverviewPageTemplate/PageBanner.js.map +1 -0
- package/lib/components/PageTemplates/PageTemplate.styles.d.ts +16 -0
- package/lib/components/PageTemplates/PageTemplate.styles.d.ts.map +1 -0
- package/lib/components/PageTemplates/PageTemplate.styles.js +167 -0
- package/lib/components/PageTemplates/PageTemplate.styles.js.map +1 -0
- package/lib/components/PageTemplates/PageTemplate.types.d.ts +114 -0
- package/lib/components/PageTemplates/PageTemplate.types.d.ts.map +1 -0
- package/lib/components/PageTemplates/PageTemplate.types.js +2 -0
- package/lib/components/PageTemplates/PageTemplate.types.js.map +1 -0
- package/lib/components/PageTemplates/PageTemplates.d.ts +16 -12
- package/lib/components/PageTemplates/PageTemplates.d.ts.map +1 -1
- package/lib/components/PageTemplates/PageTemplates.js +12 -12
- package/lib/components/PageTemplates/PageTemplates.js.map +1 -1
- package/lib/components/PageTemplates/PageTemplates.test-ids.d.ts +4 -0
- package/lib/components/PageTemplates/PageTemplates.test-ids.d.ts.map +1 -0
- package/lib/components/PageTemplates/PageTemplates.test-ids.js +25 -0
- package/lib/components/PageTemplates/PageTemplates.test-ids.js.map +1 -0
- package/lib/components/PageTemplates/ShowcasePage.d.ts +2 -2
- package/lib/components/PageTemplates/ShowcasePage.d.ts.map +1 -1
- package/lib/components/PageTemplates/ShowcasePage.js +5 -6
- package/lib/components/PageTemplates/ShowcasePage.js.map +1 -1
- package/lib/components/PageTemplates/index.d.ts +6 -1
- package/lib/components/PageTemplates/index.d.ts.map +1 -1
- package/lib/components/PageTemplates/index.js +5 -1
- package/lib/components/PageTemplates/index.js.map +1 -1
- package/lib/components/RulePicker/RulePicker.d.ts +4 -0
- package/lib/components/RulePicker/RulePicker.d.ts.map +1 -0
- package/lib/components/RulePicker/RulePicker.js +81 -0
- package/lib/components/RulePicker/RulePicker.js.map +1 -0
- package/lib/index.d.ts +5 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +5 -1
- package/lib/index.js.map +1 -1
- package/lib/utils/typeIconMapping.js +1 -1
- package/lib/utils/typeIconMapping.js.map +1 -1
- package/package.json +4 -4
- package/lib/utils/index.d.ts +0 -2
- package/lib/utils/index.d.ts.map +0 -1
- package/lib/utils/index.js +0 -2
- package/lib/utils/index.js.map +0 -1
- package/lib/utils/utils.d.ts +0 -14
- package/lib/utils/utils.d.ts.map +0 -1
- package/lib/utils/utils.js +0 -13
- package/lib/utils/utils.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ExpressionBuilder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAgB9C,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAC","sourcesContent":["export { default } from './ExpressionBuilder';\nexport type {\n ExpressionListProps,\n ExpressionItemProps,\n ExpressionBuilderProps,\n HandleValue,\n InputParams\n} from './ExpressionBuilder.types';\nexport type {\n EditorState,\n CodeEditorProps,\n AutoCompleteTriggerChar,\n SuggestionType,\n CursorPosition,\n CustomPositionProps\n} from './CodeEditor/CodeEditor.types';\nexport { default as ExpressionItem } from './ExpressionItem';\nexport { default as ExpressionList } from './ExpressionList';\nexport { default as ExpressionDetails } from './ExpressionDetails';\nexport { default as CodeEditor } from './CodeEditor/CodeEditor';\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ExpressionBuilder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAgB9C,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,4BAA4B,CAAC","sourcesContent":["export { default } from './ExpressionBuilder';\nexport type {\n ExpressionListProps,\n ExpressionItemProps,\n ExpressionBuilderProps,\n HandleValue,\n InputParams\n} from './ExpressionBuilder.types';\nexport type {\n EditorState,\n CodeEditorProps,\n AutoCompleteTriggerChar,\n SuggestionType,\n CursorPosition,\n CustomPositionProps\n} from './CodeEditor/CodeEditor.types';\nexport { default as ExpressionItem } from './ExpressionItem';\nexport { default as ExpressionList } from './ExpressionList';\nexport { default as ExpressionDetails } from './ExpressionDetails';\nexport { default as CodeEditor } from './CodeEditor/CodeEditor';\nexport { default as ExpressionBuilderContext } from './ExpressionBuilderContext';\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Ref, KeyboardEvent as ReactKeyboardEvent, MouseEvent } from 'react';
|
|
2
|
-
import type { IconProps, MenuItemProps, NoChildrenProp, TestIdProp, MenuProps, FormControlProps, FieldValueListItemProps, Action, LinkProps } from '@pega/cosmos-react-core';
|
|
2
|
+
import type { IconProps, MenuItemProps, NoChildrenProp, TestIdProp, MenuProps, FormControlProps, FieldValueListItemProps, Action, LinkProps, OmitStrict } from '@pega/cosmos-react-core';
|
|
3
3
|
import type { ParentMenuItemProps } from '@pega/cosmos-react-core/lib/components/Menu/Menu.types';
|
|
4
4
|
export interface Selected {
|
|
5
5
|
id: string;
|
|
@@ -57,7 +57,7 @@ export interface FieldReferenceDisplayProps extends NoChildrenProp, TestIdProp {
|
|
|
57
57
|
/** Ref for the wrapping element. */
|
|
58
58
|
ref?: Ref<HTMLDivElement>;
|
|
59
59
|
}
|
|
60
|
-
export interface FieldReferenceMenuProps extends Pick<MenuProps, 'scrollAt' | 'loading' | 'loadMore' | 'onCreateNew'> {
|
|
60
|
+
export interface FieldReferenceMenuProps extends Pick<MenuProps, 'itemLayout' | 'scrollAt' | 'loading' | 'loadMore' | 'onCreateNew'> {
|
|
61
61
|
/** Menu items to display. */
|
|
62
62
|
items: FieldReferenceMenuItem[];
|
|
63
63
|
/** The current context that the menu is within. */
|
|
@@ -87,9 +87,23 @@ export interface FieldReferenceHandleValue {
|
|
|
87
87
|
/** Used to close the menu programmatically. */
|
|
88
88
|
closeMenu: () => void;
|
|
89
89
|
}
|
|
90
|
+
export interface FieldReferenceProps extends OmitStrict<FieldReferenceInputProps, 'onFilterChange'> {
|
|
91
|
+
/** Defines the use of FieldReferenceWrapper component
|
|
92
|
+
* fieldPicker represents component usage for fieldReference
|
|
93
|
+
* objectSelect represents component usage for ObjectSelect
|
|
94
|
+
* @default Field
|
|
95
|
+
*/
|
|
96
|
+
mode: 'object-select' | 'field-picker';
|
|
97
|
+
onFilterChange?: FieldReferenceInputProps['onFilterChange'];
|
|
98
|
+
}
|
|
90
99
|
export default interface FieldReferenceInputProps extends NoChildrenProp, TestIdProp, Pick<FormControlProps, 'id' | 'label' | 'labelHidden' | 'required' | 'disabled' | 'readOnly' | 'status' | 'info' | 'placeholder' | 'additionalInfo'> {
|
|
91
100
|
/** Props related to the menu. */
|
|
92
101
|
menu: FieldReferenceMenuProps;
|
|
102
|
+
/**
|
|
103
|
+
* If true, tooltips will be shown when hovering over menu items and selected paths.
|
|
104
|
+
* @default true
|
|
105
|
+
*/
|
|
106
|
+
showTooltips?: boolean;
|
|
93
107
|
/**
|
|
94
108
|
* If true, the current context will be prepended to all field reference paths.
|
|
95
109
|
* @default false
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldReference.types.d.ts","sourceRoot":"","sources":["../../../src/components/FieldReference/FieldReference.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,aAAa,IAAI,kBAAkB,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAElF,OAAO,KAAK,EACV,SAAS,EACT,aAAa,EACb,cAAc,EACd,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,uBAAuB,EACvB,MAAM,EACN,SAAS,
|
|
1
|
+
{"version":3,"file":"FieldReference.types.d.ts","sourceRoot":"","sources":["../../../src/components/FieldReference/FieldReference.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldReference.types.js","sourceRoot":"","sources":["../../../src/components/FieldReference/FieldReference.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Ref, KeyboardEvent as ReactKeyboardEvent, MouseEvent } from 'react';\n\nimport type {\n IconProps,\n MenuItemProps,\n NoChildrenProp,\n TestIdProp,\n MenuProps,\n FormControlProps,\n FieldValueListItemProps,\n Action,\n LinkProps\n} from '@pega/cosmos-react-core';\nimport type { ParentMenuItemProps } from '@pega/cosmos-react-core/lib/components/Menu/Menu.types';\n\nexport interface Selected {\n id: string;\n text: string;\n}\n\nexport interface Field {\n /** The unique id for the field. */\n id: string;\n /** The name of the field. */\n name: string;\n /** The type of the field. */\n type?: string;\n /** Props forwarded to the Icon component. */\n icon?: IconProps;\n /** Additional data related to the field. */\n metadata?: {\n name: FieldValueListItemProps['name'];\n value: string;\n }[];\n}\n\nexport interface Context {\n /** The unique id for the context. */\n id: string;\n /** The context label. */\n name: string;\n}\n\nexport interface AltContext extends Context {\n /** Items associated with the context. */\n items: FieldReferenceMenuItem[];\n /** If true or false, the altContext will be selectable. If undefined, the altContext not be selectable. */\n selected?: MenuItemProps['selected'];\n}\n\nexport interface FieldReferenceMenuItem extends Field {\n /** A set of nested child items. If an empty array is provided, the item will still render as a parent. */\n items?: FieldReferenceMenuItem[];\n /** If true or false, the parent item will be selectable. If undefined, the parent will not be selectable. */\n selected?: MenuItemProps['selected'];\n /**\n * Corresponding field item from the source.\n * Useful if the `id` alone is not unique enough to identify the source\n */\n originalItem?: unknown;\n}\n\nexport interface FieldReferenceDisplayProps extends NoChildrenProp, TestIdProp {\n /** The path to the field reference. */\n fieldPath: [Context, ...Field[]] | Field[];\n /** If defined, the fieldPath will render as a Link with these props forwarded. */\n link?: Pick<LinkProps, 'href' | 'previewable' | 'onPreview' | 'target'> & {\n onClick?: (e: MouseEvent) => void;\n };\n /** Pass an array of Action objects to append button(s) inline. */\n actions?: Action[];\n /** Data to render in a tooltip upon hover of the component. */\n tooltipData?: FieldValueListItemProps[];\n /** Ref for the wrapping element. */\n ref?: Ref<HTMLDivElement>;\n}\n\nexport interface FieldReferenceMenuProps\n extends Pick<MenuProps, 'scrollAt' | 'loading' | 'loadMore' | 'onCreateNew'> {\n /** Menu items to display. */\n items: FieldReferenceMenuItem[];\n /** The current context that the menu is within. */\n currentContext?: Context;\n /** Menu items to display above the standard list. These should be items that are outside of the currentContext. */\n altContexts?: AltContext[];\n /** Parent menu item for drill-down. */\n parentItem?: FieldReferenceMenuItem | AltContext;\n /**\n * A custom label for the create new action.\n * @default 'Create new'\n * */\n createNewLabel?: string;\n}\n\nexport interface FieldReferencedMenuListProps extends TestIdProp {\n items: ParentMenuItemProps['items'];\n id?: string;\n parent?: { id: string; primary: string };\n ref?: Ref<HTMLFieldSetElement>;\n}\n\nexport interface FieldReferenceHandleValue {\n /** Used to open the menu programmatically. */\n openMenu: () => void;\n /** Used to close the menu programmatically. */\n closeMenu: () => void;\n}\n\nexport default interface FieldReferenceInputProps\n extends NoChildrenProp,\n TestIdProp,\n Pick<\n FormControlProps,\n | 'id'\n | 'label'\n | 'labelHidden'\n | 'required'\n | 'disabled'\n | 'readOnly'\n | 'status'\n | 'info'\n | 'placeholder'\n | 'additionalInfo'\n > {\n /** Props related to the menu. */\n menu: FieldReferenceMenuProps;\n /**\n * If true, the current context will be prepended to all field reference paths.\n * @default false\n * */\n showCurrentContext?: boolean;\n /**\n * If true, only a selected leaf node will be shown in the selected path.\n * @default true\n * */\n showPath?: boolean;\n /** Callback fired when an altContext item is clicked. */\n onAltContextClick?: (altContext: AltContext) => void;\n /** The current selection. */\n selected?: Field[];\n /** Callback fired when the selected field path is modified. */\n onSelectedChange: (selectedValue: FieldReferenceMenuItem[]) => void;\n /** The value of the search filter. */\n filterValue?: string;\n /** Callback fired when the filtering input value changes. */\n onFilterChange: (filterValue: string) => void;\n /** If defined, the selected fieldPath will render as a Link when the input is in a resting state, with these props forwarded. */\n link?: FieldReferenceDisplayProps['link'];\n /** Pass an array of Action objects to append button(s) inline when the input is in a selected resting state. */\n actions?: FieldReferenceDisplayProps['actions'];\n /** Callback fired when the Field Reference input gains focus. */\n onFocus?: () => void;\n /**\n * Callback fired when the Field Reference looses focus within its containing element.\n * This is not specific to the input element.\n * Note, behavior will be enhanced in an upcoming release and the input will be the only focusable element.\n */\n onBlur?: () => void;\n /**\n * Fired when the user clicks on the dropdown icon to initiate opening the menu.\n * If you want to offer default menu items without an input value, pass this function.\n * This function can be an appropriate time to fetch menu item data.\n * Remember to set the loading prop to true when fetching data for an empty list.\n *\n * @param open value defining whether the click opens or closes the menu\n */\n onDropdownButtonClick?: (open: boolean) => void;\n /** Fired when user clicks on the Field Reference input. */\n onClick?: (e: MouseEvent) => void;\n /** Fired when menu opens. */\n onMenuOpen?: () => void;\n /**\n * Fired before running default component onKeyDown handler.\n * Returning `false` from this function prevents default onKeyDown handling.\n */\n onKeyDown?: (e: ReactKeyboardEvent) => boolean | void;\n /** Ref that can be used to access the imperative handle. */\n handle?: Ref<FieldReferenceHandleValue>;\n /** Reference to the component's root element. */\n ref?: Ref<HTMLDivElement>;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"FieldReference.types.js","sourceRoot":"","sources":["../../../src/components/FieldReference/FieldReference.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Ref, KeyboardEvent as ReactKeyboardEvent, MouseEvent } from 'react';\n\nimport type {\n IconProps,\n MenuItemProps,\n NoChildrenProp,\n TestIdProp,\n MenuProps,\n FormControlProps,\n FieldValueListItemProps,\n Action,\n LinkProps,\n OmitStrict\n} from '@pega/cosmos-react-core';\nimport type { ParentMenuItemProps } from '@pega/cosmos-react-core/lib/components/Menu/Menu.types';\n\nexport interface Selected {\n id: string;\n text: string;\n}\n\nexport interface Field {\n /** The unique id for the field. */\n id: string;\n /** The name of the field. */\n name: string;\n /** The type of the field. */\n type?: string;\n /** Props forwarded to the Icon component. */\n icon?: IconProps;\n /** Additional data related to the field. */\n metadata?: {\n name: FieldValueListItemProps['name'];\n value: string;\n }[];\n}\n\nexport interface Context {\n /** The unique id for the context. */\n id: string;\n /** The context label. */\n name: string;\n}\n\nexport interface AltContext extends Context {\n /** Items associated with the context. */\n items: FieldReferenceMenuItem[];\n /** If true or false, the altContext will be selectable. If undefined, the altContext not be selectable. */\n selected?: MenuItemProps['selected'];\n}\n\nexport interface FieldReferenceMenuItem extends Field {\n /** A set of nested child items. If an empty array is provided, the item will still render as a parent. */\n items?: FieldReferenceMenuItem[];\n /** If true or false, the parent item will be selectable. If undefined, the parent will not be selectable. */\n selected?: MenuItemProps['selected'];\n /**\n * Corresponding field item from the source.\n * Useful if the `id` alone is not unique enough to identify the source\n */\n originalItem?: unknown;\n}\n\nexport interface FieldReferenceDisplayProps extends NoChildrenProp, TestIdProp {\n /** The path to the field reference. */\n fieldPath: [Context, ...Field[]] | Field[];\n /** If defined, the fieldPath will render as a Link with these props forwarded. */\n link?: Pick<LinkProps, 'href' | 'previewable' | 'onPreview' | 'target'> & {\n onClick?: (e: MouseEvent) => void;\n };\n /** Pass an array of Action objects to append button(s) inline. */\n actions?: Action[];\n /** Data to render in a tooltip upon hover of the component. */\n tooltipData?: FieldValueListItemProps[];\n /** Ref for the wrapping element. */\n ref?: Ref<HTMLDivElement>;\n}\n\nexport interface FieldReferenceMenuProps\n extends Pick<MenuProps, 'itemLayout' | 'scrollAt' | 'loading' | 'loadMore' | 'onCreateNew'> {\n /** Menu items to display. */\n items: FieldReferenceMenuItem[];\n /** The current context that the menu is within. */\n currentContext?: Context;\n /** Menu items to display above the standard list. These should be items that are outside of the currentContext. */\n altContexts?: AltContext[];\n /** Parent menu item for drill-down. */\n parentItem?: FieldReferenceMenuItem | AltContext;\n /**\n * A custom label for the create new action.\n * @default 'Create new'\n * */\n createNewLabel?: string;\n}\n\nexport interface FieldReferencedMenuListProps extends TestIdProp {\n items: ParentMenuItemProps['items'];\n id?: string;\n parent?: { id: string; primary: string };\n ref?: Ref<HTMLFieldSetElement>;\n}\n\nexport interface FieldReferenceHandleValue {\n /** Used to open the menu programmatically. */\n openMenu: () => void;\n /** Used to close the menu programmatically. */\n closeMenu: () => void;\n}\nexport interface FieldReferenceProps\n extends OmitStrict<FieldReferenceInputProps, 'onFilterChange'> {\n /** Defines the use of FieldReferenceWrapper component\n * fieldPicker represents component usage for fieldReference\n * objectSelect represents component usage for ObjectSelect\n * @default Field\n */\n mode: 'object-select' | 'field-picker';\n onFilterChange?: FieldReferenceInputProps['onFilterChange'];\n}\nexport default interface FieldReferenceInputProps\n extends NoChildrenProp,\n TestIdProp,\n Pick<\n FormControlProps,\n | 'id'\n | 'label'\n | 'labelHidden'\n | 'required'\n | 'disabled'\n | 'readOnly'\n | 'status'\n | 'info'\n | 'placeholder'\n | 'additionalInfo'\n > {\n /** Props related to the menu. */\n menu: FieldReferenceMenuProps;\n /**\n * If true, tooltips will be shown when hovering over menu items and selected paths.\n * @default true\n */\n showTooltips?: boolean;\n /**\n * If true, the current context will be prepended to all field reference paths.\n * @default false\n * */\n showCurrentContext?: boolean;\n /**\n * If true, only a selected leaf node will be shown in the selected path.\n * @default true\n * */\n showPath?: boolean;\n /** Callback fired when an altContext item is clicked. */\n onAltContextClick?: (altContext: AltContext) => void;\n /** The current selection. */\n selected?: Field[];\n /** Callback fired when the selected field path is modified. */\n onSelectedChange: (selectedValue: FieldReferenceMenuItem[]) => void;\n /** The value of the search filter. */\n filterValue?: string;\n /** Callback fired when the filtering input value changes. */\n onFilterChange: (filterValue: string) => void;\n /** If defined, the selected fieldPath will render as a Link when the input is in a resting state, with these props forwarded. */\n link?: FieldReferenceDisplayProps['link'];\n /** Pass an array of Action objects to append button(s) inline when the input is in a selected resting state. */\n actions?: FieldReferenceDisplayProps['actions'];\n /** Callback fired when the Field Reference input gains focus. */\n onFocus?: () => void;\n /**\n * Callback fired when the Field Reference looses focus within its containing element.\n * This is not specific to the input element.\n * Note, behavior will be enhanced in an upcoming release and the input will be the only focusable element.\n */\n onBlur?: () => void;\n /**\n * Fired when the user clicks on the dropdown icon to initiate opening the menu.\n * If you want to offer default menu items without an input value, pass this function.\n * This function can be an appropriate time to fetch menu item data.\n * Remember to set the loading prop to true when fetching data for an empty list.\n *\n * @param open value defining whether the click opens or closes the menu\n */\n onDropdownButtonClick?: (open: boolean) => void;\n /** Fired when user clicks on the Field Reference input. */\n onClick?: (e: MouseEvent) => void;\n /** Fired when menu opens. */\n onMenuOpen?: () => void;\n /**\n * Fired before running default component onKeyDown handler.\n * Returning `false` from this function prevents default onKeyDown handling.\n */\n onKeyDown?: (e: ReactKeyboardEvent) => boolean | void;\n /** Ref that can be used to access the imperative handle. */\n handle?: Ref<FieldReferenceHandleValue>;\n /** Reference to the component's root element. */\n ref?: Ref<HTMLDivElement>;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldReferenceInput.d.ts","sourceRoot":"","sources":["../../../src/components/FieldReference/FieldReferenceInput.tsx"],"names":[],"mappings":"AAgDA,OAAO,KAAK,wBAAwB,MAAM,wBAAwB,CAAC;;;;
|
|
1
|
+
{"version":3,"file":"FieldReferenceInput.d.ts","sourceRoot":"","sources":["../../../src/components/FieldReference/FieldReferenceInput.tsx"],"names":[],"mappings":"AAgDA,OAAO,KAAK,wBAAwB,MAAM,wBAAwB,CAAC;;;;AAypBnE,wBAA+E"}
|
|
@@ -13,8 +13,8 @@ registerIcon(caretDownIcon, caretUpIcon);
|
|
|
13
13
|
const isMobile = navigatorIsAvailable && navigator.userAgent.includes('Mobile');
|
|
14
14
|
const FieldReferenceInput = forwardRef(function FieldReferenceInput(props, ref) {
|
|
15
15
|
const uid = useUID();
|
|
16
|
-
const { testId, additionalInfo, required, id = uid, label, labelHidden, info, status, readOnly, disabled, placeholder, menu, showCurrentContext, onAltContextClick, selected = [], onSelectedChange, filterValue, onFilterChange, showPath, link, actions, onFocus, onBlur, onDropdownButtonClick: onDropdownButtonClickProp, onMenuOpen, onClick, onKeyDown, handle } = props;
|
|
17
|
-
const { items: menuItems, altContexts, currentContext, parentItem, onCreateNew, createNewLabel, scrollAt, loading, loadMore } = menu;
|
|
16
|
+
const { testId, additionalInfo, required, id = uid, label, labelHidden, info, status, readOnly, disabled, placeholder, menu, showTooltips, showCurrentContext, onAltContextClick, selected = [], onSelectedChange, filterValue, onFilterChange, showPath, link, actions, onFocus, onBlur, onDropdownButtonClick: onDropdownButtonClickProp, onMenuOpen, onClick, onKeyDown, handle } = props;
|
|
17
|
+
const { items: menuItems, itemLayout = 'inline', altContexts, currentContext, parentItem, onCreateNew, createNewLabel, scrollAt, loading, loadMore } = menu;
|
|
18
18
|
const testIds = useTestIds(testId, getFieldReferenceInputTestIds);
|
|
19
19
|
const bodyRef = useRef(document.body);
|
|
20
20
|
const [pauseMenuDescendantEvaluation, setPauseMenuDescendantEvaluation] = useState(true);
|
|
@@ -97,7 +97,7 @@ const FieldReferenceInput = forwardRef(function FieldReferenceInput(props, ref)
|
|
|
97
97
|
primary: item.name,
|
|
98
98
|
secondary: item.type ? [item.type] : undefined,
|
|
99
99
|
items: item.items ? formatMenuItems({ items: item.items, context: item }) : undefined,
|
|
100
|
-
tooltip: _jsx(FieldValueList, { fields: tooltipData, truncate: false }),
|
|
100
|
+
tooltip: showTooltips ? (_jsx(FieldValueList, { fields: tooltipData, truncate: false })) : undefined,
|
|
101
101
|
selected: item.selected
|
|
102
102
|
};
|
|
103
103
|
});
|
|
@@ -323,7 +323,7 @@ const FieldReferenceInput = forwardRef(function FieldReferenceInput(props, ref)
|
|
|
323
323
|
inputRef.current?.focus();
|
|
324
324
|
inputRef.current?.click();
|
|
325
325
|
}
|
|
326
|
-
}, children: [!!selected.length && !open && (_jsx(Grid, { item: { colStart: '1', colEnd: '4' }, children: _jsx(FieldReferenceDisplay, { testId: testId, fieldPath: selectedFieldPath, link: link, actions: formattedActions, tooltipData: tooltipData }) })), !!selected.length && open && showPath && (_jsx(Flex, { container: { gap: 0.25, alignItems: 'center' }, as: StyledSelection, children: [...selectedFieldPath].reverse().map((field, index) => {
|
|
326
|
+
}, children: [!!selected.length && !open && (_jsx(Grid, { item: { colStart: '1', colEnd: '4' }, children: _jsx(FieldReferenceDisplay, { testId: testId, fieldPath: selectedFieldPath, link: link, actions: formattedActions, tooltipData: showTooltips ? tooltipData : undefined }) })), !!selected.length && open && showPath && (_jsx(Flex, { container: { gap: 0.25, alignItems: 'center' }, as: StyledSelection, children: [...selectedFieldPath].reverse().map((field, index) => {
|
|
327
327
|
if (index === 0 && field.id !== parentItem?.id)
|
|
328
328
|
return null;
|
|
329
329
|
return (_jsxs(Fragment, { children: [(index > 0 || showDot) && '.', _jsx(StyledPathSegment, { children: field.name })] }, field.id));
|
|
@@ -383,7 +383,7 @@ const FieldReferenceInput = forwardRef(function FieldReferenceInput(props, ref)
|
|
|
383
383
|
handleEscape(e);
|
|
384
384
|
inputRef.current.focus();
|
|
385
385
|
}
|
|
386
|
-
}, children: _jsx(Menu, { testId: testIds.root, as: StyledFieldReferenceMenu, ref: menuRef, listId: listId, id: menuComponentId, role: 'menu', items: formattedMenuItems, itemLayout:
|
|
386
|
+
}, children: _jsx(Menu, { testId: testIds.root, as: StyledFieldReferenceMenu, ref: menuRef, listId: listId, id: menuComponentId, role: 'menu', items: formattedMenuItems, itemLayout: itemLayout, focusControlEl: inputRef.current || undefined, mode: 'single-select', onItemClick: itemId => {
|
|
387
387
|
handleItemClick(itemId);
|
|
388
388
|
setOpen(false);
|
|
389
389
|
}, onItemExpand: handleItemClick, onItemCollapse: itemId => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldReferenceInput.js","sourceRoot":"","sources":["../../../src/components/FieldReference/FieldReferenceInput.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n forwardRef,\n Fragment,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState\n} from 'react';\nimport type {\n MouseEvent,\n KeyboardEvent as ReactKeyboardEvent,\n PropsWithoutRef,\n Ref,\n MutableRefObject,\n ChangeEvent\n} from 'react';\n\nimport {\n registerIcon,\n navigatorIsAvailable,\n useUID,\n useTestIds,\n useI18n,\n type MenuProps,\n useElement,\n useConsolidatedRef,\n useFocusWithin,\n type FieldValueListItemProps,\n Icon,\n useEscape,\n Button,\n Flex,\n Grid,\n StyledFormControl,\n VisuallyHiddenText,\n FieldValueList,\n Popover,\n getFocusables,\n Menu,\n FormField,\n withTestIds\n} from '@pega/cosmos-react-core';\nimport * as caretDownIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/caret-down.icon';\nimport * as caretUpIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/caret-up.icon';\nimport { fitToContent } from '@pega/cosmos-react-core/lib/components/Popover/modifiers';\n\nimport type FieldReferenceInputProps from './FieldReference.types';\nimport {\n StyledFieldReferenceInput,\n StyledFieldReferencePicker,\n StyledPathSegment,\n StyledSelection,\n StyledFieldReferenceMenu,\n StyledLeadingDot\n} from './FieldReference.styles';\nimport { getFieldReferenceInputTestIds } from './FieldReference.test-ids';\nimport type {\n FieldReferenceDisplayProps,\n FieldReferencedMenuListProps,\n FieldReferenceMenuItem,\n FieldReferenceMenuProps\n} from './FieldReference.types';\nimport FieldReferenceDisplay from './FieldReferenceDisplay';\nimport FieldReferenceMenuList from './FieldReferenceMenuList';\nimport helpers, { addFieldToPath, removeFieldFromPath } from './helpers';\n\nregisterIcon(caretDownIcon, caretUpIcon);\n\nconst isMobile = navigatorIsAvailable && navigator.userAgent.includes('Mobile');\n\nconst FieldReferenceInput = forwardRef(function FieldReferenceInput(\n props: PropsWithoutRef<FieldReferenceInputProps>,\n ref: Ref<HTMLDivElement>\n) {\n const uid = useUID();\n const {\n testId,\n additionalInfo,\n required,\n id = uid,\n label,\n labelHidden,\n info,\n status,\n readOnly,\n disabled,\n placeholder,\n menu,\n showCurrentContext,\n onAltContextClick,\n selected = [],\n onSelectedChange,\n filterValue,\n onFilterChange,\n showPath,\n link,\n actions,\n onFocus,\n onBlur,\n onDropdownButtonClick: onDropdownButtonClickProp,\n onMenuOpen,\n onClick,\n onKeyDown,\n handle\n } = props;\n const {\n items: menuItems,\n altContexts,\n currentContext,\n parentItem,\n onCreateNew,\n createNewLabel,\n scrollAt,\n loading,\n loadMore\n } = menu;\n\n const testIds = useTestIds(testId, getFieldReferenceInputTestIds);\n const bodyRef = useRef<Element>(document.body);\n\n const [pauseMenuDescendantEvaluation, setPauseMenuDescendantEvaluation] = useState(true);\n const [pauseSelectedDescendantEvaluation, setPauseSelectedDescendantEvaluation] = useState(false);\n const t = useI18n();\n const listId = `${id}-list`;\n const inputRef = useRef<HTMLInputElement>(null);\n const popoverRef = useRef<HTMLDivElement>(null);\n const [showDot, setShowDot] = useState(false);\n const [modifyingLeafItem, setModifyingLeafItem] = useState(false);\n const [open, setOpen] = useState(false);\n const menuRef: MenuProps['ref'] = useRef(null);\n const menuComponentId = `${id}-listbox`;\n\n // Force a re-render to make sure useFocusWithin has valid elements to set listeners on.\n const [, setContainerEl] = useElement();\n const containerRef = useConsolidatedRef<HTMLDivElement>(ref, setContainerEl);\n\n const toggleMenuDescendantsActive = useCallback((bool: boolean) => {\n setPauseMenuDescendantEvaluation(!bool);\n setPauseSelectedDescendantEvaluation(bool);\n }, []);\n\n const focus = useFocusWithin([containerRef, popoverRef], focused => {\n if (!focused) {\n setOpen(false);\n toggleMenuDescendantsActive(false);\n onBlur?.();\n } else {\n onFocus?.();\n if (isMobile) {\n setTimeout(() => {\n containerRef.current?.scrollIntoView({ behavior: 'smooth', block: 'start' });\n }, 150); // delay it to let keyboard expand first\n }\n }\n });\n\n useImperativeHandle(\n handle,\n () => ({\n openMenu: () => {\n setOpen(true);\n toggleMenuDescendantsActive(true);\n inputRef.current?.focus();\n },\n closeMenu: () => {\n setOpen(false);\n toggleMenuDescendantsActive(false);\n }\n }),\n [open]\n );\n\n const formatMenuItems = ({\n items,\n context,\n altContextItems\n }: {\n items: FieldReferenceMenuItem[];\n context?: FieldReferenceMenuProps['currentContext'];\n altContextItems?: FieldReferenceMenuProps['altContexts'];\n }): FieldReferencedMenuListProps['items'] => {\n const formattedItems = items\n .sort((a, b) => {\n if (a.selected) return -1;\n if (b.selected) return 1;\n return 0;\n })\n .map(item => {\n const tooltipData: FieldValueListItemProps[] = [\n { name: t('id'), value: item.id, truncate: false },\n { name: t('name'), value: item.name, truncate: false }\n ];\n if (item.type) tooltipData.push({ name: t('type'), value: item.type, truncate: false });\n // Override any OOTB attributes with provided metadata value if there are duplicates\n if (item.metadata) {\n const metaData: FieldValueListItemProps[] = [];\n item.metadata.forEach(meta => {\n const override = tooltipData.find(data => data.name === meta.name);\n if (override) {\n override.value = meta.value;\n } else {\n metaData.push({ ...meta, truncate: false });\n }\n });\n tooltipData.push(...metaData);\n }\n\n return {\n id: item.id,\n visual: item.icon ? <Icon {...item.icon} size='s' /> : undefined,\n primary: item.name,\n secondary: item.type ? [item.type] : undefined,\n items: item.items ? formatMenuItems({ items: item.items, context: item }) : undefined,\n tooltip: <FieldValueList fields={tooltipData} truncate={false} />,\n selected: item.selected\n };\n });\n const formattedAltContextItems = (\n altContextItems && filterValue\n ? helpers.filterBySearch(altContextItems as FieldReferenceMenuItem[], filterValue)\n : altContextItems\n )?.map(item => ({\n id: item.id,\n primary: item.name,\n items: formatMenuItems({ items: item.items || [], context: item }),\n selected: item.selected\n }));\n\n const organizedMenuItems: MenuProps['items'] = [];\n if (!!formattedAltContextItems?.length && !parentItem && !showDot) {\n organizedMenuItems.push(...formattedAltContextItems);\n }\n\n if (!filterValue && context && !parentItem) {\n organizedMenuItems.push({\n id: context.id,\n label: t('current_context', [context.name]),\n items: formattedItems\n });\n } else if (!!filterValue || !context || parentItem) {\n organizedMenuItems.push(...formattedItems);\n }\n\n return organizedMenuItems;\n };\n\n const handleEscape = useCallback(\n (e: KeyboardEvent) => {\n e.preventDefault();\n if (open) {\n e.stopPropagation();\n setOpen(false);\n toggleMenuDescendantsActive(false);\n }\n },\n [open]\n );\n\n useEscape(handleEscape, containerRef, [handleEscape]);\n\n const onInputKeyDown = useCallback(\n (e: ReactKeyboardEvent<HTMLInputElement>) => {\n if (readOnly) return;\n if (onKeyDown?.(e) === false) {\n return;\n }\n\n switch (e.key) {\n case 'ArrowUp':\n if (e.altKey) {\n e.preventDefault();\n if (open) {\n setOpen(false);\n toggleMenuDescendantsActive(false);\n }\n }\n break;\n case 'ArrowDown':\n e.preventDefault();\n if (!open) {\n setOpen(true);\n toggleMenuDescendantsActive(true);\n }\n break;\n case 'Tab': {\n const searchableItems = [...(altContexts || []), ...menuItems];\n const matchedItem = searchableItems.find(\n item =>\n item.id === filterValue || item.name.toLowerCase() === filterValue?.toLowerCase()\n );\n if (matchedItem) {\n onSelectedChange(addFieldToPath(selected, matchedItem, parentItem));\n }\n\n setOpen(false);\n toggleMenuDescendantsActive(false);\n\n break;\n }\n case 'Backspace': {\n if (showDot && !filterValue) {\n setShowDot(false);\n } else if (open && selected.length) {\n const removeAll = e.altKey || e.metaKey;\n const lastSelectedItem = selected.at(-1);\n\n if (\n !showDot &&\n lastSelectedItem &&\n (removeAll || lastSelectedItem.id === parentItem?.id)\n ) {\n onSelectedChange(removeAll ? [] : removeFieldFromPath(selected, lastSelectedItem.id));\n } else if (filterValue && lastSelectedItem && lastSelectedItem.id !== parentItem?.id) {\n setModifyingLeafItem(true);\n }\n }\n break;\n }\n default:\n }\n },\n [open, selected, readOnly, filterValue, showDot, parentItem, onKeyDown]\n );\n\n const onInputKeyUp = useCallback(\n (e: ReactKeyboardEvent<HTMLInputElement>) => {\n if (readOnly) return;\n\n if (e.key === 'Backspace' && selected.length) {\n const lastSelectedItem = selected.at(-1)!;\n if (!filterValue && modifyingLeafItem && open) {\n onSelectedChange(showPath ? removeFieldFromPath(selected, lastSelectedItem.id) : []);\n setModifyingLeafItem(false);\n }\n }\n },\n [open, selected, readOnly, filterValue]\n );\n\n const onDropdownButtonClick = useCallback(() => {\n onDropdownButtonClickProp?.(!open);\n setOpen(!open);\n }, [open, onDropdownButtonClickProp]);\n\n const dropdownButton = useMemo(() => {\n return (menuItems || onDropdownButtonClickProp) && !readOnly ? (\n <Button\n aria-label={t(open ? 'fieldref_close_list_button_a11y' : 'fieldref_open_list_button_a11y')}\n icon\n variant='simple'\n onClick={onDropdownButtonClick}\n onMouseDown={(e: MouseEvent) => {\n e.preventDefault();\n inputRef.current?.focus();\n }}\n disabled={disabled}\n tabIndex='-1'\n >\n <Icon name={open ? 'caret-up' : 'caret-down'} />\n </Button>\n ) : null;\n }, [menuItems, onDropdownButtonClick, readOnly, open, disabled]);\n\n const ariaDescribedBy = useMemo(() => {\n let idString = `${id}-inputDescription`;\n\n if (info) {\n idString = idString.concat(` ${id}-info`);\n }\n idString = idString.concat(` ${id}-searchDescription`);\n\n return idString;\n }, [info, id]);\n\n const onInputClick = useCallback(\n (e: MouseEvent) => {\n if (readOnly) return;\n setOpen(true);\n toggleMenuDescendantsActive(true);\n onClick?.(e);\n },\n [readOnly, onClick]\n );\n\n const tooltipData: FieldReferenceDisplayProps['tooltipData'] = useMemo(() => {\n const selectedField = selected.at(-1);\n if (selectedField) {\n const data: FieldValueListItemProps[] = [\n { name: t('id'), value: selectedField.id, truncate: false },\n { name: t('name'), value: selectedField.name, truncate: false }\n ];\n\n if (selectedField.type)\n data.push({ name: t('type'), value: selectedField.type, truncate: false });\n // Override any OOTB attributes with provided metadata value if there are duplicates\n if (selectedField.metadata) {\n const metaData: FieldValueListItemProps[] = [];\n selectedField.metadata.forEach(meta => {\n const override = data.find(d => d.name === meta.name);\n if (override) {\n override.value = meta.value;\n } else {\n metaData.push({ ...meta, truncate: false });\n }\n });\n data.push(...metaData);\n }\n return data;\n }\n\n return undefined;\n }, [selected]);\n\n const formattedMenuItems = useMemo(() => {\n return formatMenuItems({\n items: menuItems || [],\n context: currentContext,\n altContextItems: altContexts\n });\n }, [menuItems, currentContext, altContexts, filterValue, parentItem, showPath, showDot]);\n\n useEffect(() => {\n if (focus && !!filterValue) {\n setOpen(true);\n toggleMenuDescendantsActive(true);\n }\n }, [filterValue, focus]);\n\n useEffect(() => {\n if (open) {\n onMenuOpen?.();\n if (!!selected.length && selected.at(-1)!.id !== parentItem?.id) {\n onFilterChange(`${selected.at(-1)!.name}${filterValue ?? ''}`);\n }\n } else {\n setShowDot(false);\n onFilterChange('');\n }\n }, [open]);\n\n useEffect(() => {\n if (!showDot && !!selected.length && selected.at(-1)!.id === parentItem?.id) {\n setShowDot(true);\n }\n }, [parentItem, selected]);\n\n const handleItemClick = (itemId: string) => {\n onFilterChange('');\n const matchedItem = menuItems.find(item => item.id === itemId);\n const altContext = altContexts?.find(context => context.id === itemId);\n if (matchedItem) {\n onSelectedChange(addFieldToPath(selected, matchedItem, parentItem));\n } else if (altContext) {\n onAltContextClick?.(altContext);\n }\n };\n\n const ariaControls = open && !pauseMenuDescendantEvaluation ? listId : undefined;\n\n const selectedFieldPath: FieldReferenceDisplayProps['fieldPath'] = useMemo(() => {\n if (!showPath && !!selected.length) return [selected.at(-1)!];\n if (showCurrentContext && currentContext) return [currentContext, ...selected];\n return selected;\n }, [showCurrentContext, currentContext, selected, showPath]);\n\n const formattedActions: FieldReferenceDisplayProps['actions'] = useMemo(() => {\n if (actions)\n return actions.map(action => ({\n ...action,\n onClick: (clickId, e, menuButton) => {\n e.stopPropagation();\n action.onClick?.(clickId, e, menuButton);\n }\n }));\n }, [actions]);\n\n const Comp = (\n <StyledFieldReferencePicker ref={containerRef} id={`${id}-field-reference`}>\n <Grid\n data-testid={testIds.control}\n as={StyledFieldReferenceInput}\n forwardedAs={StyledFormControl}\n spellCheck={false}\n restingState={!!selected.length && !open}\n container={{ alignItems: 'center', cols: '1fr auto' }}\n readOnly={readOnly}\n disabled={disabled}\n status={status}\n >\n <Grid\n container={{\n cols: 'auto auto minmax(8ch, 1fr)',\n autoFlow: 'column',\n alignContent: 'center',\n colGap: 0.25,\n pad: 0.25\n }}\n onClick={(e: MouseEvent<HTMLDivElement>) => {\n // Ignore clicks on selection items\n if (e.target instanceof HTMLElement && !(e.target instanceof HTMLInputElement)) {\n e.stopPropagation();\n inputRef.current?.focus();\n inputRef.current?.click();\n }\n }}\n >\n {!!selected.length && !open && (\n <Grid item={{ colStart: '1', colEnd: '4' }}>\n <FieldReferenceDisplay\n testId={testId}\n fieldPath={selectedFieldPath}\n link={link}\n actions={formattedActions}\n tooltipData={tooltipData}\n />\n </Grid>\n )}\n {!!selected.length && open && showPath && (\n <Flex container={{ gap: 0.25, alignItems: 'center' }} as={StyledSelection}>\n {[...selectedFieldPath].reverse().map((field, index) => {\n if (index === 0 && field.id !== parentItem?.id) return null;\n return (\n <Fragment key={field.id}>\n {(index > 0 || showDot) && '.'}\n <StyledPathSegment>{field.name}</StyledPathSegment>\n </Fragment>\n );\n })}\n </Flex>\n )}\n\n {selected.length === 0 && showDot && <StyledLeadingDot>.</StyledLeadingDot>}\n\n <Grid\n item={{\n colStart: !!selected.length && open ? '3' : '1',\n colEnd: '4',\n alignSelf: 'center'\n }}\n as='input'\n size={1}\n ref={inputRef}\n role='combobox'\n aria-autocomplete='list'\n aria-expanded={!readOnly && !disabled && open}\n aria-controls={!pauseSelectedDescendantEvaluation ? listId : ariaControls}\n aria-haspopup='menu'\n aria-describedby={ariaDescribedBy}\n value={open ? filterValue : ''}\n id={id}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n if (e.target.value !== '.') {\n if (e.target.value.endsWith('.')) {\n const search = e.target.value.replace('.', '');\n const searchableItems = [...(altContexts || []), ...menuItems];\n const matchedItem =\n menuItems.length === 1\n ? menuItems[0]\n : searchableItems.find(item => item.id === search) ||\n searchableItems.find(\n item => item.name.toLowerCase() === search.toLowerCase()\n );\n if (matchedItem && !!matchedItem.items) {\n onSelectedChange(addFieldToPath(selected, matchedItem, parentItem));\n setShowDot(true);\n onFilterChange('');\n } else {\n onFilterChange(e.target.value);\n }\n } else {\n onFilterChange(e.target.value);\n }\n } else {\n setShowDot(true);\n setOpen(true);\n toggleMenuDescendantsActive(true);\n }\n }}\n onClick={onInputClick}\n onKeyDown={onInputKeyDown}\n onKeyUp={onInputKeyUp}\n readOnly={readOnly}\n disabled={disabled}\n placeholder={!selected.length && !showDot ? placeholder : undefined}\n autoComplete='off'\n required={undefined}\n />\n </Grid>\n {dropdownButton}\n </Grid>\n\n <Popover\n ref={popoverRef}\n show={open}\n target={containerRef.current}\n placement='bottom-start'\n modifiers={[fitToContent]}\n strategy='fixed'\n onMouseDown={(e: MouseEvent) => e.preventDefault()}\n onKeyDown={(e: KeyboardEvent) => {\n if (!inputRef.current) return;\n\n if (e.key === 'Tab') {\n const popoverFocusables = getFocusables(popoverRef);\n const currentIndex = popoverFocusables.indexOf(e.target as HTMLElement);\n const forward = !e.shiftKey;\n const isLast = currentIndex === popoverFocusables.length - 1;\n\n if (forward && isLast) {\n e.preventDefault();\n const allFocusable = getFocusables(bodyRef as MutableRefObject<HTMLElement>);\n const nextIndex = allFocusable.indexOf(inputRef.current) + 1;\n\n allFocusable[nextIndex]?.focus();\n setOpen(false);\n toggleMenuDescendantsActive(false);\n } else if (!forward && currentIndex === 0) {\n e.preventDefault();\n inputRef.current.focus();\n }\n }\n if (e.key === 'Escape') {\n handleEscape(e);\n inputRef.current.focus();\n }\n }}\n >\n <Menu\n testId={testIds.root}\n as={StyledFieldReferenceMenu}\n ref={menuRef}\n listId={listId}\n id={menuComponentId}\n role='menu'\n items={formattedMenuItems}\n itemLayout='inline'\n focusControlEl={inputRef.current || undefined}\n mode='single-select'\n onItemClick={itemId => {\n handleItemClick(itemId);\n setOpen(false);\n }}\n onItemExpand={handleItemClick}\n onItemCollapse={itemId => {\n onFilterChange('');\n setShowDot(false);\n onSelectedChange(removeFieldFromPath(selected, itemId));\n }}\n aria-label={t('menu_option_list')}\n pauseDescendantEvaluation={pauseMenuDescendantEvaluation}\n arrowNavigationUnsupported\n footer={\n onCreateNew ? (\n <Button variant='link' onClick={onCreateNew}>\n <Icon name='plus' /> {createNewLabel || t('create_new')}\n </Button>\n ) : undefined\n }\n scrollAt={scrollAt}\n loading={loading}\n loadMore={loadMore}\n menuList={\n <FieldReferenceMenuList\n id={listId}\n items={formattedMenuItems}\n parent={\n parentItem && !filterValue\n ? { id: parentItem.id, primary: parentItem.name }\n : undefined\n }\n aria-labelledby={`${menuComponentId}-menuLabel`}\n />\n }\n />\n </Popover>\n </StyledFieldReferencePicker>\n );\n\n return (\n <>\n {label ? (\n <FormField\n testId={testIds}\n label={label}\n labelHidden={labelHidden}\n id={id}\n info={info}\n status={status}\n required={required}\n disabled={disabled}\n additionalInfo={additionalInfo}\n >\n {Comp}\n </FormField>\n ) : (\n Comp\n )}\n <VisuallyHiddenText id={`${id}-inputDescription`} aria-hidden>\n {`${t('fieldref_open_close')} `}\n </VisuallyHiddenText>\n <VisuallyHiddenText id={`${id}-searchDescription`} aria-hidden>\n {t('fieldref_search_instructions')}\n </VisuallyHiddenText>\n </>\n );\n});\n\nexport default withTestIds(FieldReferenceInput, getFieldReferenceInputTestIds);\n"]}
|
|
1
|
+
{"version":3,"file":"FieldReferenceInput.js","sourceRoot":"","sources":["../../../src/components/FieldReference/FieldReferenceInput.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,UAAU,EACV,QAAQ,EACR,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,OAAO,EACP,MAAM,EACN,QAAQ,EACT,MAAM,OAAO,CAAC;AAUf,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,MAAM,EACN,UAAU,EACV,OAAO,EAEP,UAAU,EACV,kBAAkB,EAClB,cAAc,EAEd,IAAI,EACJ,SAAS,EACT,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,OAAO,EACP,aAAa,EACb,IAAI,EACJ,SAAS,EACT,WAAW,EACZ,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,aAAa,MAAM,mEAAmE,CAAC;AACnG,OAAO,KAAK,WAAW,MAAM,iEAAiE,CAAC;AAC/F,OAAO,EAAE,YAAY,EAAE,MAAM,0DAA0D,CAAC;AAGxF,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,iBAAiB,EACjB,eAAe,EACf,wBAAwB,EACxB,gBAAgB,EACjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAO1E,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,sBAAsB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,OAAO,EAAE,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEzE,YAAY,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;AAEzC,MAAM,QAAQ,GAAG,oBAAoB,IAAI,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAEhF,MAAM,mBAAmB,GAAG,UAAU,CAAC,SAAS,mBAAmB,CACjE,KAAgD,EAChD,GAAwB;IAExB,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IACrB,MAAM,EACJ,MAAM,EACN,cAAc,EACd,QAAQ,EACR,EAAE,GAAG,GAAG,EACR,KAAK,EACL,WAAW,EACX,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,IAAI,EACJ,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,QAAQ,GAAG,EAAE,EACb,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,OAAO,EACP,MAAM,EACN,qBAAqB,EAAE,yBAAyB,EAChD,UAAU,EACV,OAAO,EACP,SAAS,EACT,MAAM,EACP,GAAG,KAAK,CAAC;IACV,MAAM,EACJ,KAAK,EAAE,SAAS,EAChB,UAAU,GAAG,QAAQ,EACrB,WAAW,EACX,cAAc,EACd,UAAU,EACV,WAAW,EACX,cAAc,EACd,QAAQ,EACR,OAAO,EACP,QAAQ,EACT,GAAG,IAAI,CAAC;IAET,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAAC;IAClE,MAAM,OAAO,GAAG,MAAM,CAAU,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE/C,MAAM,CAAC,6BAA6B,EAAE,gCAAgC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACzF,MAAM,CAAC,iCAAiC,EAAE,oCAAoC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClG,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;IACpB,MAAM,MAAM,GAAG,GAAG,EAAE,OAAO,CAAC;IAC5B,MAAM,QAAQ,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAChD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,OAAO,GAAqB,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,eAAe,GAAG,GAAG,EAAE,UAAU,CAAC;IAExC,wFAAwF;IACxF,MAAM,CAAC,EAAE,cAAc,CAAC,GAAG,UAAU,EAAE,CAAC;IACxC,MAAM,YAAY,GAAG,kBAAkB,CAAiB,GAAG,EAAE,cAAc,CAAC,CAAC;IAE7E,MAAM,2BAA2B,GAAG,WAAW,CAAC,CAAC,IAAa,EAAE,EAAE;QAChE,gCAAgC,CAAC,CAAC,IAAI,CAAC,CAAC;QACxC,oCAAoC,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,KAAK,GAAG,cAAc,CAAC,CAAC,YAAY,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,EAAE;QACjE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,CAAC;YACf,2BAA2B,CAAC,KAAK,CAAC,CAAC;YACnC,MAAM,EAAE,EAAE,CAAC;QACb,CAAC;aAAM,CAAC;YACN,OAAO,EAAE,EAAE,CAAC;YACZ,IAAI,QAAQ,EAAE,CAAC;gBACb,UAAU,CAAC,GAAG,EAAE;oBACd,YAAY,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC/E,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,wCAAwC;YACnD,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,mBAAmB,CACjB,MAAM,EACN,GAAG,EAAE,CAAC,CAAC;QACL,QAAQ,EAAE,GAAG,EAAE;YACb,OAAO,CAAC,IAAI,CAAC,CAAC;YACd,2BAA2B,CAAC,IAAI,CAAC,CAAC;YAClC,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC;QACD,SAAS,EAAE,GAAG,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,CAAC;YACf,2BAA2B,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;KACF,CAAC,EACF,CAAC,IAAI,CAAC,CACP,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,EACvB,KAAK,EACL,OAAO,EACP,eAAe,EAKhB,EAAyC,EAAE;QAC1C,MAAM,cAAc,GAAG,KAAK;aACzB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACb,IAAI,CAAC,CAAC,QAAQ;gBAAE,OAAO,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,CAAC,QAAQ;gBAAE,OAAO,CAAC,CAAC;YACzB,OAAO,CAAC,CAAC;QACX,CAAC,CAAC;aACD,GAAG,CAAC,IAAI,CAAC,EAAE;YACV,MAAM,WAAW,GAA8B;gBAC7C,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE;gBAClD,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;aACvD,CAAC;YACF,IAAI,IAAI,CAAC,IAAI;gBAAE,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YACxF,oFAAoF;YACpF,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,MAAM,QAAQ,GAA8B,EAAE,CAAC;gBAC/C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBAC3B,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;oBACnE,IAAI,QAAQ,EAAE,CAAC;wBACb,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;oBAC9B,CAAC;yBAAM,CAAC;wBACN,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;oBAC9C,CAAC;gBACH,CAAC,CAAC,CAAC;gBACH,WAAW,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;YAChC,CAAC;YAED,OAAO;gBACL,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAC,IAAI,OAAK,IAAI,CAAC,IAAI,EAAE,IAAI,EAAC,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS;gBAChE,OAAO,EAAE,IAAI,CAAC,IAAI;gBAClB,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC9C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;gBACrF,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CACtB,KAAC,cAAc,IAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,GAAI,CACzD,CAAC,CAAC,CAAC,SAAS;gBACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC;QACJ,CAAC,CAAC,CAAC;QACL,MAAM,wBAAwB,GAAG,CAC/B,eAAe,IAAI,WAAW;YAC5B,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,eAA2C,EAAE,WAAW,CAAC;YAClF,CAAC,CAAC,eAAe,CACpB,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACd,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,OAAO,EAAE,IAAI,CAAC,IAAI;YAClB,KAAK,EAAE,eAAe,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAClE,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAC,CAAC;QAEJ,MAAM,kBAAkB,GAAuB,EAAE,CAAC;QAClD,IAAI,CAAC,CAAC,wBAAwB,EAAE,MAAM,IAAI,CAAC,UAAU,IAAI,CAAC,OAAO,EAAE,CAAC;YAClE,kBAAkB,CAAC,IAAI,CAAC,GAAG,wBAAwB,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,CAAC,WAAW,IAAI,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;YAC3C,kBAAkB,CAAC,IAAI,CAAC;gBACtB,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,KAAK,EAAE,CAAC,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC3C,KAAK,EAAE,cAAc;aACtB,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,OAAO,IAAI,UAAU,EAAE,CAAC;YACnD,kBAAkB,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,kBAAkB,CAAC;IAC5B,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,CAAgB,EAAE,EAAE;QACnB,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,IAAI,IAAI,EAAE,CAAC;YACT,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,CAAC;YACf,2BAA2B,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;IACH,CAAC,EACD,CAAC,IAAI,CAAC,CACP,CAAC;IAEF,SAAS,CAAC,YAAY,EAAE,YAAY,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEtD,MAAM,cAAc,GAAG,WAAW,CAChC,CAAC,CAAuC,EAAE,EAAE;QAC1C,IAAI,QAAQ;YAAE,OAAO;QACrB,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;YACd,KAAK,SAAS;gBACZ,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;oBACb,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,IAAI,IAAI,EAAE,CAAC;wBACT,OAAO,CAAC,KAAK,CAAC,CAAC;wBACf,2BAA2B,CAAC,KAAK,CAAC,CAAC;oBACrC,CAAC;gBACH,CAAC;gBACD,MAAM;YACR,KAAK,WAAW;gBACd,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,OAAO,CAAC,IAAI,CAAC,CAAC;oBACd,2BAA2B,CAAC,IAAI,CAAC,CAAC;gBACpC,CAAC;gBACD,MAAM;YACR,KAAK,KAAK,CAAC,CAAC,CAAC;gBACX,MAAM,eAAe,GAAG,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;gBAC/D,MAAM,WAAW,GAAG,eAAe,CAAC,IAAI,CACtC,IAAI,CAAC,EAAE,CACL,IAAI,CAAC,EAAE,KAAK,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,WAAW,EAAE,WAAW,EAAE,CACpF,CAAC;gBACF,IAAI,WAAW,EAAE,CAAC;oBAChB,gBAAgB,CAAC,cAAc,CAAC,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;gBACtE,CAAC;gBAED,OAAO,CAAC,KAAK,CAAC,CAAC;gBACf,2BAA2B,CAAC,KAAK,CAAC,CAAC;gBAEnC,MAAM;YACR,CAAC;YACD,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,IAAI,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;oBAC5B,UAAU,CAAC,KAAK,CAAC,CAAC;gBACpB,CAAC;qBAAM,IAAI,IAAI,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACnC,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC;oBACxC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBAEzC,IACE,CAAC,OAAO;wBACR,gBAAgB;wBAChB,CAAC,SAAS,IAAI,gBAAgB,CAAC,EAAE,KAAK,UAAU,EAAE,EAAE,CAAC,EACrD,CAAC;wBACD,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC;oBACxF,CAAC;yBAAM,IAAI,WAAW,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,EAAE,KAAK,UAAU,EAAE,EAAE,EAAE,CAAC;wBACrF,oBAAoB,CAAC,IAAI,CAAC,CAAC;oBAC7B,CAAC;gBACH,CAAC;gBACD,MAAM;YACR,CAAC;YACD,QAAQ;QACV,CAAC;IACH,CAAC,EACD,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,CACxE,CAAC;IAEF,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,CAAuC,EAAE,EAAE;QAC1C,IAAI,QAAQ;YAAE,OAAO;QAErB,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC7C,MAAM,gBAAgB,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC;YAC1C,IAAI,CAAC,WAAW,IAAI,iBAAiB,IAAI,IAAI,EAAE,CAAC;gBAC9C,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACrF,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC,EACD,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CACxC,CAAC;IAEF,MAAM,qBAAqB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7C,yBAAyB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QACnC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC,EAAE,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC,CAAC;IAEtC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE;QAClC,OAAO,CAAC,SAAS,IAAI,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAC7D,KAAC,MAAM,kBACO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,gCAAgC,CAAC,EAC1F,IAAI,QACJ,OAAO,EAAC,QAAQ,EAChB,OAAO,EAAE,qBAAqB,EAC9B,WAAW,EAAE,CAAC,CAAa,EAAE,EAAE;gBAC7B,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;YAC5B,CAAC,EACD,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAC,IAAI,YAEb,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,GAAI,GACzC,CACV,CAAC,CAAC,CAAC,IAAI,CAAC;IACX,CAAC,EAAE,CAAC,SAAS,EAAE,qBAAqB,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEjE,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE;QACnC,IAAI,QAAQ,GAAG,GAAG,EAAE,mBAAmB,CAAC;QAExC,IAAI,IAAI,EAAE,CAAC;YACT,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC;QACD,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;QAEvD,OAAO,QAAQ,CAAC;IAClB,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IAEf,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,CAAa,EAAE,EAAE;QAChB,IAAI,QAAQ;YAAE,OAAO;QACrB,OAAO,CAAC,IAAI,CAAC,CAAC;QACd,2BAA2B,CAAC,IAAI,CAAC,CAAC;QAClC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IACf,CAAC,EACD,CAAC,QAAQ,EAAE,OAAO,CAAC,CACpB,CAAC;IAEF,MAAM,WAAW,GAA8C,OAAO,CAAC,GAAG,EAAE;QAC1E,MAAM,aAAa,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,IAAI,GAA8B;gBACtC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE;gBAC3D,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;aAChE,CAAC;YAEF,IAAI,aAAa,CAAC,IAAI;gBACpB,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YAC7E,oFAAoF;YACpF,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;gBAC3B,MAAM,QAAQ,GAA8B,EAAE,CAAC;gBAC/C,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;oBACtD,IAAI,QAAQ,EAAE,CAAC;wBACb,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;oBAC9B,CAAC;yBAAM,CAAC;wBACN,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;oBAC9C,CAAC;gBACH,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;YACzB,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,EAAE;QACtC,OAAO,eAAe,CAAC;YACrB,KAAK,EAAE,SAAS,IAAI,EAAE;YACtB,OAAO,EAAE,cAAc;YACvB,eAAe,EAAE,WAAW;SAC7B,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IAEzF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,CAAC;YACd,2BAA2B,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;IAEzB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,IAAI,EAAE,CAAC;YACT,UAAU,EAAE,EAAE,CAAC;YACf,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,EAAE,KAAK,UAAU,EAAE,EAAE,EAAE,CAAC;gBAChE,cAAc,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,GAAG,WAAW,IAAI,EAAE,EAAE,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,KAAK,CAAC,CAAC;YAClB,cAAc,CAAC,EAAE,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,EAAE,KAAK,UAAU,EAAE,EAAE,EAAE,CAAC;YAC5E,UAAU,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE3B,MAAM,eAAe,GAAG,CAAC,MAAc,EAAE,EAAE;QACzC,cAAc,CAAC,EAAE,CAAC,CAAC;QACnB,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;QAC/D,MAAM,UAAU,GAAG,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;QACvE,IAAI,WAAW,EAAE,CAAC;YAChB,gBAAgB,CAAC,cAAc,CAAC,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;QACtE,CAAC;aAAM,IAAI,UAAU,EAAE,CAAC;YACtB,iBAAiB,EAAE,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IAEjF,MAAM,iBAAiB,GAA4C,OAAO,CAAC,GAAG,EAAE;QAC9E,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM;YAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;QAC9D,IAAI,kBAAkB,IAAI,cAAc;YAAE,OAAO,CAAC,cAAc,EAAE,GAAG,QAAQ,CAAC,CAAC;QAC/E,OAAO,QAAQ,CAAC;IAClB,CAAC,EAAE,CAAC,kBAAkB,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE7D,MAAM,gBAAgB,GAA0C,OAAO,CAAC,GAAG,EAAE;QAC3E,IAAI,OAAO;YACT,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC5B,GAAG,MAAM;gBACT,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE;oBAClC,CAAC,CAAC,eAAe,EAAE,CAAC;oBACpB,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;gBAC3C,CAAC;aACF,CAAC,CAAC,CAAC;IACR,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,MAAM,IAAI,GAAG,CACX,MAAC,0BAA0B,IAAC,GAAG,EAAE,YAAY,EAAE,EAAE,EAAE,GAAG,EAAE,kBAAkB,aACxE,MAAC,IAAI,mBACU,OAAO,CAAC,OAAO,EAC5B,EAAE,EAAE,yBAAyB,EAC7B,WAAW,EAAE,iBAAiB,EAC9B,UAAU,EAAE,KAAK,EACjB,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,IAAI,EACxC,SAAS,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,EACrD,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,aAEd,MAAC,IAAI,IACH,SAAS,EAAE;4BACT,IAAI,EAAE,4BAA4B;4BAClC,QAAQ,EAAE,QAAQ;4BAClB,YAAY,EAAE,QAAQ;4BACtB,MAAM,EAAE,IAAI;4BACZ,GAAG,EAAE,IAAI;yBACV,EACD,OAAO,EAAE,CAAC,CAA6B,EAAE,EAAE;4BACzC,mCAAmC;4BACnC,IAAI,CAAC,CAAC,MAAM,YAAY,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,YAAY,gBAAgB,CAAC,EAAE,CAAC;gCAC/E,CAAC,CAAC,eAAe,EAAE,CAAC;gCACpB,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;gCAC1B,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;4BAC5B,CAAC;wBACH,CAAC,aAEA,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAC7B,KAAC,IAAI,IAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,YACxC,KAAC,qBAAqB,IACpB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,iBAAiB,EAC5B,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,gBAAgB,EACzB,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,GACnD,GACG,CACR,EACA,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,IAAI,IAAI,QAAQ,IAAI,CACxC,KAAC,IAAI,IAAC,SAAS,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,eAAe,YACtE,CAAC,GAAG,iBAAiB,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;oCACrD,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE,KAAK,UAAU,EAAE,EAAE;wCAAE,OAAO,IAAI,CAAC;oCAC5D,OAAO,CACL,MAAC,QAAQ,eACN,CAAC,KAAK,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,GAAG,EAC9B,KAAC,iBAAiB,cAAE,KAAK,CAAC,IAAI,GAAqB,KAFtC,KAAK,CAAC,EAAE,CAGZ,CACZ,CAAC;gCACJ,CAAC,CAAC,GACG,CACR,EAEA,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,IAAI,KAAC,gBAAgB,oBAAqB,EAE3E,KAAC,IAAI,IACH,IAAI,EAAE;oCACJ,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;oCAC/C,MAAM,EAAE,GAAG;oCACX,SAAS,EAAE,QAAQ;iCACpB,EACD,EAAE,EAAC,OAAO,EACV,IAAI,EAAE,CAAC,EACP,GAAG,EAAE,QAAQ,EACb,IAAI,EAAC,UAAU,uBACG,MAAM,mBACT,CAAC,QAAQ,IAAI,CAAC,QAAQ,IAAI,IAAI,mBAC9B,CAAC,iCAAiC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,mBAC3D,MAAM,sBACF,eAAe,EACjC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAC9B,EAAE,EAAE,EAAE,EACN,QAAQ,EAAE,CAAC,CAAgC,EAAE,EAAE;oCAC7C,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,KAAK,GAAG,EAAE,CAAC;wCAC3B,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;4CACjC,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;4CAC/C,MAAM,eAAe,GAAG,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;4CAC/D,MAAM,WAAW,GACf,SAAS,CAAC,MAAM,KAAK,CAAC;gDACpB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;gDACd,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC;oDAChD,eAAe,CAAC,IAAI,CAClB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,WAAW,EAAE,CACzD,CAAC;4CACR,IAAI,WAAW,IAAI,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;gDACvC,gBAAgB,CAAC,cAAc,CAAC,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;gDACpE,UAAU,CAAC,IAAI,CAAC,CAAC;gDACjB,cAAc,CAAC,EAAE,CAAC,CAAC;4CACrB,CAAC;iDAAM,CAAC;gDACN,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;4CACjC,CAAC;wCACH,CAAC;6CAAM,CAAC;4CACN,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wCACjC,CAAC;oCACH,CAAC;yCAAM,CAAC;wCACN,UAAU,CAAC,IAAI,CAAC,CAAC;wCACjB,OAAO,CAAC,IAAI,CAAC,CAAC;wCACd,2BAA2B,CAAC,IAAI,CAAC,CAAC;oCACpC,CAAC;gCACH,CAAC,EACD,OAAO,EAAE,YAAY,EACrB,SAAS,EAAE,cAAc,EACzB,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EACnE,YAAY,EAAC,KAAK,EAClB,QAAQ,EAAE,SAAS,GACnB,IACG,EACN,cAAc,IACV,EAEP,KAAC,OAAO,IACN,GAAG,EAAE,UAAU,EACf,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,YAAY,CAAC,OAAO,EAC5B,SAAS,EAAC,cAAc,EACxB,SAAS,EAAE,CAAC,YAAY,CAAC,EACzB,QAAQ,EAAC,OAAO,EAChB,WAAW,EAAE,CAAC,CAAa,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,EAClD,SAAS,EAAE,CAAC,CAAgB,EAAE,EAAE;oBAC9B,IAAI,CAAC,QAAQ,CAAC,OAAO;wBAAE,OAAO;oBAE9B,IAAI,CAAC,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;wBACpB,MAAM,iBAAiB,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;wBACpD,MAAM,YAAY,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,MAAqB,CAAC,CAAC;wBACxE,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;wBAC5B,MAAM,MAAM,GAAG,YAAY,KAAK,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC;wBAE7D,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;4BACtB,CAAC,CAAC,cAAc,EAAE,CAAC;4BACnB,MAAM,YAAY,GAAG,aAAa,CAAC,OAAwC,CAAC,CAAC;4BAC7E,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;4BAE7D,YAAY,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC;4BACjC,OAAO,CAAC,KAAK,CAAC,CAAC;4BACf,2BAA2B,CAAC,KAAK,CAAC,CAAC;wBACrC,CAAC;6BAAM,IAAI,CAAC,OAAO,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;4BAC1C,CAAC,CAAC,cAAc,EAAE,CAAC;4BACnB,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;wBAC3B,CAAC;oBACH,CAAC;oBACD,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;wBACvB,YAAY,CAAC,CAAC,CAAC,CAAC;wBAChB,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;oBAC3B,CAAC;gBACH,CAAC,YAED,KAAC,IAAI,IACH,MAAM,EAAE,OAAO,CAAC,IAAI,EACpB,EAAE,EAAE,wBAAwB,EAC5B,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,eAAe,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,kBAAkB,EACzB,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,QAAQ,CAAC,OAAO,IAAI,SAAS,EAC7C,IAAI,EAAC,eAAe,EACpB,WAAW,EAAE,MAAM,CAAC,EAAE;wBACpB,eAAe,CAAC,MAAM,CAAC,CAAC;wBACxB,OAAO,CAAC,KAAK,CAAC,CAAC;oBACjB,CAAC,EACD,YAAY,EAAE,eAAe,EAC7B,cAAc,EAAE,MAAM,CAAC,EAAE;wBACvB,cAAc,CAAC,EAAE,CAAC,CAAC;wBACnB,UAAU,CAAC,KAAK,CAAC,CAAC;wBAClB,gBAAgB,CAAC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;oBAC1D,CAAC,gBACW,CAAC,CAAC,kBAAkB,CAAC,EACjC,yBAAyB,EAAE,6BAA6B,EACxD,0BAA0B,QAC1B,MAAM,EACJ,WAAW,CAAC,CAAC,CAAC,CACZ,MAAC,MAAM,IAAC,OAAO,EAAC,MAAM,EAAC,OAAO,EAAE,WAAW,aACzC,KAAC,IAAI,IAAC,IAAI,EAAC,MAAM,GAAG,OAAE,cAAc,IAAI,CAAC,CAAC,YAAY,CAAC,IAChD,CACV,CAAC,CAAC,CAAC,SAAS,EAEf,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EACN,KAAC,sBAAsB,IACrB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,kBAAkB,EACzB,MAAM,EACJ,UAAU,IAAI,CAAC,WAAW;4BACxB,CAAC,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,EAAE;4BACjD,CAAC,CAAC,SAAS,qBAEE,GAAG,eAAe,YAAY,GAC/C,GAEJ,GACM,IACiB,CAC9B,CAAC;IAEF,OAAO,CACL,8BACG,KAAK,CAAC,CAAC,CAAC,CACP,KAAC,SAAS,IACR,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,cAAc,YAE7B,IAAI,GACK,CACb,CAAC,CAAC,CAAC,CACF,IAAI,CACL,EACD,KAAC,kBAAkB,IAAC,EAAE,EAAE,GAAG,EAAE,mBAAmB,iCAC7C,GAAG,CAAC,CAAC,qBAAqB,CAAC,GAAG,GACZ,EACrB,KAAC,kBAAkB,IAAC,EAAE,EAAE,GAAG,EAAE,oBAAoB,iCAC9C,CAAC,CAAC,8BAA8B,CAAC,GACf,IACpB,CACJ,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,eAAe,WAAW,CAAC,mBAAmB,EAAE,6BAA6B,CAAC,CAAC","sourcesContent":["import {\n forwardRef,\n Fragment,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState\n} from 'react';\nimport type {\n MouseEvent,\n KeyboardEvent as ReactKeyboardEvent,\n PropsWithoutRef,\n Ref,\n MutableRefObject,\n ChangeEvent\n} from 'react';\n\nimport {\n registerIcon,\n navigatorIsAvailable,\n useUID,\n useTestIds,\n useI18n,\n type MenuProps,\n useElement,\n useConsolidatedRef,\n useFocusWithin,\n type FieldValueListItemProps,\n Icon,\n useEscape,\n Button,\n Flex,\n Grid,\n StyledFormControl,\n VisuallyHiddenText,\n FieldValueList,\n Popover,\n getFocusables,\n Menu,\n FormField,\n withTestIds\n} from '@pega/cosmos-react-core';\nimport * as caretDownIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/caret-down.icon';\nimport * as caretUpIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/caret-up.icon';\nimport { fitToContent } from '@pega/cosmos-react-core/lib/components/Popover/modifiers';\n\nimport type FieldReferenceInputProps from './FieldReference.types';\nimport {\n StyledFieldReferenceInput,\n StyledFieldReferencePicker,\n StyledPathSegment,\n StyledSelection,\n StyledFieldReferenceMenu,\n StyledLeadingDot\n} from './FieldReference.styles';\nimport { getFieldReferenceInputTestIds } from './FieldReference.test-ids';\nimport type {\n FieldReferenceDisplayProps,\n FieldReferencedMenuListProps,\n FieldReferenceMenuItem,\n FieldReferenceMenuProps\n} from './FieldReference.types';\nimport FieldReferenceDisplay from './FieldReferenceDisplay';\nimport FieldReferenceMenuList from './FieldReferenceMenuList';\nimport helpers, { addFieldToPath, removeFieldFromPath } from './helpers';\n\nregisterIcon(caretDownIcon, caretUpIcon);\n\nconst isMobile = navigatorIsAvailable && navigator.userAgent.includes('Mobile');\n\nconst FieldReferenceInput = forwardRef(function FieldReferenceInput(\n props: PropsWithoutRef<FieldReferenceInputProps>,\n ref: Ref<HTMLDivElement>\n) {\n const uid = useUID();\n const {\n testId,\n additionalInfo,\n required,\n id = uid,\n label,\n labelHidden,\n info,\n status,\n readOnly,\n disabled,\n placeholder,\n menu,\n showTooltips,\n showCurrentContext,\n onAltContextClick,\n selected = [],\n onSelectedChange,\n filterValue,\n onFilterChange,\n showPath,\n link,\n actions,\n onFocus,\n onBlur,\n onDropdownButtonClick: onDropdownButtonClickProp,\n onMenuOpen,\n onClick,\n onKeyDown,\n handle\n } = props;\n const {\n items: menuItems,\n itemLayout = 'inline',\n altContexts,\n currentContext,\n parentItem,\n onCreateNew,\n createNewLabel,\n scrollAt,\n loading,\n loadMore\n } = menu;\n\n const testIds = useTestIds(testId, getFieldReferenceInputTestIds);\n const bodyRef = useRef<Element>(document.body);\n\n const [pauseMenuDescendantEvaluation, setPauseMenuDescendantEvaluation] = useState(true);\n const [pauseSelectedDescendantEvaluation, setPauseSelectedDescendantEvaluation] = useState(false);\n const t = useI18n();\n const listId = `${id}-list`;\n const inputRef = useRef<HTMLInputElement>(null);\n const popoverRef = useRef<HTMLDivElement>(null);\n const [showDot, setShowDot] = useState(false);\n const [modifyingLeafItem, setModifyingLeafItem] = useState(false);\n const [open, setOpen] = useState(false);\n const menuRef: MenuProps['ref'] = useRef(null);\n const menuComponentId = `${id}-listbox`;\n\n // Force a re-render to make sure useFocusWithin has valid elements to set listeners on.\n const [, setContainerEl] = useElement();\n const containerRef = useConsolidatedRef<HTMLDivElement>(ref, setContainerEl);\n\n const toggleMenuDescendantsActive = useCallback((bool: boolean) => {\n setPauseMenuDescendantEvaluation(!bool);\n setPauseSelectedDescendantEvaluation(bool);\n }, []);\n\n const focus = useFocusWithin([containerRef, popoverRef], focused => {\n if (!focused) {\n setOpen(false);\n toggleMenuDescendantsActive(false);\n onBlur?.();\n } else {\n onFocus?.();\n if (isMobile) {\n setTimeout(() => {\n containerRef.current?.scrollIntoView({ behavior: 'smooth', block: 'start' });\n }, 150); // delay it to let keyboard expand first\n }\n }\n });\n\n useImperativeHandle(\n handle,\n () => ({\n openMenu: () => {\n setOpen(true);\n toggleMenuDescendantsActive(true);\n inputRef.current?.focus();\n },\n closeMenu: () => {\n setOpen(false);\n toggleMenuDescendantsActive(false);\n }\n }),\n [open]\n );\n\n const formatMenuItems = ({\n items,\n context,\n altContextItems\n }: {\n items: FieldReferenceMenuItem[];\n context?: FieldReferenceMenuProps['currentContext'];\n altContextItems?: FieldReferenceMenuProps['altContexts'];\n }): FieldReferencedMenuListProps['items'] => {\n const formattedItems = items\n .sort((a, b) => {\n if (a.selected) return -1;\n if (b.selected) return 1;\n return 0;\n })\n .map(item => {\n const tooltipData: FieldValueListItemProps[] = [\n { name: t('id'), value: item.id, truncate: false },\n { name: t('name'), value: item.name, truncate: false }\n ];\n if (item.type) tooltipData.push({ name: t('type'), value: item.type, truncate: false });\n // Override any OOTB attributes with provided metadata value if there are duplicates\n if (item.metadata) {\n const metaData: FieldValueListItemProps[] = [];\n item.metadata.forEach(meta => {\n const override = tooltipData.find(data => data.name === meta.name);\n if (override) {\n override.value = meta.value;\n } else {\n metaData.push({ ...meta, truncate: false });\n }\n });\n tooltipData.push(...metaData);\n }\n\n return {\n id: item.id,\n visual: item.icon ? <Icon {...item.icon} size='s' /> : undefined,\n primary: item.name,\n secondary: item.type ? [item.type] : undefined,\n items: item.items ? formatMenuItems({ items: item.items, context: item }) : undefined,\n tooltip: showTooltips ? (\n <FieldValueList fields={tooltipData} truncate={false} />\n ) : undefined,\n selected: item.selected\n };\n });\n const formattedAltContextItems = (\n altContextItems && filterValue\n ? helpers.filterBySearch(altContextItems as FieldReferenceMenuItem[], filterValue)\n : altContextItems\n )?.map(item => ({\n id: item.id,\n primary: item.name,\n items: formatMenuItems({ items: item.items || [], context: item }),\n selected: item.selected\n }));\n\n const organizedMenuItems: MenuProps['items'] = [];\n if (!!formattedAltContextItems?.length && !parentItem && !showDot) {\n organizedMenuItems.push(...formattedAltContextItems);\n }\n\n if (!filterValue && context && !parentItem) {\n organizedMenuItems.push({\n id: context.id,\n label: t('current_context', [context.name]),\n items: formattedItems\n });\n } else if (!!filterValue || !context || parentItem) {\n organizedMenuItems.push(...formattedItems);\n }\n\n return organizedMenuItems;\n };\n\n const handleEscape = useCallback(\n (e: KeyboardEvent) => {\n e.preventDefault();\n if (open) {\n e.stopPropagation();\n setOpen(false);\n toggleMenuDescendantsActive(false);\n }\n },\n [open]\n );\n\n useEscape(handleEscape, containerRef, [handleEscape]);\n\n const onInputKeyDown = useCallback(\n (e: ReactKeyboardEvent<HTMLInputElement>) => {\n if (readOnly) return;\n if (onKeyDown?.(e) === false) {\n return;\n }\n\n switch (e.key) {\n case 'ArrowUp':\n if (e.altKey) {\n e.preventDefault();\n if (open) {\n setOpen(false);\n toggleMenuDescendantsActive(false);\n }\n }\n break;\n case 'ArrowDown':\n e.preventDefault();\n if (!open) {\n setOpen(true);\n toggleMenuDescendantsActive(true);\n }\n break;\n case 'Tab': {\n const searchableItems = [...(altContexts || []), ...menuItems];\n const matchedItem = searchableItems.find(\n item =>\n item.id === filterValue || item.name.toLowerCase() === filterValue?.toLowerCase()\n );\n if (matchedItem) {\n onSelectedChange(addFieldToPath(selected, matchedItem, parentItem));\n }\n\n setOpen(false);\n toggleMenuDescendantsActive(false);\n\n break;\n }\n case 'Backspace': {\n if (showDot && !filterValue) {\n setShowDot(false);\n } else if (open && selected.length) {\n const removeAll = e.altKey || e.metaKey;\n const lastSelectedItem = selected.at(-1);\n\n if (\n !showDot &&\n lastSelectedItem &&\n (removeAll || lastSelectedItem.id === parentItem?.id)\n ) {\n onSelectedChange(removeAll ? [] : removeFieldFromPath(selected, lastSelectedItem.id));\n } else if (filterValue && lastSelectedItem && lastSelectedItem.id !== parentItem?.id) {\n setModifyingLeafItem(true);\n }\n }\n break;\n }\n default:\n }\n },\n [open, selected, readOnly, filterValue, showDot, parentItem, onKeyDown]\n );\n\n const onInputKeyUp = useCallback(\n (e: ReactKeyboardEvent<HTMLInputElement>) => {\n if (readOnly) return;\n\n if (e.key === 'Backspace' && selected.length) {\n const lastSelectedItem = selected.at(-1)!;\n if (!filterValue && modifyingLeafItem && open) {\n onSelectedChange(showPath ? removeFieldFromPath(selected, lastSelectedItem.id) : []);\n setModifyingLeafItem(false);\n }\n }\n },\n [open, selected, readOnly, filterValue]\n );\n\n const onDropdownButtonClick = useCallback(() => {\n onDropdownButtonClickProp?.(!open);\n setOpen(!open);\n }, [open, onDropdownButtonClickProp]);\n\n const dropdownButton = useMemo(() => {\n return (menuItems || onDropdownButtonClickProp) && !readOnly ? (\n <Button\n aria-label={t(open ? 'fieldref_close_list_button_a11y' : 'fieldref_open_list_button_a11y')}\n icon\n variant='simple'\n onClick={onDropdownButtonClick}\n onMouseDown={(e: MouseEvent) => {\n e.preventDefault();\n inputRef.current?.focus();\n }}\n disabled={disabled}\n tabIndex='-1'\n >\n <Icon name={open ? 'caret-up' : 'caret-down'} />\n </Button>\n ) : null;\n }, [menuItems, onDropdownButtonClick, readOnly, open, disabled]);\n\n const ariaDescribedBy = useMemo(() => {\n let idString = `${id}-inputDescription`;\n\n if (info) {\n idString = idString.concat(` ${id}-info`);\n }\n idString = idString.concat(` ${id}-searchDescription`);\n\n return idString;\n }, [info, id]);\n\n const onInputClick = useCallback(\n (e: MouseEvent) => {\n if (readOnly) return;\n setOpen(true);\n toggleMenuDescendantsActive(true);\n onClick?.(e);\n },\n [readOnly, onClick]\n );\n\n const tooltipData: FieldReferenceDisplayProps['tooltipData'] = useMemo(() => {\n const selectedField = selected.at(-1);\n if (selectedField) {\n const data: FieldValueListItemProps[] = [\n { name: t('id'), value: selectedField.id, truncate: false },\n { name: t('name'), value: selectedField.name, truncate: false }\n ];\n\n if (selectedField.type)\n data.push({ name: t('type'), value: selectedField.type, truncate: false });\n // Override any OOTB attributes with provided metadata value if there are duplicates\n if (selectedField.metadata) {\n const metaData: FieldValueListItemProps[] = [];\n selectedField.metadata.forEach(meta => {\n const override = data.find(d => d.name === meta.name);\n if (override) {\n override.value = meta.value;\n } else {\n metaData.push({ ...meta, truncate: false });\n }\n });\n data.push(...metaData);\n }\n return data;\n }\n\n return undefined;\n }, [selected]);\n\n const formattedMenuItems = useMemo(() => {\n return formatMenuItems({\n items: menuItems || [],\n context: currentContext,\n altContextItems: altContexts\n });\n }, [menuItems, currentContext, altContexts, filterValue, parentItem, showPath, showDot]);\n\n useEffect(() => {\n if (focus && !!filterValue) {\n setOpen(true);\n toggleMenuDescendantsActive(true);\n }\n }, [filterValue, focus]);\n\n useEffect(() => {\n if (open) {\n onMenuOpen?.();\n if (!!selected.length && selected.at(-1)!.id !== parentItem?.id) {\n onFilterChange(`${selected.at(-1)!.name}${filterValue ?? ''}`);\n }\n } else {\n setShowDot(false);\n onFilterChange('');\n }\n }, [open]);\n\n useEffect(() => {\n if (!showDot && !!selected.length && selected.at(-1)!.id === parentItem?.id) {\n setShowDot(true);\n }\n }, [parentItem, selected]);\n\n const handleItemClick = (itemId: string) => {\n onFilterChange('');\n const matchedItem = menuItems.find(item => item.id === itemId);\n const altContext = altContexts?.find(context => context.id === itemId);\n if (matchedItem) {\n onSelectedChange(addFieldToPath(selected, matchedItem, parentItem));\n } else if (altContext) {\n onAltContextClick?.(altContext);\n }\n };\n\n const ariaControls = open && !pauseMenuDescendantEvaluation ? listId : undefined;\n\n const selectedFieldPath: FieldReferenceDisplayProps['fieldPath'] = useMemo(() => {\n if (!showPath && !!selected.length) return [selected.at(-1)!];\n if (showCurrentContext && currentContext) return [currentContext, ...selected];\n return selected;\n }, [showCurrentContext, currentContext, selected, showPath]);\n\n const formattedActions: FieldReferenceDisplayProps['actions'] = useMemo(() => {\n if (actions)\n return actions.map(action => ({\n ...action,\n onClick: (clickId, e, menuButton) => {\n e.stopPropagation();\n action.onClick?.(clickId, e, menuButton);\n }\n }));\n }, [actions]);\n\n const Comp = (\n <StyledFieldReferencePicker ref={containerRef} id={`${id}-field-reference`}>\n <Grid\n data-testid={testIds.control}\n as={StyledFieldReferenceInput}\n forwardedAs={StyledFormControl}\n spellCheck={false}\n restingState={!!selected.length && !open}\n container={{ alignItems: 'center', cols: '1fr auto' }}\n readOnly={readOnly}\n disabled={disabled}\n status={status}\n >\n <Grid\n container={{\n cols: 'auto auto minmax(8ch, 1fr)',\n autoFlow: 'column',\n alignContent: 'center',\n colGap: 0.25,\n pad: 0.25\n }}\n onClick={(e: MouseEvent<HTMLDivElement>) => {\n // Ignore clicks on selection items\n if (e.target instanceof HTMLElement && !(e.target instanceof HTMLInputElement)) {\n e.stopPropagation();\n inputRef.current?.focus();\n inputRef.current?.click();\n }\n }}\n >\n {!!selected.length && !open && (\n <Grid item={{ colStart: '1', colEnd: '4' }}>\n <FieldReferenceDisplay\n testId={testId}\n fieldPath={selectedFieldPath}\n link={link}\n actions={formattedActions}\n tooltipData={showTooltips ? tooltipData : undefined}\n />\n </Grid>\n )}\n {!!selected.length && open && showPath && (\n <Flex container={{ gap: 0.25, alignItems: 'center' }} as={StyledSelection}>\n {[...selectedFieldPath].reverse().map((field, index) => {\n if (index === 0 && field.id !== parentItem?.id) return null;\n return (\n <Fragment key={field.id}>\n {(index > 0 || showDot) && '.'}\n <StyledPathSegment>{field.name}</StyledPathSegment>\n </Fragment>\n );\n })}\n </Flex>\n )}\n\n {selected.length === 0 && showDot && <StyledLeadingDot>.</StyledLeadingDot>}\n\n <Grid\n item={{\n colStart: !!selected.length && open ? '3' : '1',\n colEnd: '4',\n alignSelf: 'center'\n }}\n as='input'\n size={1}\n ref={inputRef}\n role='combobox'\n aria-autocomplete='list'\n aria-expanded={!readOnly && !disabled && open}\n aria-controls={!pauseSelectedDescendantEvaluation ? listId : ariaControls}\n aria-haspopup='menu'\n aria-describedby={ariaDescribedBy}\n value={open ? filterValue : ''}\n id={id}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n if (e.target.value !== '.') {\n if (e.target.value.endsWith('.')) {\n const search = e.target.value.replace('.', '');\n const searchableItems = [...(altContexts || []), ...menuItems];\n const matchedItem =\n menuItems.length === 1\n ? menuItems[0]\n : searchableItems.find(item => item.id === search) ||\n searchableItems.find(\n item => item.name.toLowerCase() === search.toLowerCase()\n );\n if (matchedItem && !!matchedItem.items) {\n onSelectedChange(addFieldToPath(selected, matchedItem, parentItem));\n setShowDot(true);\n onFilterChange('');\n } else {\n onFilterChange(e.target.value);\n }\n } else {\n onFilterChange(e.target.value);\n }\n } else {\n setShowDot(true);\n setOpen(true);\n toggleMenuDescendantsActive(true);\n }\n }}\n onClick={onInputClick}\n onKeyDown={onInputKeyDown}\n onKeyUp={onInputKeyUp}\n readOnly={readOnly}\n disabled={disabled}\n placeholder={!selected.length && !showDot ? placeholder : undefined}\n autoComplete='off'\n required={undefined}\n />\n </Grid>\n {dropdownButton}\n </Grid>\n\n <Popover\n ref={popoverRef}\n show={open}\n target={containerRef.current}\n placement='bottom-start'\n modifiers={[fitToContent]}\n strategy='fixed'\n onMouseDown={(e: MouseEvent) => e.preventDefault()}\n onKeyDown={(e: KeyboardEvent) => {\n if (!inputRef.current) return;\n\n if (e.key === 'Tab') {\n const popoverFocusables = getFocusables(popoverRef);\n const currentIndex = popoverFocusables.indexOf(e.target as HTMLElement);\n const forward = !e.shiftKey;\n const isLast = currentIndex === popoverFocusables.length - 1;\n\n if (forward && isLast) {\n e.preventDefault();\n const allFocusable = getFocusables(bodyRef as MutableRefObject<HTMLElement>);\n const nextIndex = allFocusable.indexOf(inputRef.current) + 1;\n\n allFocusable[nextIndex]?.focus();\n setOpen(false);\n toggleMenuDescendantsActive(false);\n } else if (!forward && currentIndex === 0) {\n e.preventDefault();\n inputRef.current.focus();\n }\n }\n if (e.key === 'Escape') {\n handleEscape(e);\n inputRef.current.focus();\n }\n }}\n >\n <Menu\n testId={testIds.root}\n as={StyledFieldReferenceMenu}\n ref={menuRef}\n listId={listId}\n id={menuComponentId}\n role='menu'\n items={formattedMenuItems}\n itemLayout={itemLayout}\n focusControlEl={inputRef.current || undefined}\n mode='single-select'\n onItemClick={itemId => {\n handleItemClick(itemId);\n setOpen(false);\n }}\n onItemExpand={handleItemClick}\n onItemCollapse={itemId => {\n onFilterChange('');\n setShowDot(false);\n onSelectedChange(removeFieldFromPath(selected, itemId));\n }}\n aria-label={t('menu_option_list')}\n pauseDescendantEvaluation={pauseMenuDescendantEvaluation}\n arrowNavigationUnsupported\n footer={\n onCreateNew ? (\n <Button variant='link' onClick={onCreateNew}>\n <Icon name='plus' /> {createNewLabel || t('create_new')}\n </Button>\n ) : undefined\n }\n scrollAt={scrollAt}\n loading={loading}\n loadMore={loadMore}\n menuList={\n <FieldReferenceMenuList\n id={listId}\n items={formattedMenuItems}\n parent={\n parentItem && !filterValue\n ? { id: parentItem.id, primary: parentItem.name }\n : undefined\n }\n aria-labelledby={`${menuComponentId}-menuLabel`}\n />\n }\n />\n </Popover>\n </StyledFieldReferencePicker>\n );\n\n return (\n <>\n {label ? (\n <FormField\n testId={testIds}\n label={label}\n labelHidden={labelHidden}\n id={id}\n info={info}\n status={status}\n required={required}\n disabled={disabled}\n additionalInfo={additionalInfo}\n >\n {Comp}\n </FormField>\n ) : (\n Comp\n )}\n <VisuallyHiddenText id={`${id}-inputDescription`} aria-hidden>\n {`${t('fieldref_open_close')} `}\n </VisuallyHiddenText>\n <VisuallyHiddenText id={`${id}-searchDescription`} aria-hidden>\n {t('fieldref_search_instructions')}\n </VisuallyHiddenText>\n </>\n );\n});\n\nexport default withTestIds(FieldReferenceInput, getFieldReferenceInputTestIds);\n"]}
|
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
import type { Field, FieldReferenceMenuItem, FieldReferenceMenuProps } from './FieldReference.types';
|
|
1
|
+
import type { Field, FieldReferenceMenuItem, FieldReferenceMenuProps, AltContext } from './FieldReference.types';
|
|
2
|
+
type ItemProp = FieldReferenceMenuItem | AltContext;
|
|
3
|
+
export declare const isFieldReferenceMenuItem: (item: FieldReferenceMenuItem | AltContext) => item is FieldReferenceMenuItem;
|
|
4
|
+
export declare const filterMenuItems: (items: ItemProp[]) => FieldReferenceMenuItem[];
|
|
5
|
+
export declare const flatten: (items: ItemProp[], ancestors?: ItemProp[], options?: {
|
|
6
|
+
parentFirst?: boolean;
|
|
7
|
+
}) => ItemProp[];
|
|
2
8
|
declare const helpers: {
|
|
3
9
|
getItem(items: FieldReferenceMenuItem[], id: Field["id"]): FieldReferenceMenuItem | undefined;
|
|
4
10
|
toggleSelected(items: FieldReferenceMenuItem[], id: Field["id"], bool: boolean): FieldReferenceMenuItem[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/components/FieldReference/helpers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,KAAK,EACL,sBAAsB,EACtB,uBAAuB,
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/components/FieldReference/helpers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,KAAK,EACL,sBAAsB,EACtB,uBAAuB,EACvB,UAAU,EACX,MAAM,wBAAwB,CAAC;AAEhC,KAAK,QAAQ,GAAG,sBAAsB,GAAG,UAAU,CAAC;AAEpD,eAAO,MAAM,wBAAwB,GACnC,MAAM,sBAAsB,GAAG,UAAU,KACxC,IAAI,IAAI,sBAEV,CAAC;AAMF,eAAO,MAAM,eAAe,GAAI,OAAO,QAAQ,EAAE,6BAIhD,CAAC;AAEF,eAAO,MAAM,OAAO,GAClB,OAAO,QAAQ,EAAE,EACjB,YAAW,QAAQ,EAAO,EAC1B,UAAU;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,KAClC,QAAQ,EAqBV,CAAC;AAEF,QAAA,MAAM,OAAO;mBACI,sBAAsB,EAAE,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,sBAAsB,GAAG,SAAS;0BAoBpF,sBAAsB,EAAE,MAC3B,KAAK,CAAC,IAAI,CAAC,QACT,OAAO,GACZ,sBAAsB,EAAE;sBAoBT,sBAAsB,EAAE,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,sBAAsB,EAAE;wBAIlE,sBAAsB,EAAE,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,sBAAsB,EAAE;mBAK/E,sBAAsB,EAAE,MAC3B,CACF,IAAI,EAAE,sBAAsB,EAC5B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,sBAAsB,EAAE,KAC5B,sBAAsB,GAC1B,sBAAsB,EAAE;0BAeL,sBAAsB,EAAE,eAAe,MAAM,GAAG,sBAAsB,EAAE;CA0B/F,CAAC;AAEF,eAAO,MAAM,cAAc,GACzB,MAAM,KAAK,EAAE,EACb,OAAO,KAAK,EACZ,YAAY,uBAAuB,CAAC,YAAY,CAAC,KAChD,KAAK,EAMP,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,MAAM,KAAK,EAAE,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,KAAG,KAAK,EAczE,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -1,4 +1,34 @@
|
|
|
1
|
-
import { createStringMatcher } from '@pega/cosmos-react-core';
|
|
1
|
+
import { createStringMatcher, hasProp } from '@pega/cosmos-react-core';
|
|
2
|
+
export const isFieldReferenceMenuItem = (item) => {
|
|
3
|
+
return hasProp(item, 'type');
|
|
4
|
+
};
|
|
5
|
+
const filterReferenceMenuItem = (items) => {
|
|
6
|
+
return items.filter(item => isFieldReferenceMenuItem(item));
|
|
7
|
+
};
|
|
8
|
+
export const filterMenuItems = (items) => {
|
|
9
|
+
return filterReferenceMenuItem(items).filter(value => {
|
|
10
|
+
return !value.items;
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
export const flatten = (items, ancestors = [], options) => {
|
|
14
|
+
let allItems = [];
|
|
15
|
+
let leafItems = [];
|
|
16
|
+
items.forEach((item) => {
|
|
17
|
+
if (item.id) {
|
|
18
|
+
allItems.push({ ...item });
|
|
19
|
+
}
|
|
20
|
+
if (item.items) {
|
|
21
|
+
const children = flatten(item.items, [...ancestors, item], options);
|
|
22
|
+
if (options && options.parentFirst) {
|
|
23
|
+
leafItems = [...leafItems, ...children];
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
allItems = [...allItems, ...children];
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
return options && options.parentFirst ? [...allItems, ...leafItems] : allItems;
|
|
31
|
+
};
|
|
2
32
|
const helpers = {
|
|
3
33
|
getItem(items, id) {
|
|
4
34
|
let found;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/components/FieldReference/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/components/FieldReference/helpers.ts"],"names":[],"mappings":"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","sourcesContent":["import { createStringMatcher, hasProp } from '@pega/cosmos-react-core';\n\nimport type {\n Field,\n FieldReferenceMenuItem,\n FieldReferenceMenuProps,\n AltContext\n} from './FieldReference.types';\n\ntype ItemProp = FieldReferenceMenuItem | AltContext;\n\nexport const isFieldReferenceMenuItem = (\n item: FieldReferenceMenuItem | AltContext\n): item is FieldReferenceMenuItem => {\n return hasProp(item, 'type');\n};\n\nconst filterReferenceMenuItem = (items: ItemProp[]) => {\n return items.filter(item => isFieldReferenceMenuItem(item));\n};\n\nexport const filterMenuItems = (items: ItemProp[]) => {\n return filterReferenceMenuItem(items).filter(value => {\n return !value.items;\n });\n};\n\nexport const flatten = (\n items: ItemProp[],\n ancestors: ItemProp[] = [],\n options?: { parentFirst?: boolean }\n): ItemProp[] => {\n let allItems: ItemProp[] = [];\n let leafItems: ItemProp[] = [];\n\n items.forEach((item: ItemProp) => {\n if (item.id) {\n allItems.push({ ...item });\n }\n\n if (item.items) {\n const children = flatten(item.items, [...ancestors, item], options);\n\n if (options && options.parentFirst) {\n leafItems = [...leafItems, ...children];\n } else {\n allItems = [...allItems, ...children];\n }\n }\n });\n\n return options && options.parentFirst ? [...allItems, ...leafItems] : allItems;\n};\n\nconst helpers = {\n getItem(items: FieldReferenceMenuItem[], id: Field['id']): FieldReferenceMenuItem | undefined {\n let found: FieldReferenceMenuItem | undefined;\n items.some(item => {\n if (item.id === id) {\n found = item;\n return true;\n }\n\n if (item.items) {\n found = this.getItem(item.items, id);\n return !!found;\n }\n\n return false;\n });\n\n return found;\n },\n\n toggleSelected(\n items: FieldReferenceMenuItem[],\n id: Field['id'],\n bool: boolean\n ): FieldReferenceMenuItem[] {\n return this.mapTree(items, item => {\n if (item.id === id) {\n return {\n ...item,\n selected: bool\n };\n }\n\n if (item.selected) {\n return {\n ...item,\n selected: false\n };\n }\n\n return item;\n });\n },\n\n selectItem(items: FieldReferenceMenuItem[], id: Field['id']): FieldReferenceMenuItem[] {\n return this.toggleSelected(items, id, true);\n },\n\n deselectItem(items: FieldReferenceMenuItem[], id: Field['id']): FieldReferenceMenuItem[] {\n return this.toggleSelected(items, id, false);\n },\n\n mapTree(\n items: FieldReferenceMenuItem[],\n fn: (\n item: FieldReferenceMenuItem,\n index: number,\n array: FieldReferenceMenuItem[]\n ) => FieldReferenceMenuItem\n ): FieldReferenceMenuItem[] {\n return items.map((item, index, array) => {\n let newItem = item;\n\n if (item.items) {\n newItem = {\n ...newItem,\n items: this.mapTree(item.items, fn) as FieldReferenceMenuItem[]\n };\n }\n\n return fn(newItem, index, array);\n });\n },\n\n filterBySearch(items: FieldReferenceMenuItem[], searchValue: string): FieldReferenceMenuItem[] {\n const exactSearchRegex = createStringMatcher(searchValue, 'exact');\n const startsWithSearchRegex = createStringMatcher(searchValue, 'start');\n const containsSearchRegex = createStringMatcher(searchValue, 'contains');\n\n const exactSearchResults = items.filter(({ id, name }: FieldReferenceMenuItem) => {\n return exactSearchRegex.test(id) || exactSearchRegex.test(name);\n });\n\n const startsWithSearchResults = items.filter(({ id, name }: FieldReferenceMenuItem) => {\n return (\n !exactSearchResults.some(item => item.id === id) &&\n (startsWithSearchRegex.test(id) || startsWithSearchRegex.test(name))\n );\n });\n\n const containsSearchResults = items.filter(({ id, name }: FieldReferenceMenuItem) => {\n return (\n !exactSearchResults.some(item => item.id === id) &&\n !startsWithSearchResults.some(item => item.id === id) &&\n (containsSearchRegex.test(id) || containsSearchRegex.test(name))\n );\n });\n\n return [...exactSearchResults, ...startsWithSearchResults, ...containsSearchResults];\n }\n};\n\nexport const addFieldToPath = (\n path: Field[],\n field: Field,\n parentItem: FieldReferenceMenuProps['parentItem']\n): Field[] => {\n if (!path.length) return [field];\n if (path[path.length - 1].id !== parentItem?.id) {\n return [...path.slice(0, path.length - 1), field];\n }\n return [...path, field];\n};\n\nexport const removeFieldFromPath = (path: Field[], id: Field['id']): Field[] => {\n if (!path.length) return [];\n\n const newPath = [...path];\n let lastItem = newPath.pop();\n while (lastItem) {\n if (lastItem.id === id) {\n break;\n } else {\n lastItem = newPath.pop();\n }\n }\n\n return newPath;\n};\n\nexport default helpers;\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { default as FieldReferenceInput } from './FieldReferenceInput';
|
|
2
2
|
export { default as FieldReferenceDisplay } from './FieldReferenceDisplay';
|
|
3
|
-
export type { default as FieldReferenceInputProps, AltContext, Context, Field, FieldReferenceMenuProps, FieldReferenceMenuItem, FieldReferenceHandleValue, FieldReferenceDisplayProps } from './FieldReference.types';
|
|
3
|
+
export type { default as FieldReferenceInputProps, AltContext, Context, Field, FieldReferenceProps, FieldReferenceMenuProps, FieldReferenceMenuItem, FieldReferenceHandleValue, FieldReferenceDisplayProps } from './FieldReference.types';
|
|
4
4
|
export { typeIconMapping, getIconMapping } from '../../utils/typeIconMapping';
|
|
5
5
|
export type { FieldType } from '../../utils/typeIconMapping';
|
|
6
|
-
export { default as fieldReferenceMenuHelpers } from './helpers';
|
|
6
|
+
export { default as fieldReferenceMenuHelpers, flatten } from './helpers';
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/FieldReference/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,YAAY,EACV,OAAO,IAAI,wBAAwB,EACnC,UAAU,EACV,OAAO,EACP,KAAK,EACL,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,EACzB,0BAA0B,EAC3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC9E,YAAY,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/FieldReference/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,YAAY,EACV,OAAO,IAAI,wBAAwB,EACnC,UAAU,EACV,OAAO,EACP,KAAK,EACL,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,EACzB,0BAA0B,EAC3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC9E,YAAY,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { default as FieldReferenceInput } from './FieldReferenceInput';
|
|
2
2
|
export { default as FieldReferenceDisplay } from './FieldReferenceDisplay';
|
|
3
3
|
export { typeIconMapping, getIconMapping } from '../../utils/typeIconMapping';
|
|
4
|
-
export { default as fieldReferenceMenuHelpers } from './helpers';
|
|
4
|
+
export { default as fieldReferenceMenuHelpers, flatten } from './helpers';
|
|
5
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/FieldReference/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/FieldReference/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAY3E,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC","sourcesContent":["export { default as FieldReferenceInput } from './FieldReferenceInput';\nexport { default as FieldReferenceDisplay } from './FieldReferenceDisplay';\nexport type {\n default as FieldReferenceInputProps,\n AltContext,\n Context,\n Field,\n FieldReferenceProps,\n FieldReferenceMenuProps,\n FieldReferenceMenuItem,\n FieldReferenceHandleValue,\n FieldReferenceDisplayProps\n} from './FieldReference.types';\nexport { typeIconMapping, getIconMapping } from '../../utils/typeIconMapping';\nexport type { FieldType } from '../../utils/typeIconMapping';\nexport { default as fieldReferenceMenuHelpers, flatten } from './helpers';\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Category } from './IconTile.types';
|
|
1
|
+
import type { Category, IconTileProps } from './IconTile.types';
|
|
2
2
|
interface ColorInfo {
|
|
3
3
|
bg: string;
|
|
4
4
|
fg: string;
|
|
@@ -7,5 +7,6 @@ interface ColorInfo {
|
|
|
7
7
|
}
|
|
8
8
|
type IconTileColors = Record<Category, ColorInfo>;
|
|
9
9
|
export declare const tileColors: IconTileColors;
|
|
10
|
+
export declare const ruleTypeColorConfig: Record<string, Pick<Required<IconTileProps>, 'background' | 'foreground'>>;
|
|
10
11
|
export {};
|
|
11
12
|
//# sourceMappingURL=iconUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iconUtils.d.ts","sourceRoot":"","sources":["../../../src/components/IconTile/iconUtils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"iconUtils.d.ts","sourceRoot":"","sources":["../../../src/components/IconTile/iconUtils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEhE,UAAU,SAAS;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,KAAK,cAAc,GAAG,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AAElD,eAAO,MAAM,UAAU,EAAE,cAqCxB,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CACtC,MAAM,EACN,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,YAAY,GAAG,YAAY,CAAC,CA8F3D,CAAC"}
|