@wix/patterns 1.499.0 → 1.501.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/CardContainer/CardContainer.st.css.js +2 -2
- package/dist/cjs/components/CardContainer/CardContainer.st.css.js.map +1 -1
- package/dist/cjs/components/CmsFieldManagement/CmsFieldForm.st.css.js +3 -3
- package/dist/cjs/components/CmsFieldManagement/CmsFieldForm.st.css.js.map +1 -1
- package/dist/cjs/components/CmsFieldManagement/CmsFieldModal.st.css.js +3 -3
- package/dist/cjs/components/CmsFieldManagement/CmsFieldModal.st.css.js.map +1 -1
- package/dist/cjs/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js +3 -3
- package/dist/cjs/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js.map +1 -1
- package/dist/cjs/components/Collapse/Collapse.st.css.js +3 -3
- package/dist/cjs/components/Collapse/Collapse.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionItemActions/CollectionItemActionsHelper.js +2 -2
- package/dist/cjs/components/CollectionItemActions/CollectionItemActionsHelper.js.map +1 -1
- package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
- package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +3 -3
- package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js +2 -2
- package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.st.css.js +2 -2
- package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js +5 -5
- package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +4 -4
- package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
- package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
- package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
- package/dist/cjs/components/CustomColumnsPanel/ColumnListTableListItem.js +24 -27
- package/dist/cjs/components/CustomColumnsPanel/ColumnListTableListItem.js.map +1 -1
- package/dist/cjs/components/CustomFieldModal/CustomFieldCollectionInput.js +30 -15
- package/dist/cjs/components/CustomFieldModal/CustomFieldCollectionInput.js.map +1 -1
- package/dist/cjs/components/CustomFieldModal/CustomFieldFormPiiFields.st.css.js +3 -3
- package/dist/cjs/components/CustomFieldModal/CustomFieldFormPiiFields.st.css.js.map +1 -1
- package/dist/cjs/components/DragHandle/DragHandle.st.css.js +2 -2
- package/dist/cjs/components/DragHandle/DragHandle.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/EditableCell.st.css.js +6 -6
- package/dist/cjs/components/EditableTable/EditableCell.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/HeaderActionsPopover.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/JsonInputEdit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/JsonInputEdit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/color/Edit.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/color/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css.js +8 -8
- package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css.js +7 -7
- package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/mediaImage/Edit.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/mediaImage/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/mediaImage/index.js +1 -10
- package/dist/cjs/components/EditableTable/cellTypes/mediaImage/index.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/multiDocument/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/multiDocument/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/multiReference/Edit.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/multiReference/Edit.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/multiReference/View.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/multiReference/View.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/reference/Edit.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/reference/Edit.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/reference/EmptyReferenceView.st.css.js +6 -6
- package/dist/cjs/components/EditableTable/cellTypes/reference/EmptyReferenceView.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/reference/View.js +5 -5
- package/dist/cjs/components/EditableTable/cellTypes/reference/View.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/reference/types.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js +4 -4
- package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css.js +4 -4
- package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js +5 -5
- package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js.map +1 -1
- package/dist/cjs/components/EmptyState/EmptyStateBase.st.css.js +2 -2
- package/dist/cjs/components/EmptyState/EmptyStateBase.st.css.js.map +1 -1
- package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js +2 -2
- package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js.map +1 -1
- package/dist/cjs/components/EntityPageFields/EntityPageField.st.css.js +3 -3
- package/dist/cjs/components/EntityPageFields/EntityPageField.st.css.js.map +1 -1
- package/dist/cjs/components/EntityPageFields/EntityPageReferenceField.js +6 -5
- package/dist/cjs/components/EntityPageFields/EntityPageReferenceField.js.map +1 -1
- package/dist/cjs/components/EntityPageFields/EntityPageReferenceValue.js +7 -6
- package/dist/cjs/components/EntityPageFields/EntityPageReferenceValue.js.map +1 -1
- package/dist/cjs/components/EntityPageFields/EntityPageReferenceValue.st.css.js +2 -2
- package/dist/cjs/components/EntityPageFields/EntityPageReferenceValue.st.css.js.map +1 -1
- package/dist/cjs/components/EntityPageFields/useReferencedSchema.js +0 -6
- package/dist/cjs/components/EntityPageFields/useReferencedSchema.js.map +1 -1
- package/dist/cjs/components/Fade/Fade.st.css.js +2 -2
- package/dist/cjs/components/Fade/Fade.st.css.js.map +1 -1
- package/dist/cjs/components/Grid/GridSingleGridContent.js +7 -4
- package/dist/cjs/components/Grid/GridSingleGridContent.js.map +1 -1
- package/dist/cjs/components/GridSections/GridSectionsContent.js +5 -4
- package/dist/cjs/components/GridSections/GridSectionsContent.js.map +1 -1
- package/dist/cjs/components/Heading/Heading.st.css.js +2 -2
- package/dist/cjs/components/Heading/Heading.st.css.js.map +1 -1
- package/dist/cjs/components/ImportButton/ImportButtonModalLayout.js +49 -15
- package/dist/cjs/components/ImportButton/ImportButtonModalLayout.js.map +1 -1
- package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js +3 -3
- package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js.map +1 -1
- package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js +2 -2
- package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
- package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js +3 -3
- package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
- package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
- package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
- package/dist/cjs/components/MaxLines/MaxLines.st.css.js +2 -2
- package/dist/cjs/components/MaxLines/MaxLines.st.css.js.map +1 -1
- package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +5 -5
- package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
- package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js +5 -5
- package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
- package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
- package/dist/cjs/components/PickerContent/PickerContent.st.css.js +2 -2
- package/dist/cjs/components/PickerContent/PickerContent.st.css.js.map +1 -1
- package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js +4 -4
- package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
- package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
- package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
- package/dist/cjs/components/PrimaryActions/PrimaryActions.js +1 -1
- package/dist/cjs/components/PrimaryActions/PrimaryActions.js.map +1 -1
- package/dist/cjs/components/SchemaSource/ReferenceFieldCell.js +7 -7
- package/dist/cjs/components/SchemaSource/ReferenceFieldCell.js.map +1 -1
- package/dist/cjs/components/SchemaSource/referenceCells.js +3 -8
- package/dist/cjs/components/SchemaSource/referenceCells.js.map +1 -1
- package/dist/cjs/components/SchemaSource/schemaFieldActions.js +15 -1
- package/dist/cjs/components/SchemaSource/schemaFieldActions.js.map +1 -1
- package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
- package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
- package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js +10 -10
- package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js.map +1 -1
- package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
- package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
- package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
- package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
- package/dist/cjs/components/Table/AddFieldColumnHeader.st.css.js +6 -6
- package/dist/cjs/components/Table/AddFieldColumnHeader.st.css.js.map +1 -1
- package/dist/cjs/components/Table/NumberCell.st.css.js +2 -2
- package/dist/cjs/components/Table/NumberCell.st.css.js.map +1 -1
- package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +3 -3
- package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
- package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
- package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
- package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
- package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js.map +1 -1
- package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
- package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
- package/dist/cjs/components/common.st.css.js +4 -4
- package/dist/cjs/components/common.st.css.js.map +1 -1
- package/dist/cjs/exports/schema.js.map +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js +3 -3
- package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
- package/dist/cjs/state/CollectionPage/MobilePrimaryActionBar.st.css.js +2 -2
- package/dist/cjs/state/CollectionPage/MobilePrimaryActionBar.st.css.js.map +1 -1
- package/dist/cjs/state/CollectionPage/TitleBadges.st.css.js +4 -4
- package/dist/cjs/state/CollectionPage/TitleBadges.st.css.js.map +1 -1
- package/dist/cjs/state/CustomColumnsEntityPageState.js +30 -2
- package/dist/cjs/state/CustomColumnsEntityPageState.js.map +1 -1
- package/dist/cjs/state/CustomColumnsPanelStateBase.js.map +1 -1
- package/dist/cjs/state/CustomColumnsState.js +18 -6
- package/dist/cjs/state/CustomColumnsState.js.map +1 -1
- package/dist/cjs/state/EntityPage/EntityPageState.js +24 -0
- package/dist/cjs/state/EntityPage/EntityPageState.js.map +1 -1
- package/dist/cjs/state/EntityPage/EntityPageStateBIReporter.js +55 -2
- package/dist/cjs/state/EntityPage/EntityPageStateBIReporter.js.map +1 -1
- package/dist/cjs/state/FormPage/FormPageHeader.st.css.js +2 -2
- package/dist/cjs/state/FormPage/FormPageHeader.st.css.js.map +1 -1
- package/dist/cjs/state/NestedTableState/NestedTableNestedModeState.js +1 -1
- package/dist/cjs/state/NestedTableState/NestedTableNestedModeState.js.map +1 -1
- package/dist/cjs/state/OperatorFilterPickerState.js +2 -1
- package/dist/cjs/state/OperatorFilterPickerState.js.map +1 -1
- package/dist/cjs/styles.global.css +2 -2
- package/dist/cjs/utils/referenceImage.js +35 -0
- package/dist/cjs/utils/referenceImage.js.map +1 -0
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/docs/CustomFieldType.md +25 -0
- package/dist/docs/Explore Apps.md +1 -0
- package/dist/docs/ImportButton.md +3 -1
- package/dist/docs/Settings Page Template.md +1 -1
- package/dist/docs/useGridCollection.md +1 -0
- package/dist/docs/useTableCollection.md +16 -1
- package/dist/docs/useTableGridSwitchCollection.md +1 -0
- package/dist/dts-bundle/components/EditableTable.d.ts +4 -3
- package/dist/dts-bundle/components/LayoutSwitch.d.ts +4 -3
- package/dist/dts-bundle/components/WixPatternsBMProvider.d.ts +3 -0
- package/dist/dts-bundle/components/WixPatternsBaseProvider.d.ts +3 -0
- package/dist/dts-bundle/components/WixPatternsEssentialsProvider.d.ts +3 -0
- package/dist/dts-bundle/components/WixPatternsGizaProvider.d.ts +3 -0
- package/dist/dts-bundle/hooks/useCmsSchemaSource.d.ts +4 -0
- package/dist/dts-bundle/hooks/usePickerModal.d.ts +6 -0
- package/dist/dts-bundle/index.json +37 -37
- package/dist/dts-bundle/index.txt +13 -13
- package/dist/dts-bundle/types/CellType.d.ts +10 -3
- package/dist/dts-bundle/types/SchemaSource.d.ts +6 -1
- package/dist/dts-bundle/types/SchemaSourceInput.d.ts +6 -1
- package/dist/dts-bundle/types/TableGridSwitchState.d.ts +4 -0
- package/dist/dts-bundle/types/UseCmsSchemaSourceDeps.d.ts +10 -1
- package/dist/esm/components/CardContainer/CardContainer.st.css.js +2 -2
- package/dist/esm/components/CmsFieldManagement/CmsFieldForm.st.css.js +2 -2
- package/dist/esm/components/CmsFieldManagement/CmsFieldForm.st.css.js.map +1 -1
- package/dist/esm/components/CmsFieldManagement/CmsFieldModal.st.css.js +2 -2
- package/dist/esm/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js +2 -2
- package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
- package/dist/esm/components/CollectionItemActions/CollectionItemActionsHelper.js +8 -2
- package/dist/esm/components/CollectionItemActions/CollectionItemActionsHelper.js.map +1 -1
- package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
- package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +2 -2
- package/dist/esm/components/CollectionTable/CollectionTable.st.css.js +2 -2
- package/dist/esm/components/CollectionTable/CollectionTableWSRTable.st.css.js +2 -2
- package/dist/esm/components/CollectionTable/CollectionTableWSRTable.st.css.js.map +1 -1
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
- package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
- package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
- package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
- package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
- package/dist/esm/components/CustomColumnsPanel/ColumnListTableListItem.js +12 -13
- package/dist/esm/components/CustomColumnsPanel/ColumnListTableListItem.js.map +1 -1
- package/dist/esm/components/CustomFieldModal/CustomFieldCollectionInput.js +31 -10
- package/dist/esm/components/CustomFieldModal/CustomFieldCollectionInput.js.map +1 -1
- package/dist/esm/components/CustomFieldModal/CustomFieldFormPiiFields.st.css.js +2 -2
- package/dist/esm/components/CustomFieldModal/CustomFieldFormPiiFields.st.css.js.map +1 -1
- package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
- package/dist/esm/components/EditableTable/EditableCell.st.css.js +2 -2
- package/dist/esm/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/CellViewLayout.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/JsonInputEdit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/address/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/color/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/date/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/datetime/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/datetime/Edit.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/datetime/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/mediaImage/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/mediaImage/Edit.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/mediaImage/index.js +2 -11
- package/dist/esm/components/EditableTable/cellTypes/mediaImage/index.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/multiDocument/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/multiDocument/Edit.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/multiReference/Edit.js +1 -1
- package/dist/esm/components/EditableTable/cellTypes/multiReference/Edit.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/multiReference/View.js +1 -1
- package/dist/esm/components/EditableTable/cellTypes/multiReference/View.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/number/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/reference/Edit.js +1 -1
- package/dist/esm/components/EditableTable/cellTypes/reference/Edit.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/reference/EmptyReferenceView.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/reference/View.js +3 -5
- package/dist/esm/components/EditableTable/cellTypes/reference/View.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/time/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/time/Edit.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js.map +1 -1
- package/dist/esm/components/EmptyState/EmptyStateBase.st.css.js +2 -2
- package/dist/esm/components/EmptyState/EmptyStateBase.st.css.js.map +1 -1
- package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js +2 -2
- package/dist/esm/components/EntityPageFields/EntityPageField.st.css.js +2 -2
- package/dist/esm/components/EntityPageFields/EntityPageReferenceField.js +4 -5
- package/dist/esm/components/EntityPageFields/EntityPageReferenceField.js.map +1 -1
- package/dist/esm/components/EntityPageFields/EntityPageReferenceValue.js +5 -6
- package/dist/esm/components/EntityPageFields/EntityPageReferenceValue.js.map +1 -1
- package/dist/esm/components/EntityPageFields/EntityPageReferenceValue.st.css.js +2 -2
- package/dist/esm/components/EntityPageFields/useReferencedSchema.js +0 -1
- package/dist/esm/components/EntityPageFields/useReferencedSchema.js.map +1 -1
- package/dist/esm/components/Fade/Fade.st.css.js +2 -2
- package/dist/esm/components/Fade/Fade.st.css.js.map +1 -1
- package/dist/esm/components/Grid/GridSingleGridContent.js +5 -2
- package/dist/esm/components/Grid/GridSingleGridContent.js.map +1 -1
- package/dist/esm/components/GridSections/GridSectionsContent.js +2 -1
- package/dist/esm/components/GridSections/GridSectionsContent.js.map +1 -1
- package/dist/esm/components/Heading/Heading.st.css.js +2 -2
- package/dist/esm/components/ImportButton/ImportButtonModalLayout.js +35 -2
- package/dist/esm/components/ImportButton/ImportButtonModalLayout.js.map +1 -1
- package/dist/esm/components/ImportButton/ImportStepUpload.st.css.js +2 -2
- package/dist/esm/components/ImportButton/ImportStepUpload.st.css.js.map +1 -1
- package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
- package/dist/esm/components/LoadingRow/LoadingRow.st.css.js +3 -3
- package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
- package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
- package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
- package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
- package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
- package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
- package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
- package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
- package/dist/esm/components/PickerContent/PickerContent.st.css.js.map +1 -1
- package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
- package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
- package/dist/esm/components/PrimaryActions/PrimaryActions.js +1 -1
- package/dist/esm/components/PrimaryActions/PrimaryActions.js.map +1 -1
- package/dist/esm/components/SchemaSource/ReferenceFieldCell.js +4 -5
- package/dist/esm/components/SchemaSource/ReferenceFieldCell.js.map +1 -1
- package/dist/esm/components/SchemaSource/referenceCells.js +3 -5
- package/dist/esm/components/SchemaSource/referenceCells.js.map +1 -1
- package/dist/esm/components/SchemaSource/schemaFieldActions.js +12 -1
- package/dist/esm/components/SchemaSource/schemaFieldActions.js.map +1 -1
- package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
- package/dist/esm/components/SetupWidget/SetupWidget.st.css.js +2 -2
- package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
- package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
- package/dist/esm/components/Table/AddFieldColumnHeader.st.css.js +2 -2
- package/dist/esm/components/Table/NumberCell.st.css.js +2 -2
- package/dist/esm/components/Table/NumberCell.st.css.js.map +1 -1
- package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
- package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
- package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
- package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js.map +1 -1
- package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
- package/dist/esm/components/common.st.css.js +2 -2
- package/dist/esm/components/common.st.css.js.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
- package/dist/esm/state/CollectionPage/MobilePrimaryActionBar.st.css.js +2 -2
- package/dist/esm/state/CollectionPage/TitleBadges.st.css.js +2 -2
- package/dist/esm/state/CollectionPage/TitleBadges.st.css.js.map +1 -1
- package/dist/esm/state/CustomColumnsEntityPageState.js +23 -2
- package/dist/esm/state/CustomColumnsEntityPageState.js.map +1 -1
- package/dist/esm/state/CustomColumnsPanelStateBase.js.map +1 -1
- package/dist/esm/state/CustomColumnsState.js +15 -6
- package/dist/esm/state/CustomColumnsState.js.map +1 -1
- package/dist/esm/state/EntityPage/EntityPageState.js +24 -0
- package/dist/esm/state/EntityPage/EntityPageState.js.map +1 -1
- package/dist/esm/state/EntityPage/EntityPageStateBIReporter.js +38 -1
- package/dist/esm/state/EntityPage/EntityPageStateBIReporter.js.map +1 -1
- package/dist/esm/state/FormPage/FormPageHeader.st.css.js +2 -2
- package/dist/esm/state/NestedTableState/NestedTableNestedModeState.js +1 -1
- package/dist/esm/state/NestedTableState/NestedTableNestedModeState.js.map +1 -1
- package/dist/esm/state/OperatorFilterPickerState.js +1 -0
- package/dist/esm/state/OperatorFilterPickerState.js.map +1 -1
- package/dist/esm/styles.global.css +2 -2
- package/dist/esm/utils/referenceImage.js +20 -0
- package/dist/esm/utils/referenceImage.js.map +1 -0
- package/dist/esm/version.js +1 -1
- package/dist/templates/collection-entity/ItemEntityPage.tsx +4 -3
- package/dist/templates/settings-page/SettingsPageView.tsx +4 -3
- package/dist/types/components/CmsFieldManagement/CmsFieldForm.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionItemActions/CollectionItemActionsHelper.d.ts.map +1 -1
- package/dist/types/components/CollectionTable/CollectionTableWSRTable.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionToolbar/SearchOrCustomFilter.st.css.d.ts.map +1 -1
- package/dist/types/components/CustomColumnsPanel/ColumnListTableListItem.d.ts.map +1 -1
- package/dist/types/components/CustomFieldModal/CustomFieldCollectionInput.d.ts.map +1 -1
- package/dist/types/components/CustomFieldModal/CustomFieldFormPiiFields.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/CellViewLayout.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/datetime/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/email/View.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/mediaImage/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/mediaImage/index.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/multiDocument/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/object/View.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/reference/View.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/reference/types.d.ts +3 -3
- package/dist/types/components/EditableTable/cellTypes/reference/types.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/time/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/url/View.st.css.d.ts.map +1 -1
- package/dist/types/components/EmptyState/EmptyStateBase.st.css.d.ts.map +1 -1
- package/dist/types/components/EntityPageFields/EntityPageReferenceField.d.ts.map +1 -1
- package/dist/types/components/EntityPageFields/EntityPageReferenceValue.d.ts.map +1 -1
- package/dist/types/components/EntityPageFields/useReferencedSchema.d.ts +0 -1
- package/dist/types/components/EntityPageFields/useReferencedSchema.d.ts.map +1 -1
- package/dist/types/components/Fade/Fade.st.css.d.ts.map +1 -1
- package/dist/types/components/Grid/GridSingleGridContent.d.ts +5 -1
- package/dist/types/components/Grid/GridSingleGridContent.d.ts.map +1 -1
- package/dist/types/components/GridSections/GridSectionsContent.d.ts.map +1 -1
- package/dist/types/components/ImportButton/ImportButtonModalLayout.d.ts.map +1 -1
- package/dist/types/components/ImportButton/ImportStepUpload.st.css.d.ts.map +1 -1
- package/dist/types/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.d.ts.map +1 -1
- package/dist/types/components/PickerContent/PickerContent.st.css.d.ts.map +1 -1
- package/dist/types/components/SchemaSource/ReferenceFieldCell.d.ts.map +1 -1
- package/dist/types/components/SchemaSource/referenceCells.d.ts.map +1 -1
- package/dist/types/components/SchemaSource/schemaFieldActions.d.ts.map +1 -1
- package/dist/types/components/Table/NumberCell.st.css.d.ts.map +1 -1
- package/dist/types/components/ToolbarItem/ToolbarItem.st.css.d.ts.map +1 -1
- package/dist/types/components/common.st.css.d.ts.map +1 -1
- package/dist/types/exports/schema.d.ts +1 -1
- package/dist/types/exports/schema.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/state/CollectionPage/TitleBadges.st.css.d.ts.map +1 -1
- package/dist/types/state/CustomColumnsEntityPageState.d.ts +3 -1
- package/dist/types/state/CustomColumnsEntityPageState.d.ts.map +1 -1
- package/dist/types/state/CustomColumnsPanelStateBase.d.ts +1 -0
- package/dist/types/state/CustomColumnsPanelStateBase.d.ts.map +1 -1
- package/dist/types/state/CustomColumnsState.d.ts +2 -1
- package/dist/types/state/CustomColumnsState.d.ts.map +1 -1
- package/dist/types/state/EntityPage/EntityPageState.d.ts.map +1 -1
- package/dist/types/state/EntityPage/EntityPageStateBIReporter.d.ts +10 -0
- package/dist/types/state/EntityPage/EntityPageStateBIReporter.d.ts.map +1 -1
- package/dist/types/state/OperatorFilterPickerState.d.ts.map +1 -1
- package/dist/types/utils/referenceImage.d.ts +11 -0
- package/dist/types/utils/referenceImage.d.ts.map +1 -0
- package/dist/types/version.d.ts +1 -1
- package/package.json +8 -8
- package/src/components/CardContainer/CardContainer.st.css.ts +2 -2
- package/src/components/CmsFieldManagement/CmsFieldForm.st.css.ts +2 -2
- package/src/components/CmsFieldManagement/CmsFieldModal.st.css.ts +2 -2
- package/src/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.ts +2 -2
- package/src/components/Collapse/Collapse.st.css.ts +2 -2
- package/src/components/CollectionItemActions/CollectionItemActionsHelper.ts +9 -2
- package/src/components/CollectionPageNew/CollectionPage.st.css.ts +2 -2
- package/src/components/CollectionSectionHeader/CollectionSectionHeader.st.css.ts +2 -2
- package/src/components/CollectionTable/CollectionTable.st.css.ts +2 -2
- package/src/components/CollectionTable/CollectionTableWSRTable.st.css.ts +2 -2
- package/src/components/CollectionToolbar/CollectionToolbar.st.css.ts +2 -2
- package/src/components/CollectionToolbar/SearchOrCustomFilter.st.css.ts +2 -2
- package/src/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.ts +2 -2
- package/src/components/CollectionViewsDropdown/ViewsDropdown.st.css.ts +2 -2
- package/src/components/CustomColumnsPanel/ColumnListTableListItem.tsx +12 -13
- package/src/components/CustomFieldModal/CustomFieldCollectionInput.tsx +49 -13
- package/src/components/CustomFieldModal/CustomFieldFormPiiFields.st.css.ts +2 -2
- package/src/components/DragHandle/DragHandle.st.css.ts +2 -2
- package/src/components/EditableTable/EditableCell.st.css.ts +2 -2
- package/src/components/EditableTable/HeaderActionsPopover.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/CellViewLayout.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/JsonInputEdit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/address/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/boolean/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/boolean/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/color/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/date/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/date/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/datetime/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/datetime/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/email/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/email/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/mediaImage/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/mediaImage/index.ts +2 -11
- package/src/components/EditableTable/cellTypes/multiDocument/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/multiReference/Edit.tsx +2 -2
- package/src/components/EditableTable/cellTypes/multiReference/View.tsx +2 -2
- package/src/components/EditableTable/cellTypes/number/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/number/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/object/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/reference/Edit.tsx +2 -2
- package/src/components/EditableTable/cellTypes/reference/EmptyReferenceView.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/reference/View.tsx +3 -9
- package/src/components/EditableTable/cellTypes/reference/types.ts +3 -4
- package/src/components/EditableTable/cellTypes/select/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/text/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/text/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/time/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/url/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/url/View.st.css.ts +2 -2
- package/src/components/EmptyState/EmptyStateBase.st.css.ts +2 -2
- package/src/components/EntityPage/EntityPagePlain.st.css.ts +2 -2
- package/src/components/EntityPageFields/EntityPageField.st.css.ts +2 -2
- package/src/components/EntityPageFields/EntityPageReferenceField.tsx +4 -5
- package/src/components/EntityPageFields/EntityPageReferenceValue.st.css.ts +2 -2
- package/src/components/EntityPageFields/EntityPageReferenceValue.tsx +5 -6
- package/src/components/EntityPageFields/useReferencedSchema.ts +0 -5
- package/src/components/Fade/Fade.st.css.ts +2 -2
- package/src/components/Grid/GridSingleGridContent.tsx +8 -2
- package/src/components/GridSections/GridSectionsContent.tsx +4 -1
- package/src/components/Heading/Heading.st.css.ts +2 -2
- package/src/components/ImportButton/ImportButtonModalLayout.tsx +42 -1
- package/src/components/ImportButton/ImportStepUpload.st.css.ts +2 -2
- package/src/components/InputOverflow/InputOverflow.st.css.ts +2 -2
- package/src/components/LoadingRow/LoadingRow.st.css.ts +3 -3
- package/src/components/MaxHeightText/MaxHeightText.st.css.ts +2 -2
- package/src/components/MaxLines/MaxLines.st.css.ts +2 -2
- package/src/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.ts +2 -2
- package/src/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.ts +2 -2
- package/src/components/NestedTable/NestedTableRow.st.css.ts +2 -2
- package/src/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.ts +2 -2
- package/src/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.ts +2 -2
- package/src/components/PickerContent/PickerContent.st.css.ts +2 -2
- package/src/components/PickerContent/PickerContentAdditionalStep.st.css.ts +2 -2
- package/src/components/PickerTableListItem/PickerTableListItem.st.css.ts +2 -2
- package/src/components/PrimaryActions/PrimaryActions.tsx +1 -1
- package/src/components/SchemaSource/ReferenceFieldCell.tsx +5 -8
- package/src/components/SchemaSource/referenceCells.ts +4 -10
- package/src/components/SchemaSource/schemaFieldActions.ts +12 -1
- package/src/components/ScrollableContent/ScrollableContent.st.css.ts +2 -2
- package/src/components/SetupWidget/SetupWidget.st.css.ts +2 -2
- package/src/components/SkeletonCard/SkeletonCard.st.css.ts +2 -2
- package/src/components/SlidingModal/SlidingModal.st.css.ts +2 -2
- package/src/components/Table/AddFieldColumnHeader.st.css.ts +2 -2
- package/src/components/Table/NumberCell.st.css.ts +2 -2
- package/src/components/TabsFilter/TabsFilter.st.css.ts +2 -2
- package/src/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.ts +2 -2
- package/src/components/ToolbarItem/ToolbarItem.st.css.ts +2 -2
- package/src/components/ToolbarItemBox/ToolbarItemBox.st.css.ts +2 -2
- package/src/components/common.st.css.ts +2 -2
- package/src/exports/schema.ts +2 -0
- package/src/index.ts +2 -0
- package/src/state/CollectionPage/CollectionPageHeader.st.css.ts +2 -2
- package/src/state/CollectionPage/MobilePrimaryActionBar.st.css.ts +2 -2
- package/src/state/CollectionPage/TitleBadges.st.css.ts +2 -2
- package/src/state/CustomColumnsEntityPageState.ts +28 -3
- package/src/state/CustomColumnsPanelStateBase.ts +1 -0
- package/src/state/CustomColumnsState.ts +17 -8
- package/src/state/EntityPage/EntityPageState.ts +25 -0
- package/src/state/EntityPage/EntityPageStateBIReporter.ts +55 -0
- package/src/state/FormPage/FormPageHeader.st.css.ts +2 -2
- package/src/state/NestedTableState/NestedTableNestedModeState.ts +1 -1
- package/src/state/OperatorFilterPickerState.ts +2 -0
- package/src/styles.global.css +2 -2
- package/src/utils/referenceImage.ts +35 -0
- package/src/version.ts +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/reference/getImageFieldId.js +0 -10
- package/dist/cjs/components/EditableTable/cellTypes/reference/getImageFieldId.js.map +0 -1
- package/dist/esm/components/EditableTable/cellTypes/reference/getImageFieldId.js +0 -2
- package/dist/esm/components/EditableTable/cellTypes/reference/getImageFieldId.js.map +0 -1
- package/dist/types/components/EditableTable/cellTypes/reference/getImageFieldId.d.ts +0 -3
- package/dist/types/components/EditableTable/cellTypes/reference/getImageFieldId.d.ts.map +0 -1
- package/src/components/EditableTable/cellTypes/reference/getImageFieldId.ts +0 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bexCore","require","_mobx","_schemaFieldsContainer","_EntityPageStateBIReporter","_events","_EntityPageDeleteActionState","_sourceSave","_itemAccess","EntityPageState","fieldsContainer","fieldsContainerOf","schemaSource","constructor","params","_defineProperty2","default","undefined","observable","set","deep","EventEmitter","fetch","onSave","_usesSourceSave","isSourceSave","saveSuccessToast","saveErrorToast","formPage","FormPageState","form","_parentPageId","parentPageId","_isNewEntity","isNewEntity","transformEntityToCollectionItem","anEntity","_parentPath","parentPath","_parentReferrer","parentReferrer","actionsBarConfig","container","deleteActionState","EntityPageDeleteActionState","deleteAction","getEntity","entity","getLoadedSchema","loadedSchema","onDeleted","action","deletedCollectionItem","handleEntityDeleted","emitDelete","events","emit","emitDeleteError","err","_routerState","routerState","_this$_routerState$cu","_entity","currentState","_chosenEntity","reportBI","createBILogger","componentType","pageType","route","window","location","pathname","bi","EntityPageStateBIReporter","entityPageState","init","makeObservable","handleSubmit","ref","setEntity","_schema","setSchema","_loadedSchema","setLoadedSchema","customColumnsState","setActionsBarConfig","holdSave","isSaveHeld","computed","isFormDirty","areFieldsReadOnly","resolvedActionsBarConfig","_withinRouter","_checkPageParams","initTask","onBeforeUnload","onBeforeUnloadSubscription","event","isMobileDevice","formState","isSubmitSuccessful","_isSubmitSuccessful","preventDefault","reportOnBeforeUnload","runOnce","_this$fieldsContainer","_this$schemaSource","_this$fieldsContainer2","_this$bi$appLoaded","_this$bi","data","Promise","all","loadSchema","status","promise","schema","appLoaded","call","remove","retryFetch","newEntity","markFieldsChanged","_this$_routerState","isFetching","flag","isDirty","_isFormDirty","val","onCancel","_this$actionsBarConfi","reportButtonClick","ctaName","additionalInfo","cancelCta","biAdditionalInfo","navigateToParent","_ref","loaded","permissions","itemPermissions","permitted","supported","getItemAccess","backend","requiresBackendWrite","_isExistingEntity","update","create","isCreateItemDisabled","disabled","_config$saveCta","config","saveCta","secondaryActions","map","item","isRouteKnown","updatedEntity","entityStringKey","navigateToParentWithState","entityObject","navigate","state","navigateTo","pageId","referrer","_showErrorToast","e","_this$saveErrorToast","_this$container$showT","_this$container","errorToast","retry","message","showTryAgain","tryAgain","showToast","type","biName","translate","code","uiType","text","onClick","reportSaveTryAgain","removeToastOnClick","_showSuccessToast","_this$saveSuccessToas","_this$container$showT2","_this$container2","_deletedEntity","hold","_saveHolds","add","delete","size","_this$resolvedActions","submitTask","isLoading","isValid","widgetsFormData","validate","_this$actionsBarConfi2","run","savedEntity","submitSuccessful","_this$actionsBarConfi3","onSaveResult","errorMonitor","captureException","setError","_this$actionsBarConfi4","transformedItem","Error","exports"],"sources":["../../../../src/state/EntityPage/EntityPageState.ts"],"sourcesContent":["import {\n FormPageState,\n ReportBI,\n WixPatternsContainer,\n ActionsBarConfig,\n isMobileDevice,\n SchemaSource,\n Schema,\n} from '@wix/bex-core';\nimport type { LoadedSchema } from '@wix/bex-core';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport type { PatternsFieldsAppContainer } from '@wix/patterns-fields/providers';\nimport { fieldsContainerOf } from '../../model/schemaFieldsContainer';\nimport { FieldValues, UseFormReturn } from 'react-hook-form';\nimport { EntityPageStateBIReporter } from './EntityPageStateBIReporter';\nimport { EventEmitter, TypedEmitter } from '@wix/bex-core/events';\nimport { WixPatternsRouterState } from '../WixPatternsRouterState';\nimport type { SidePanelsState } from '../SidePanelsState';\nimport type { CustomColumnsEntityPageState } from '../CustomColumnsEntityPageState';\nimport {\n EntityPageDeleteAction,\n EntityPageDeleteActionState,\n} from './EntityPageDeleteActionState';\nimport { isSourceSave } from './sourceSave';\nimport { getItemAccess } from '../../model/itemAccess';\n\ntype OnSaveParams<T> = {\n widgetsFormData: { [key: string]: any };\n /**\n * The entity as `fetch` loaded it, or `null` on a create route. Use it for what\n * the form does not hold but the update needs, such as the record's revision.\n */\n entity: T | null;\n};\n\ninterface EntityPageStateParamsBase<T, V extends FieldValues = FieldValues> {\n /**\n * A function that fetches the entity data.\n * @returns a promise that resolves to an object containing the entity.\n */\n fetch: () => Promise<{ entity: T | undefined }>;\n\n /**\n * A function to handle the save action.\n * @returns promise that resolves to an object that contains a 'updatedEntity' object.\n */\n onSave: (params: OnSaveParams<T>) => Promise<{ updatedEntity: T }>;\n\n /**\n * An optional object with an optional message, or it can directly get a string message.\n */\n saveSuccessToast?: { message?: string } | string;\n\n /**\n * An optional function to display an error toast message when a save operation fails.\n * @returns An object with a `message` and an `action` object. Alternatively, it can return an object with an optional `message` and a `tryAgain` flag, or a string message.\n * The previous return types are still supported but are now deprecated.\n */\n saveErrorToast?: (\n err: unknown,\n params: { retry: () => void },\n ) =>\n | {\n message?: string;\n /**\n * @deprecated use `action` instead\n */\n tryAgain?: boolean;\n action?: { text: string; onClick: () => void };\n }\n | string;\n\n /**\n * Enables deleting the loaded entity from the entity page. Pass `true` for a\n * schema-backed page to use the source backend, or an object to customize the\n * action and to provide a delete handler for manually wired pages.\n */\n deleteAction?: EntityPageDeleteAction<T>;\n\n /**\n * An optional function to transform the updated entity data before it is passed to the collection page.\n * @param entity the updated entity.\n * @returns an object representing the entity in the collection page.\n */\n transformEntityToCollectionItem?: (entity: T) => any;\n\n form: UseFormReturn<V>;\n /**\n * An object representing the container, possibly for dependency injection or component management.\n */\n container: WixPatternsContainer;\n\n /**\n * A string representing the ID of the parent page.\n * Must be passed if not using Patterns Router\n */\n parentPageId?: string;\n\n /**\n * A string representing the path of the parent page.\n * Must be passed if using Patterns Router\n */\n parentPath?: string;\n\n /**\n * Referrer forwarded to the parent page on back, cancel and save, so callers\n * can carry navigation context across the transition.\n *\n * Only used for parentPageId navigations; Patterns Router keeps its context\n * in router state.\n *\n * Forwarded by the BM and Giza providers. Dropped by the dashboard provider,\n * whose SDK Destination has no referrer field.\n */\n parentReferrer?: string;\n\n /**\n * An object representing the router state\n */\n routerState?: WixPatternsRouterState | null;\n\n /**\n * An optional object to override the actions bar.\n */\n actionsBarConfig?: ActionsBarConfig;\n\n /**\n * Whether the page was opened to create a new entity rather than to edit an\n * existing one. Selects the create/update permission and how a save is\n * announced to the parent page — created vs updated — so a seeded item is announced\n * as created. Pass a getter when the route can change while the page stays\n * mounted; the fields switch between create and update permissions only when\n * the getter reads MobX observables. When omitted, the announcement follows\n * whether an entity was loaded.\n */\n isNewEntity?: boolean | (() => boolean);\n\n /**\n * An optional schema source describing how to load the schema and access\n * the entity's data. When present, the page can read fields from the source\n * instead of relying only on hand-wired fetch/onSave callbacks.\n */\n schemaSource?: SchemaSource<T>;\n}\n\nexport type EntityPageStateParams<\n T,\n V extends FieldValues = FieldValues,\n> = EntityPageStateParamsBase<T, V>;\n\nexport interface EntityPageStateInterface {}\n\nexport interface EntityPageWidgetState {\n validate: () => Promise<{ isValid: boolean; values?: any }>;\n isDirty: boolean;\n}\n\nexport class EntityPageState<T, V extends FieldValues = FieldValues>\n implements EntityPageStateInterface\n{\n readonly fetch: EntityPageStateParams<T>['fetch'];\n readonly onSave: EntityPageStateParams<T, V>['onSave'];\n private readonly _usesSourceSave: boolean;\n readonly saveSuccessToast?: EntityPageStateParams<T>['saveSuccessToast'];\n readonly saveErrorToast?: EntityPageStateParams<T>['saveErrorToast'];\n readonly transformEntityToCollectionItem: (entity: T) => any;\n\n _entity: T | null = null;\n _schema: Schema | null = null;\n _loadedSchema: LoadedSchema<T> | null = null;\n private readonly _isNewEntity?: boolean | (() => boolean);\n private readonly _parentPageId?: string;\n private readonly _parentPath?: string;\n private readonly _parentReferrer?: string;\n\n actionsBarConfig: EntityPageStateParams<T>['actionsBarConfig'] = undefined;\n\n /**\n * The page's side-panel host, the way a table's lives on its toolbar.\n * Attached by the first feature that needs one, through\n * `SidePanelsState.setOnPage` — so a page with no panels neither builds nor\n * bundles the side-panel code. Everything on the page shares this host, which\n * is what keeps one panel open at a time.\n */\n panels: SidePanelsState | null = null;\n\n /** The fields card's \"Manage fields\" state, set by the card that owns it —\n * the panel is rendered by the host with no props and reads it from here,\n * as a table's panel reads `toolbar.customColumnsState`. */\n customColumnsState: CustomColumnsEntityPageState | null = null;\n\n // Shallow: a deep set would wrap the token objects, and release could not\n // find them again.\n private readonly _saveHolds = observable.set<object>([], { deep: false });\n\n readonly schemaSource?: SchemaSource<T>;\n\n /**\n * The container the page's field renderers are built with — the one the schema\n * carries, so a table on the same schema shares it. Initialized in `init()`\n * below, next to the schema load the fields also wait on; the schema-entry\n * EntityPage puts it in React context.\n */\n get fieldsContainer(): PatternsFieldsAppContainer | undefined {\n return fieldsContainerOf(this.schemaSource);\n }\n\n readonly container: WixPatternsContainer;\n readonly reportBI: ReportBI;\n readonly bi: EntityPageStateBIReporter<T, V>;\n\n _routerState: WixPatternsRouterState | null = null;\n\n readonly formPage: FormPageState<V>;\n readonly deleteActionState: EntityPageDeleteActionState<T>;\n\n readonly events = new EventEmitter() as TypedEmitter<{\n save: () => void;\n saveError: (err: unknown) => void;\n delete: () => void;\n deleteError: (err: unknown) => void;\n }>;\n\n constructor(params: EntityPageStateParams<T, V>) {\n this.fetch = params.fetch;\n this.onSave = params.onSave;\n this._usesSourceSave = isSourceSave(params.onSave);\n this.saveSuccessToast = params.saveSuccessToast;\n this.saveErrorToast = params.saveErrorToast;\n this.formPage = new FormPageState<V>({ form: params.form });\n this._parentPageId = params.parentPageId;\n this._isNewEntity = params.isNewEntity;\n this.transformEntityToCollectionItem =\n params.transformEntityToCollectionItem || ((anEntity: T) => anEntity);\n this._parentPath = params.parentPath;\n this._parentReferrer = params.parentReferrer;\n this.actionsBarConfig = params.actionsBarConfig;\n this.schemaSource = params.schemaSource;\n\n this.container = params.container;\n this.deleteActionState = new EntityPageDeleteActionState<T>({\n container: this.container,\n deleteAction: params.deleteAction,\n schemaSource: this.schemaSource,\n getEntity: () => this.entity,\n getLoadedSchema: () => this.loadedSchema,\n transformEntityToCollectionItem: this.transformEntityToCollectionItem,\n onDeleted: action((deletedCollectionItem) =>\n this.handleEntityDeleted(deletedCollectionItem),\n ),\n emitDelete: () => this.events.emit('delete'),\n emitDeleteError: (err) => this.events.emit('deleteError', err),\n });\n\n this._routerState = params.routerState ?? null;\n\n if (this._routerState) {\n this._entity = this._routerState.currentState?._chosenEntity?.entity;\n }\n\n this.reportBI = this.container.createBILogger({\n componentType: 'Entity page',\n pageType: 'Entity',\n route: window.location.pathname,\n });\n\n this.bi = new EntityPageStateBIReporter({\n reportBI: this.reportBI,\n entityPageState: this,\n });\n this.bi.init();\n\n makeObservable(this, {\n handleSubmit: action,\n _entity: observable.ref,\n setEntity: action,\n _schema: observable.ref,\n setSchema: action,\n _loadedSchema: observable.ref,\n setLoadedSchema: action,\n customColumnsState: observable.ref,\n actionsBarConfig: observable.ref,\n setActionsBarConfig: action,\n holdSave: action,\n isSaveHeld: computed,\n isFormDirty: computed,\n areFieldsReadOnly: computed,\n resolvedActionsBarConfig: computed,\n _withinRouter: computed,\n });\n }\n\n init() {\n this._checkPageParams();\n const {\n formPage: { initTask },\n container,\n } = this;\n const { onBeforeUnload } = container;\n\n const onBeforeUnloadSubscription = onBeforeUnload?.(\n action((event: Event) => {\n if (isMobileDevice()) {\n return;\n }\n\n const { form } = this;\n // Check both react-hook-form's state AND the explicitly set flag\n if (\n form.formState.isSubmitSuccessful ||\n this.formPage._isSubmitSuccessful ||\n !this.isFormDirty\n ) {\n return;\n }\n event.preventDefault();\n this.bi.reportOnBeforeUnload();\n }),\n );\n\n initTask.runOnce(async () => {\n // The field renderers can't translate until this resolves, so the page\n // waits on it alongside the fetch. Idempotent.\n this.fieldsContainer?.init();\n\n const [data, loadedSchema] = await Promise.all([\n this.fetch(),\n this.schemaSource?.loadSchema(),\n container.initTask.status.promise,\n this.fieldsContainer?.initTask.status.promise,\n ]);\n\n this.setEntity(data.entity ?? null);\n // A fields card can mirror a newer value while these promises settle.\n if (loadedSchema && !this.loadedSchema) {\n this.setLoadedSchema(loadedSchema);\n }\n if (loadedSchema && !this.schema) {\n this.setSchema(loadedSchema.schema);\n }\n this.bi.appLoaded?.();\n });\n\n return () => {\n onBeforeUnloadSubscription?.remove();\n };\n }\n\n retryFetch() {\n this.formPage.retryFetch();\n }\n\n setEntity(newEntity: T | null) {\n this._entity = newEntity;\n }\n\n get entity(): T | null {\n return this._entity;\n }\n\n setSchema(schema: Schema | null) {\n this._schema = schema;\n }\n\n get schema(): Schema | null {\n return this._schema;\n }\n\n setActionsBarConfig(actionsBarConfig?: ActionsBarConfig) {\n this.actionsBarConfig = actionsBarConfig;\n }\n\n setLoadedSchema(loadedSchema: LoadedSchema<T> | null) {\n this._loadedSchema = loadedSchema;\n }\n\n get loadedSchema(): LoadedSchema<T> | null {\n return this._loadedSchema;\n }\n\n markFieldsChanged() {\n this._routerState?.markFieldsChanged();\n }\n\n get isFetching() {\n return this.formPage.isFetching;\n }\n\n get form() {\n return this.formPage.form;\n }\n\n set isSubmitSuccessful(flag: boolean) {\n this.formPage.isSubmitSuccessful = flag;\n }\n\n get isFormDirty() {\n return this.formPage.isDirty;\n }\n\n // backwards compatibility\n set _isFormDirty(val: boolean) {\n this.formPage._isFormDirty = val;\n }\n\n get _withinRouter() {\n return !!this._routerState;\n }\n\n onCancel() {\n this.bi.reportButtonClick({\n ctaName: 'Cancel',\n additionalInfo: this.actionsBarConfig?.cancelCta?.biAdditionalInfo,\n });\n this.navigateToParent();\n }\n\n get areFieldsReadOnly(): boolean {\n const loaded = this.loadedSchema;\n if (this.schemaSource && !loaded) {\n return true;\n }\n\n const permissions = (loaded?.schema ?? this.schema)?.itemPermissions;\n const { permitted, supported } = getItemAccess(\n permissions,\n loaded?.backend,\n );\n // A custom save doesn't go through the backend, so it needs no write method.\n const requiresBackendWrite = this._usesSourceSave && !!loaded;\n if (this._isExistingEntity) {\n return !permitted.update || (requiresBackendWrite && !supported.update);\n }\n\n return (\n !permitted.create ||\n (requiresBackendWrite && !supported.create) ||\n !!permissions?.isCreateItemDisabled?.().disabled\n );\n }\n\n /** `actionsBarConfig` with Save and its secondary actions disabled while the\n * fields are read-only. */\n get resolvedActionsBarConfig(): ActionsBarConfig | undefined {\n const config = this.actionsBarConfig;\n if (!this.areFieldsReadOnly) {\n return config;\n }\n\n return {\n ...config,\n saveCta: {\n ...config?.saveCta,\n disabled: true,\n secondaryActions: config?.saveCta?.secondaryActions?.map((item) => ({\n ...item,\n disabled: true,\n })),\n },\n };\n }\n\n private get _isExistingEntity(): boolean {\n const isNewEntity =\n typeof this._isNewEntity === 'function'\n ? this._isNewEntity()\n : this._isNewEntity;\n const isRouteKnown = isNewEntity !== undefined;\n return isRouteKnown ? !isNewEntity : !!this._entity;\n }\n\n navigateToParent(updatedEntity?: any) {\n const entityStringKey = this._isExistingEntity\n ? '_updatedEntity'\n : '_createdEntity';\n this.navigateToParentWithState({ [entityStringKey]: updatedEntity });\n }\n\n navigateToParentWithState(entityObject: Record<string, unknown>) {\n if (this._withinRouter) {\n this._routerState!.navigate(this._parentPath!, { state: entityObject });\n } else {\n this.container.navigateTo!({\n pageId: this._parentPageId!,\n ...(this._parentReferrer !== undefined && {\n referrer: this._parentReferrer,\n }),\n });\n }\n }\n\n _showErrorToast(err: any, e?: React.BaseSyntheticEvent) {\n const errorToast = this.saveErrorToast?.(err, {\n retry: () => this.handleSubmit(e),\n });\n const message =\n typeof errorToast === 'string' ? errorToast : errorToast?.message;\n const showTryAgain =\n typeof errorToast === 'string' ? true : errorToast?.tryAgain !== false;\n const action =\n typeof errorToast === 'string' ? undefined : errorToast?.action;\n\n this.container.showToast?.({\n type: 'ERROR',\n biName: 'cairo-entity-page-save-error-toast',\n message:\n message ??\n this.container.translate(\n err?.code === 'ERR_NETWORK'\n ? 'cairo.entityPage.saveError-offline.toast.description'\n : 'cairo.entityPage.saveError-technical.toast.description',\n ),\n action:\n action || showTryAgain\n ? {\n uiType: 'LINK',\n text:\n action?.text ?? this.container.translate('cairo.toast.retry'),\n onClick: () => {\n if (action?.onClick) {\n action.onClick();\n } else {\n this.bi.reportSaveTryAgain();\n this.handleSubmit(e);\n }\n },\n removeToastOnClick: true,\n }\n : undefined,\n });\n }\n\n _showSuccessToast() {\n const message =\n typeof this.saveSuccessToast === 'string'\n ? this.saveSuccessToast\n : this.saveSuccessToast?.message;\n\n this.container.showToast?.({\n type: 'SUCCESS',\n biName: 'cairo-entity-page-save-success-toast',\n message:\n message ?? this.container.translate('cairo.entityPage.success.toast'),\n });\n }\n\n private handleEntityDeleted(deletedCollectionItem: any) {\n this.isSubmitSuccessful = true;\n this.navigateToParentWithState({ _deletedEntity: deletedCollectionItem });\n }\n\n /**\n * Blocks `handleSubmit` until the returned release is called (idempotent).\n * For features whose form fields are not mounted yet — react-hook-form only\n * validates mounted controls, so a save in that window would skip their\n * required-field validation.\n */\n holdSave(): () => void {\n const hold = {};\n this._saveHolds.add(hold);\n return action(() => {\n this._saveHolds.delete(hold);\n });\n }\n\n get isSaveHeld(): boolean {\n return this._saveHolds.size > 0;\n }\n\n async handleSubmit(e?: React.BaseSyntheticEvent) {\n if (\n this.formPage.submitTask.status.isLoading ||\n this.isSaveHeld ||\n this.resolvedActionsBarConfig?.saveCta?.disabled\n ) {\n return;\n }\n\n this.events.emit('save');\n\n const { isValid, data: widgetsFormData } = await this.formPage.validate();\n\n if (!isValid) {\n this.bi.reportButtonClick({\n ctaName: 'Save',\n isValid: false,\n additionalInfo: this.actionsBarConfig?.saveCta?.biAdditionalInfo,\n });\n return;\n }\n\n const {\n form,\n formPage: { submitTask },\n bi,\n } = this;\n\n submitTask.run(async () => {\n let savedEntity: T | undefined;\n let submitSuccessful = false;\n\n await form.handleSubmit(\n async () => {\n // The permission can be revoked while the form validates.\n if (this.areFieldsReadOnly) {\n return;\n }\n bi.reportButtonClick({\n ctaName: 'Save',\n isValid: true,\n additionalInfo: this.actionsBarConfig?.saveCta?.biAdditionalInfo,\n });\n try {\n if (!this.isFetching) {\n const onSaveResult = await this.onSave({\n widgetsFormData,\n entity: this.entity,\n });\n savedEntity = onSaveResult?.updatedEntity;\n }\n this._showSuccessToast();\n submitSuccessful = true; // Mark as successful locally\n // Explicitly set isSubmitSuccessful to prevent onBeforeUnload from triggering\n this.isSubmitSuccessful = true;\n } catch (err) {\n this._showErrorToast(err, e);\n this.container.errorMonitor.captureException(err);\n this.events.emit('saveError', err);\n form.setError('root.serverError', {}); // https://react-hook-form.com/docs/useform/seterror\n }\n },\n () => {\n bi.reportButtonClick({\n ctaName: 'Save',\n isValid: false,\n additionalInfo: this.actionsBarConfig?.saveCta?.biAdditionalInfo,\n });\n }, // can be used to report validation errors\n )(e);\n\n if (!submitSuccessful) {\n return;\n }\n const transformedItem =\n savedEntity && this.transformEntityToCollectionItem\n ? this.transformEntityToCollectionItem(savedEntity)\n : savedEntity;\n this.navigateToParent(transformedItem);\n });\n await this.formPage.submitTask.status.promise;\n }\n\n get initTask() {\n return this.formPage.initTask;\n }\n\n get submitTask() {\n return this.formPage.submitTask;\n }\n\n private _checkPageParams() {\n if (this._withinRouter) {\n if (this._parentPath === undefined) {\n throw new Error('parentPath was not defined in useEntityPage');\n }\n } else {\n if (this._parentPageId === undefined) {\n throw new Error('parentPageId was not defined in useEntityPage');\n }\n\n if (!this.container.navigateTo) {\n throw new Error('navigateTo was not defined in Patterns Provider');\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_bexCore","require","_mobx","_schemaFieldsContainer","_EntityPageStateBIReporter","_events","_EntityPageDeleteActionState","_sourceSave","_itemAccess","EntityPageState","fieldsContainer","fieldsContainerOf","schemaSource","constructor","params","_defineProperty2","default","undefined","observable","set","deep","EventEmitter","fetch","onSave","_usesSourceSave","isSourceSave","saveSuccessToast","saveErrorToast","formPage","FormPageState","form","_parentPageId","parentPageId","_isNewEntity","isNewEntity","transformEntityToCollectionItem","anEntity","_parentPath","parentPath","_parentReferrer","parentReferrer","actionsBarConfig","container","deleteActionState","EntityPageDeleteActionState","deleteAction","getEntity","entity","getLoadedSchema","loadedSchema","onDeleted","action","deletedCollectionItem","handleEntityDeleted","emitDelete","events","emit","emitDeleteError","err","_routerState","routerState","_this$_routerState$cu","_entity","currentState","_chosenEntity","reportBI","createBILogger","componentType","pageType","route","window","location","pathname","bi","EntityPageStateBIReporter","entityPageState","init","makeObservable","handleSubmit","ref","setEntity","_schema","setSchema","_loadedSchema","setLoadedSchema","customColumnsState","setActionsBarConfig","holdSave","isSaveHeld","computed","isFormDirty","areFieldsReadOnly","resolvedActionsBarConfig","_withinRouter","_checkPageParams","initTask","onBeforeUnload","onBeforeUnloadSubscription","event","isMobileDevice","formState","isSubmitSuccessful","_isSubmitSuccessful","preventDefault","reportOnBeforeUnload","runOnce","_this$fieldsContainer","_this$schemaSource","_this$fieldsContainer2","_this$bi$appLoaded","_this$bi","data","Promise","all","loadSchema","status","promise","schema","appLoaded","call","_isExistingEntity","reportItemCreationStart","remove","retryFetch","newEntity","markFieldsChanged","_this$_routerState","isFetching","flag","isDirty","_isFormDirty","val","onCancel","_this$actionsBarConfi","reportButtonClick","ctaName","additionalInfo","cancelCta","biAdditionalInfo","creating","_this$schema","reportItemDismissed","editing","itemId","entityItemId","idField","navigateToParent","_ref","loaded","permissions","itemPermissions","permitted","supported","getItemAccess","backend","requiresBackendWrite","update","create","isCreateItemDisabled","disabled","_config$saveCta","config","saveCta","secondaryActions","map","item","isRouteKnown","updatedEntity","entityStringKey","navigateToParentWithState","entityObject","navigate","state","navigateTo","pageId","referrer","_showErrorToast","e","_this$saveErrorToast","_this$container$showT","_this$container","errorToast","retry","message","showTryAgain","tryAgain","showToast","type","biName","translate","code","uiType","text","onClick","reportSaveTryAgain","removeToastOnClick","_showSuccessToast","_this$saveSuccessToas","_this$container$showT2","_this$container2","_deletedEntity","hold","_saveHolds","add","delete","size","_this$resolvedActions","submitTask","isLoading","isValid","widgetsFormData","validate","_this$actionsBarConfi2","run","_this$schema2","savedEntity","submitSuccessful","_this$actionsBarConfi3","onSaveResult","errorMonitor","captureException","setError","_this$actionsBarConfi4","reportItemSaved","transformedItem","Error","exports","id"],"sources":["../../../../src/state/EntityPage/EntityPageState.ts"],"sourcesContent":["import {\n FormPageState,\n ReportBI,\n WixPatternsContainer,\n ActionsBarConfig,\n isMobileDevice,\n SchemaSource,\n Schema,\n} from '@wix/bex-core';\nimport type { LoadedSchema } from '@wix/bex-core';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport type { PatternsFieldsAppContainer } from '@wix/patterns-fields/providers';\nimport { fieldsContainerOf } from '../../model/schemaFieldsContainer';\nimport { FieldValues, UseFormReturn } from 'react-hook-form';\nimport { EntityPageStateBIReporter } from './EntityPageStateBIReporter';\nimport { EventEmitter, TypedEmitter } from '@wix/bex-core/events';\nimport { WixPatternsRouterState } from '../WixPatternsRouterState';\nimport type { SidePanelsState } from '../SidePanelsState';\nimport type { CustomColumnsEntityPageState } from '../CustomColumnsEntityPageState';\nimport {\n EntityPageDeleteAction,\n EntityPageDeleteActionState,\n} from './EntityPageDeleteActionState';\nimport { isSourceSave } from './sourceSave';\nimport { getItemAccess } from '../../model/itemAccess';\n\ntype OnSaveParams<T> = {\n widgetsFormData: { [key: string]: any };\n /**\n * The entity as `fetch` loaded it, or `null` on a create route. Use it for what\n * the form does not hold but the update needs, such as the record's revision.\n */\n entity: T | null;\n};\n\ninterface EntityPageStateParamsBase<T, V extends FieldValues = FieldValues> {\n /**\n * A function that fetches the entity data.\n * @returns a promise that resolves to an object containing the entity.\n */\n fetch: () => Promise<{ entity: T | undefined }>;\n\n /**\n * A function to handle the save action.\n * @returns promise that resolves to an object that contains a 'updatedEntity' object.\n */\n onSave: (params: OnSaveParams<T>) => Promise<{ updatedEntity: T }>;\n\n /**\n * An optional object with an optional message, or it can directly get a string message.\n */\n saveSuccessToast?: { message?: string } | string;\n\n /**\n * An optional function to display an error toast message when a save operation fails.\n * @returns An object with a `message` and an `action` object. Alternatively, it can return an object with an optional `message` and a `tryAgain` flag, or a string message.\n * The previous return types are still supported but are now deprecated.\n */\n saveErrorToast?: (\n err: unknown,\n params: { retry: () => void },\n ) =>\n | {\n message?: string;\n /**\n * @deprecated use `action` instead\n */\n tryAgain?: boolean;\n action?: { text: string; onClick: () => void };\n }\n | string;\n\n /**\n * Enables deleting the loaded entity from the entity page. Pass `true` for a\n * schema-backed page to use the source backend, or an object to customize the\n * action and to provide a delete handler for manually wired pages.\n */\n deleteAction?: EntityPageDeleteAction<T>;\n\n /**\n * An optional function to transform the updated entity data before it is passed to the collection page.\n * @param entity the updated entity.\n * @returns an object representing the entity in the collection page.\n */\n transformEntityToCollectionItem?: (entity: T) => any;\n\n form: UseFormReturn<V>;\n /**\n * An object representing the container, possibly for dependency injection or component management.\n */\n container: WixPatternsContainer;\n\n /**\n * A string representing the ID of the parent page.\n * Must be passed if not using Patterns Router\n */\n parentPageId?: string;\n\n /**\n * A string representing the path of the parent page.\n * Must be passed if using Patterns Router\n */\n parentPath?: string;\n\n /**\n * Referrer forwarded to the parent page on back, cancel and save, so callers\n * can carry navigation context across the transition.\n *\n * Only used for parentPageId navigations; Patterns Router keeps its context\n * in router state.\n *\n * Forwarded by the BM and Giza providers. Dropped by the dashboard provider,\n * whose SDK Destination has no referrer field.\n */\n parentReferrer?: string;\n\n /**\n * An object representing the router state\n */\n routerState?: WixPatternsRouterState | null;\n\n /**\n * An optional object to override the actions bar.\n */\n actionsBarConfig?: ActionsBarConfig;\n\n /**\n * Whether the page was opened to create a new entity rather than to edit an\n * existing one. Selects the create/update permission and how a save is\n * announced to the parent page — created vs updated — so a seeded item is announced\n * as created. Pass a getter when the route can change while the page stays\n * mounted; the fields switch between create and update permissions only when\n * the getter reads MobX observables. When omitted, the announcement follows\n * whether an entity was loaded.\n */\n isNewEntity?: boolean | (() => boolean);\n\n /**\n * An optional schema source describing how to load the schema and access\n * the entity's data. When present, the page can read fields from the source\n * instead of relying only on hand-wired fetch/onSave callbacks.\n */\n schemaSource?: SchemaSource<T>;\n}\n\nexport type EntityPageStateParams<\n T,\n V extends FieldValues = FieldValues,\n> = EntityPageStateParamsBase<T, V>;\n\nexport interface EntityPageStateInterface {}\n\nexport interface EntityPageWidgetState {\n validate: () => Promise<{ isValid: boolean; values?: any }>;\n isDirty: boolean;\n}\n\nexport class EntityPageState<T, V extends FieldValues = FieldValues>\n implements EntityPageStateInterface\n{\n readonly fetch: EntityPageStateParams<T>['fetch'];\n readonly onSave: EntityPageStateParams<T, V>['onSave'];\n private readonly _usesSourceSave: boolean;\n readonly saveSuccessToast?: EntityPageStateParams<T>['saveSuccessToast'];\n readonly saveErrorToast?: EntityPageStateParams<T>['saveErrorToast'];\n readonly transformEntityToCollectionItem: (entity: T) => any;\n\n _entity: T | null = null;\n _schema: Schema | null = null;\n _loadedSchema: LoadedSchema<T> | null = null;\n private readonly _isNewEntity?: boolean | (() => boolean);\n private readonly _parentPageId?: string;\n private readonly _parentPath?: string;\n private readonly _parentReferrer?: string;\n\n actionsBarConfig: EntityPageStateParams<T>['actionsBarConfig'] = undefined;\n\n /**\n * The page's side-panel host, the way a table's lives on its toolbar.\n * Attached by the first feature that needs one, through\n * `SidePanelsState.setOnPage` — so a page with no panels neither builds nor\n * bundles the side-panel code. Everything on the page shares this host, which\n * is what keeps one panel open at a time.\n */\n panels: SidePanelsState | null = null;\n\n /** The fields card's \"Manage fields\" state, set by the card that owns it —\n * the panel is rendered by the host with no props and reads it from here,\n * as a table's panel reads `toolbar.customColumnsState`. */\n customColumnsState: CustomColumnsEntityPageState | null = null;\n\n // Shallow: a deep set would wrap the token objects, and release could not\n // find them again.\n private readonly _saveHolds = observable.set<object>([], { deep: false });\n\n readonly schemaSource?: SchemaSource<T>;\n\n /**\n * The container the page's field renderers are built with — the one the schema\n * carries, so a table on the same schema shares it. Initialized in `init()`\n * below, next to the schema load the fields also wait on; the schema-entry\n * EntityPage puts it in React context.\n */\n get fieldsContainer(): PatternsFieldsAppContainer | undefined {\n return fieldsContainerOf(this.schemaSource);\n }\n\n readonly container: WixPatternsContainer;\n readonly reportBI: ReportBI;\n readonly bi: EntityPageStateBIReporter<T, V>;\n\n _routerState: WixPatternsRouterState | null = null;\n\n readonly formPage: FormPageState<V>;\n readonly deleteActionState: EntityPageDeleteActionState<T>;\n\n readonly events = new EventEmitter() as TypedEmitter<{\n save: () => void;\n saveError: (err: unknown) => void;\n delete: () => void;\n deleteError: (err: unknown) => void;\n }>;\n\n constructor(params: EntityPageStateParams<T, V>) {\n this.fetch = params.fetch;\n this.onSave = params.onSave;\n this._usesSourceSave = isSourceSave(params.onSave);\n this.saveSuccessToast = params.saveSuccessToast;\n this.saveErrorToast = params.saveErrorToast;\n this.formPage = new FormPageState<V>({ form: params.form });\n this._parentPageId = params.parentPageId;\n this._isNewEntity = params.isNewEntity;\n this.transformEntityToCollectionItem =\n params.transformEntityToCollectionItem || ((anEntity: T) => anEntity);\n this._parentPath = params.parentPath;\n this._parentReferrer = params.parentReferrer;\n this.actionsBarConfig = params.actionsBarConfig;\n this.schemaSource = params.schemaSource;\n\n this.container = params.container;\n this.deleteActionState = new EntityPageDeleteActionState<T>({\n container: this.container,\n deleteAction: params.deleteAction,\n schemaSource: this.schemaSource,\n getEntity: () => this.entity,\n getLoadedSchema: () => this.loadedSchema,\n transformEntityToCollectionItem: this.transformEntityToCollectionItem,\n onDeleted: action((deletedCollectionItem) =>\n this.handleEntityDeleted(deletedCollectionItem),\n ),\n emitDelete: () => this.events.emit('delete'),\n emitDeleteError: (err) => this.events.emit('deleteError', err),\n });\n\n this._routerState = params.routerState ?? null;\n\n if (this._routerState) {\n this._entity = this._routerState.currentState?._chosenEntity?.entity;\n }\n\n this.reportBI = this.container.createBILogger({\n componentType: 'Entity page',\n pageType: 'Entity',\n route: window.location.pathname,\n });\n\n this.bi = new EntityPageStateBIReporter({\n reportBI: this.reportBI,\n entityPageState: this,\n });\n this.bi.init();\n\n makeObservable(this, {\n handleSubmit: action,\n _entity: observable.ref,\n setEntity: action,\n _schema: observable.ref,\n setSchema: action,\n _loadedSchema: observable.ref,\n setLoadedSchema: action,\n customColumnsState: observable.ref,\n actionsBarConfig: observable.ref,\n setActionsBarConfig: action,\n holdSave: action,\n isSaveHeld: computed,\n isFormDirty: computed,\n areFieldsReadOnly: computed,\n resolvedActionsBarConfig: computed,\n _withinRouter: computed,\n });\n }\n\n init() {\n this._checkPageParams();\n const {\n formPage: { initTask },\n container,\n } = this;\n const { onBeforeUnload } = container;\n\n const onBeforeUnloadSubscription = onBeforeUnload?.(\n action((event: Event) => {\n if (isMobileDevice()) {\n return;\n }\n\n const { form } = this;\n // Check both react-hook-form's state AND the explicitly set flag\n if (\n form.formState.isSubmitSuccessful ||\n this.formPage._isSubmitSuccessful ||\n !this.isFormDirty\n ) {\n return;\n }\n event.preventDefault();\n this.bi.reportOnBeforeUnload();\n }),\n );\n\n initTask.runOnce(async () => {\n // The field renderers can't translate until this resolves, so the page\n // waits on it alongside the fetch. Idempotent.\n this.fieldsContainer?.init();\n\n const [data, loadedSchema] = await Promise.all([\n this.fetch(),\n this.schemaSource?.loadSchema(),\n container.initTask.status.promise,\n this.fieldsContainer?.initTask.status.promise,\n ]);\n\n this.setEntity(data.entity ?? null);\n // A fields card can mirror a newer value while these promises settle.\n if (loadedSchema && !this.loadedSchema) {\n this.setLoadedSchema(loadedSchema);\n }\n if (loadedSchema && !this.schema) {\n this.setSchema(loadedSchema.schema);\n }\n this.bi.appLoaded?.();\n if (!this._isExistingEntity) {\n this.bi.reportItemCreationStart();\n }\n });\n\n return () => {\n onBeforeUnloadSubscription?.remove();\n };\n }\n\n retryFetch() {\n this.formPage.retryFetch();\n }\n\n setEntity(newEntity: T | null) {\n this._entity = newEntity;\n }\n\n get entity(): T | null {\n return this._entity;\n }\n\n setSchema(schema: Schema | null) {\n this._schema = schema;\n }\n\n get schema(): Schema | null {\n return this._schema;\n }\n\n setActionsBarConfig(actionsBarConfig?: ActionsBarConfig) {\n this.actionsBarConfig = actionsBarConfig;\n }\n\n setLoadedSchema(loadedSchema: LoadedSchema<T> | null) {\n this._loadedSchema = loadedSchema;\n }\n\n get loadedSchema(): LoadedSchema<T> | null {\n return this._loadedSchema;\n }\n\n markFieldsChanged() {\n this._routerState?.markFieldsChanged();\n }\n\n get isFetching() {\n return this.formPage.isFetching;\n }\n\n get form() {\n return this.formPage.form;\n }\n\n set isSubmitSuccessful(flag: boolean) {\n this.formPage.isSubmitSuccessful = flag;\n }\n\n get isFormDirty() {\n return this.formPage.isDirty;\n }\n\n // backwards compatibility\n set _isFormDirty(val: boolean) {\n this.formPage._isFormDirty = val;\n }\n\n get _withinRouter() {\n return !!this._routerState;\n }\n\n onCancel() {\n this.bi.reportButtonClick({\n ctaName: 'Cancel',\n additionalInfo: this.actionsBarConfig?.cancelCta?.biAdditionalInfo,\n });\n const creating = !this._isExistingEntity;\n if (creating || this.isFormDirty) {\n this.bi.reportItemDismissed({\n editing: !creating,\n itemId: creating\n ? undefined\n : entityItemId(this.entity, this.schema?.idField),\n });\n }\n this.navigateToParent();\n }\n\n get areFieldsReadOnly(): boolean {\n const loaded = this.loadedSchema;\n if (this.schemaSource && !loaded) {\n return true;\n }\n\n const permissions = (loaded?.schema ?? this.schema)?.itemPermissions;\n const { permitted, supported } = getItemAccess(\n permissions,\n loaded?.backend,\n );\n // A custom save doesn't go through the backend, so it needs no write method.\n const requiresBackendWrite = this._usesSourceSave && !!loaded;\n if (this._isExistingEntity) {\n return !permitted.update || (requiresBackendWrite && !supported.update);\n }\n\n return (\n !permitted.create ||\n (requiresBackendWrite && !supported.create) ||\n !!permissions?.isCreateItemDisabled?.().disabled\n );\n }\n\n /** `actionsBarConfig` with Save and its secondary actions disabled while the\n * fields are read-only. */\n get resolvedActionsBarConfig(): ActionsBarConfig | undefined {\n const config = this.actionsBarConfig;\n if (!this.areFieldsReadOnly) {\n return config;\n }\n\n return {\n ...config,\n saveCta: {\n ...config?.saveCta,\n disabled: true,\n secondaryActions: config?.saveCta?.secondaryActions?.map((item) => ({\n ...item,\n disabled: true,\n })),\n },\n };\n }\n\n private get _isExistingEntity(): boolean {\n const isNewEntity =\n typeof this._isNewEntity === 'function'\n ? this._isNewEntity()\n : this._isNewEntity;\n const isRouteKnown = isNewEntity !== undefined;\n return isRouteKnown ? !isNewEntity : !!this._entity;\n }\n\n navigateToParent(updatedEntity?: any) {\n const entityStringKey = this._isExistingEntity\n ? '_updatedEntity'\n : '_createdEntity';\n this.navigateToParentWithState({ [entityStringKey]: updatedEntity });\n }\n\n navigateToParentWithState(entityObject: Record<string, unknown>) {\n if (this._withinRouter) {\n this._routerState!.navigate(this._parentPath!, { state: entityObject });\n } else {\n this.container.navigateTo!({\n pageId: this._parentPageId!,\n ...(this._parentReferrer !== undefined && {\n referrer: this._parentReferrer,\n }),\n });\n }\n }\n\n _showErrorToast(err: any, e?: React.BaseSyntheticEvent) {\n const errorToast = this.saveErrorToast?.(err, {\n retry: () => this.handleSubmit(e),\n });\n const message =\n typeof errorToast === 'string' ? errorToast : errorToast?.message;\n const showTryAgain =\n typeof errorToast === 'string' ? true : errorToast?.tryAgain !== false;\n const action =\n typeof errorToast === 'string' ? undefined : errorToast?.action;\n\n this.container.showToast?.({\n type: 'ERROR',\n biName: 'cairo-entity-page-save-error-toast',\n message:\n message ??\n this.container.translate(\n err?.code === 'ERR_NETWORK'\n ? 'cairo.entityPage.saveError-offline.toast.description'\n : 'cairo.entityPage.saveError-technical.toast.description',\n ),\n action:\n action || showTryAgain\n ? {\n uiType: 'LINK',\n text:\n action?.text ?? this.container.translate('cairo.toast.retry'),\n onClick: () => {\n if (action?.onClick) {\n action.onClick();\n } else {\n this.bi.reportSaveTryAgain();\n this.handleSubmit(e);\n }\n },\n removeToastOnClick: true,\n }\n : undefined,\n });\n }\n\n _showSuccessToast() {\n const message =\n typeof this.saveSuccessToast === 'string'\n ? this.saveSuccessToast\n : this.saveSuccessToast?.message;\n\n this.container.showToast?.({\n type: 'SUCCESS',\n biName: 'cairo-entity-page-save-success-toast',\n message:\n message ?? this.container.translate('cairo.entityPage.success.toast'),\n });\n }\n\n private handleEntityDeleted(deletedCollectionItem: any) {\n this.isSubmitSuccessful = true;\n this.navigateToParentWithState({ _deletedEntity: deletedCollectionItem });\n }\n\n /**\n * Blocks `handleSubmit` until the returned release is called (idempotent).\n * For features whose form fields are not mounted yet — react-hook-form only\n * validates mounted controls, so a save in that window would skip their\n * required-field validation.\n */\n holdSave(): () => void {\n const hold = {};\n this._saveHolds.add(hold);\n return action(() => {\n this._saveHolds.delete(hold);\n });\n }\n\n get isSaveHeld(): boolean {\n return this._saveHolds.size > 0;\n }\n\n async handleSubmit(e?: React.BaseSyntheticEvent) {\n if (\n this.formPage.submitTask.status.isLoading ||\n this.isSaveHeld ||\n this.resolvedActionsBarConfig?.saveCta?.disabled\n ) {\n return;\n }\n\n this.events.emit('save');\n\n const { isValid, data: widgetsFormData } = await this.formPage.validate();\n\n if (!isValid) {\n this.bi.reportButtonClick({\n ctaName: 'Save',\n isValid: false,\n additionalInfo: this.actionsBarConfig?.saveCta?.biAdditionalInfo,\n });\n return;\n }\n\n const {\n form,\n formPage: { submitTask },\n bi,\n } = this;\n\n const creating = !this._isExistingEntity;\n submitTask.run(async () => {\n let savedEntity: T | undefined;\n let submitSuccessful = false;\n\n await form.handleSubmit(\n async () => {\n // The permission can be revoked while the form validates.\n if (this.areFieldsReadOnly) {\n return;\n }\n bi.reportButtonClick({\n ctaName: 'Save',\n isValid: true,\n additionalInfo: this.actionsBarConfig?.saveCta?.biAdditionalInfo,\n });\n try {\n if (!this.isFetching) {\n const onSaveResult = await this.onSave({\n widgetsFormData,\n entity: this.entity,\n });\n savedEntity = onSaveResult?.updatedEntity;\n }\n this._showSuccessToast();\n submitSuccessful = true; // Mark as successful locally\n // Explicitly set isSubmitSuccessful to prevent onBeforeUnload from triggering\n this.isSubmitSuccessful = true;\n } catch (err) {\n this._showErrorToast(err, e);\n this.container.errorMonitor.captureException(err);\n this.events.emit('saveError', err);\n form.setError('root.serverError', {}); // https://react-hook-form.com/docs/useform/seterror\n }\n },\n () => {\n bi.reportButtonClick({\n ctaName: 'Save',\n isValid: false,\n additionalInfo: this.actionsBarConfig?.saveCta?.biAdditionalInfo,\n });\n }, // can be used to report validation errors\n )(e);\n\n if (!submitSuccessful) {\n return;\n }\n bi.reportItemSaved({\n creating,\n itemId: entityItemId(savedEntity ?? this.entity, this.schema?.idField),\n });\n const transformedItem =\n savedEntity && this.transformEntityToCollectionItem\n ? this.transformEntityToCollectionItem(savedEntity)\n : savedEntity;\n this.navigateToParent(transformedItem);\n });\n await this.formPage.submitTask.status.promise;\n }\n\n get initTask() {\n return this.formPage.initTask;\n }\n\n get submitTask() {\n return this.formPage.submitTask;\n }\n\n private _checkPageParams() {\n if (this._withinRouter) {\n if (this._parentPath === undefined) {\n throw new Error('parentPath was not defined in useEntityPage');\n }\n } else {\n if (this._parentPageId === undefined) {\n throw new Error('parentPageId was not defined in useEntityPage');\n }\n\n if (!this.container.navigateTo) {\n throw new Error('navigateTo was not defined in Patterns Provider');\n }\n }\n }\n}\n\nfunction entityItemId(entity: unknown, idField = 'id'): string | undefined {\n if (entity == null || typeof entity !== 'object' || !(idField in entity)) {\n return undefined;\n }\n const id = (entity as Record<string, unknown>)[idField];\n return typeof id === 'string' ? id : undefined;\n}\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAUA,IAAAC,KAAA,GAAAD,OAAA;AAEA,IAAAE,sBAAA,GAAAF,OAAA;AAEA,IAAAG,0BAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAIA,IAAAK,4BAAA,GAAAL,OAAA;AAIA,IAAAM,WAAA,GAAAN,OAAA;AACA,IAAAO,WAAA,GAAAP,OAAA;AAqIO,MAAMQ,eAAe,CAE5B;EAsCE;AACF;AACA;AACA;AACA;AACA;EACE,IAAIC,eAAeA,CAAA,EAA2C;IAC5D,OAAO,IAAAC,wCAAiB,EAAC,IAAI,CAACC,YAAY,CAAC;EAC7C;EAkBAC,WAAWA,CAACC,MAAmC,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,mBAxD7B,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA,mBACC,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA,yBACW,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,4BAMqBC,SAAS;IAE1E;AACF;AACA;AACA;AACA;AACA;AACA;IANE,IAAAF,gBAAA,CAAAC,OAAA,kBAOiC,IAAI;IAErC;AACF;AACA;IAFE,IAAAD,gBAAA,CAAAC,OAAA,8BAG0D,IAAI;IAE9D;IACA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,sBAC8BE,gBAAU,CAACC,GAAG,CAAS,EAAE,EAAE;MAAEC,IAAI,EAAE;IAAM,CAAC,CAAC;IAAA,IAAAL,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,wBAkB3B,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,kBAKhC,IAAIK,oBAAY,CAAC,CAAC;IAQlC,IAAI,CAACC,KAAK,GAAGR,MAAM,CAACQ,KAAK;IACzB,IAAI,CAACC,MAAM,GAAGT,MAAM,CAACS,MAAM;IAC3B,IAAI,CAACC,eAAe,GAAG,IAAAC,wBAAY,EAACX,MAAM,CAACS,MAAM,CAAC;IAClD,IAAI,CAACG,gBAAgB,GAAGZ,MAAM,CAACY,gBAAgB;IAC/C,IAAI,CAACC,cAAc,GAAGb,MAAM,CAACa,cAAc;IAC3C,IAAI,CAACC,QAAQ,GAAG,IAAIC,sBAAa,CAAI;MAAEC,IAAI,EAAEhB,MAAM,CAACgB;IAAK,CAAC,CAAC;IAC3D,IAAI,CAACC,aAAa,GAAGjB,MAAM,CAACkB,YAAY;IACxC,IAAI,CAACC,YAAY,GAAGnB,MAAM,CAACoB,WAAW;IACtC,IAAI,CAACC,+BAA+B,GAClCrB,MAAM,CAACqB,+BAA+B,KAAMC,QAAW,IAAKA,QAAQ,CAAC;IACvE,IAAI,CAACC,WAAW,GAAGvB,MAAM,CAACwB,UAAU;IACpC,IAAI,CAACC,eAAe,GAAGzB,MAAM,CAAC0B,cAAc;IAC5C,IAAI,CAACC,gBAAgB,GAAG3B,MAAM,CAAC2B,gBAAgB;IAC/C,IAAI,CAAC7B,YAAY,GAAGE,MAAM,CAACF,YAAY;IAEvC,IAAI,CAAC8B,SAAS,GAAG5B,MAAM,CAAC4B,SAAS;IACjC,IAAI,CAACC,iBAAiB,GAAG,IAAIC,wDAA2B,CAAI;MAC1DF,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBG,YAAY,EAAE/B,MAAM,CAAC+B,YAAY;MACjCjC,YAAY,EAAE,IAAI,CAACA,YAAY;MAC/BkC,SAAS,EAAEA,CAAA,KAAM,IAAI,CAACC,MAAM;MAC5BC,eAAe,EAAEA,CAAA,KAAM,IAAI,CAACC,YAAY;MACxCd,+BAA+B,EAAE,IAAI,CAACA,+BAA+B;MACrEe,SAAS,EAAE,IAAAC,YAAM,EAAEC,qBAAqB,IACtC,IAAI,CAACC,mBAAmB,CAACD,qBAAqB,CAChD,CAAC;MACDE,UAAU,EAAEA,CAAA,KAAM,IAAI,CAACC,MAAM,CAACC,IAAI,CAAC,QAAQ,CAAC;MAC5CC,eAAe,EAAGC,GAAG,IAAK,IAAI,CAACH,MAAM,CAACC,IAAI,CAAC,aAAa,EAAEE,GAAG;IAC/D,CAAC,CAAC;IAEF,IAAI,CAACC,YAAY,GAAG7C,MAAM,CAAC8C,WAAW,IAAI,IAAI;IAE9C,IAAI,IAAI,CAACD,YAAY,EAAE;MAAA,IAAAE,qBAAA;MACrB,IAAI,CAACC,OAAO,IAAAD,qBAAA,GAAG,IAAI,CAACF,YAAY,CAACI,YAAY,cAAAF,qBAAA,GAA9BA,qBAAA,CAAgCG,aAAa,qBAA7CH,qBAAA,CAA+Cd,MAAM;IACtE;IAEA,IAAI,CAACkB,QAAQ,GAAG,IAAI,CAACvB,SAAS,CAACwB,cAAc,CAAC;MAC5CC,aAAa,EAAE,aAAa;MAC5BC,QAAQ,EAAE,QAAQ;MAClBC,KAAK,EAAEC,MAAM,CAACC,QAAQ,CAACC;IACzB,CAAC,CAAC;IAEF,IAAI,CAACC,EAAE,GAAG,IAAIC,oDAAyB,CAAC;MACtCT,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBU,eAAe,EAAE;IACnB,CAAC,CAAC;IACF,IAAI,CAACF,EAAE,CAACG,IAAI,CAAC,CAAC;IAEd,IAAAC,oBAAc,EAAC,IAAI,EAAE;MACnBC,YAAY,EAAE3B,YAAM;MACpBW,OAAO,EAAE5C,gBAAU,CAAC6D,GAAG;MACvBC,SAAS,EAAE7B,YAAM;MACjB8B,OAAO,EAAE/D,gBAAU,CAAC6D,GAAG;MACvBG,SAAS,EAAE/B,YAAM;MACjBgC,aAAa,EAAEjE,gBAAU,CAAC6D,GAAG;MAC7BK,eAAe,EAAEjC,YAAM;MACvBkC,kBAAkB,EAAEnE,gBAAU,CAAC6D,GAAG;MAClCtC,gBAAgB,EAAEvB,gBAAU,CAAC6D,GAAG;MAChCO,mBAAmB,EAAEnC,YAAM;MAC3BoC,QAAQ,EAAEpC,YAAM;MAChBqC,UAAU,EAAEC,cAAQ;MACpBC,WAAW,EAAED,cAAQ;MACrBE,iBAAiB,EAAEF,cAAQ;MAC3BG,wBAAwB,EAAEH,cAAQ;MAClCI,aAAa,EAAEJ;IACjB,CAAC,CAAC;EACJ;EAEAb,IAAIA,CAAA,EAAG;IACL,IAAI,CAACkB,gBAAgB,CAAC,CAAC;IACvB,MAAM;MACJlE,QAAQ,EAAE;QAAEmE;MAAS,CAAC;MACtBrD;IACF,CAAC,GAAG,IAAI;IACR,MAAM;MAAEsD;IAAe,CAAC,GAAGtD,SAAS;IAEpC,MAAMuD,0BAA0B,GAAGD,cAAc,oBAAdA,cAAc,CAC/C,IAAA7C,YAAM,EAAE+C,KAAY,IAAK;MACvB,IAAI,IAAAC,uBAAc,EAAC,CAAC,EAAE;QACpB;MACF;MAEA,MAAM;QAAErE;MAAK,CAAC,GAAG,IAAI;MACrB;MACA,IACEA,IAAI,CAACsE,SAAS,CAACC,kBAAkB,IACjC,IAAI,CAACzE,QAAQ,CAAC0E,mBAAmB,IACjC,CAAC,IAAI,CAACZ,WAAW,EACjB;QACA;MACF;MACAQ,KAAK,CAACK,cAAc,CAAC,CAAC;MACtB,IAAI,CAAC9B,EAAE,CAAC+B,oBAAoB,CAAC,CAAC;IAChC,CAAC,CACH,CAAC;IAEDT,QAAQ,CAACU,OAAO,CAAC,YAAY;MAAA,IAAAC,qBAAA,EAAAC,kBAAA,EAAAC,sBAAA,EAAAC,kBAAA,EAAAC,QAAA;MAC3B;MACA;MACA,CAAAJ,qBAAA,OAAI,CAAChG,eAAe,aAApBgG,qBAAA,CAAsB9B,IAAI,CAAC,CAAC;MAE5B,MAAM,CAACmC,IAAI,EAAE9D,YAAY,CAAC,GAAG,MAAM+D,OAAO,CAACC,GAAG,CAAC,CAC7C,IAAI,CAAC3F,KAAK,CAAC,CAAC,GAAAqF,kBAAA,GACZ,IAAI,CAAC/F,YAAY,qBAAjB+F,kBAAA,CAAmBO,UAAU,CAAC,CAAC,EAC/BxE,SAAS,CAACqD,QAAQ,CAACoB,MAAM,CAACC,OAAO,GAAAR,sBAAA,GACjC,IAAI,CAAClG,eAAe,qBAApBkG,sBAAA,CAAsBb,QAAQ,CAACoB,MAAM,CAACC,OAAO,CAC9C,CAAC;MAEF,IAAI,CAACpC,SAAS,CAAC+B,IAAI,CAAChE,MAAM,IAAI,IAAI,CAAC;MACnC;MACA,IAAIE,YAAY,IAAI,CAAC,IAAI,CAACA,YAAY,EAAE;QACtC,IAAI,CAACmC,eAAe,CAACnC,YAAY,CAAC;MACpC;MACA,IAAIA,YAAY,IAAI,CAAC,IAAI,CAACoE,MAAM,EAAE;QAChC,IAAI,CAACnC,SAAS,CAACjC,YAAY,CAACoE,MAAM,CAAC;MACrC;MACA,CAAAR,kBAAA,IAAAC,QAAA,OAAI,CAACrC,EAAE,EAAC6C,SAAS,aAAjBT,kBAAA,CAAAU,IAAA,CAAAT,QAAoB,CAAC;MACrB,IAAI,CAAC,IAAI,CAACU,iBAAiB,EAAE;QAC3B,IAAI,CAAC/C,EAAE,CAACgD,uBAAuB,CAAC,CAAC;MACnC;IACF,CAAC,CAAC;IAEF,OAAO,MAAM;MACXxB,0BAA0B,YAA1BA,0BAA0B,CAAEyB,MAAM,CAAC,CAAC;IACtC,CAAC;EACH;EAEAC,UAAUA,CAAA,EAAG;IACX,IAAI,CAAC/F,QAAQ,CAAC+F,UAAU,CAAC,CAAC;EAC5B;EAEA3C,SAASA,CAAC4C,SAAmB,EAAE;IAC7B,IAAI,CAAC9D,OAAO,GAAG8D,SAAS;EAC1B;EAEA,IAAI7E,MAAMA,CAAA,EAAa;IACrB,OAAO,IAAI,CAACe,OAAO;EACrB;EAEAoB,SAASA,CAACmC,MAAqB,EAAE;IAC/B,IAAI,CAACpC,OAAO,GAAGoC,MAAM;EACvB;EAEA,IAAIA,MAAMA,CAAA,EAAkB;IAC1B,OAAO,IAAI,CAACpC,OAAO;EACrB;EAEAK,mBAAmBA,CAAC7C,gBAAmC,EAAE;IACvD,IAAI,CAACA,gBAAgB,GAAGA,gBAAgB;EAC1C;EAEA2C,eAAeA,CAACnC,YAAoC,EAAE;IACpD,IAAI,CAACkC,aAAa,GAAGlC,YAAY;EACnC;EAEA,IAAIA,YAAYA,CAAA,EAA2B;IACzC,OAAO,IAAI,CAACkC,aAAa;EAC3B;EAEA0C,iBAAiBA,CAAA,EAAG;IAAA,IAAAC,kBAAA;IAClB,CAAAA,kBAAA,OAAI,CAACnE,YAAY,aAAjBmE,kBAAA,CAAmBD,iBAAiB,CAAC,CAAC;EACxC;EAEA,IAAIE,UAAUA,CAAA,EAAG;IACf,OAAO,IAAI,CAACnG,QAAQ,CAACmG,UAAU;EACjC;EAEA,IAAIjG,IAAIA,CAAA,EAAG;IACT,OAAO,IAAI,CAACF,QAAQ,CAACE,IAAI;EAC3B;EAEA,IAAIuE,kBAAkBA,CAAC2B,IAAa,EAAE;IACpC,IAAI,CAACpG,QAAQ,CAACyE,kBAAkB,GAAG2B,IAAI;EACzC;EAEA,IAAItC,WAAWA,CAAA,EAAG;IAChB,OAAO,IAAI,CAAC9D,QAAQ,CAACqG,OAAO;EAC9B;;EAEA;EACA,IAAIC,YAAYA,CAACC,GAAY,EAAE;IAC7B,IAAI,CAACvG,QAAQ,CAACsG,YAAY,GAAGC,GAAG;EAClC;EAEA,IAAItC,aAAaA,CAAA,EAAG;IAClB,OAAO,CAAC,CAAC,IAAI,CAAClC,YAAY;EAC5B;EAEAyE,QAAQA,CAAA,EAAG;IAAA,IAAAC,qBAAA;IACT,IAAI,CAAC5D,EAAE,CAAC6D,iBAAiB,CAAC;MACxBC,OAAO,EAAE,QAAQ;MACjBC,cAAc,GAAAH,qBAAA,GAAE,IAAI,CAAC5F,gBAAgB,cAAA4F,qBAAA,GAArBA,qBAAA,CAAuBI,SAAS,qBAAhCJ,qBAAA,CAAkCK;IACpD,CAAC,CAAC;IACF,MAAMC,QAAQ,GAAG,CAAC,IAAI,CAACnB,iBAAiB;IACxC,IAAImB,QAAQ,IAAI,IAAI,CAACjD,WAAW,EAAE;MAAA,IAAAkD,YAAA;MAChC,IAAI,CAACnE,EAAE,CAACoE,mBAAmB,CAAC;QAC1BC,OAAO,EAAE,CAACH,QAAQ;QAClBI,MAAM,EAAEJ,QAAQ,GACZ1H,SAAS,GACT+H,YAAY,CAAC,IAAI,CAACjG,MAAM,GAAA6F,YAAA,GAAE,IAAI,CAACvB,MAAM,qBAAXuB,YAAA,CAAaK,OAAO;MACpD,CAAC,CAAC;IACJ;IACA,IAAI,CAACC,gBAAgB,CAAC,CAAC;EACzB;EAEA,IAAIvD,iBAAiBA,CAAA,EAAY;IAAA,IAAAwD,IAAA;IAC/B,MAAMC,MAAM,GAAG,IAAI,CAACnG,YAAY;IAChC,IAAI,IAAI,CAACrC,YAAY,IAAI,CAACwI,MAAM,EAAE;MAChC,OAAO,IAAI;IACb;IAEA,MAAMC,WAAW,IAAAF,IAAA,GAAI,CAAAC,MAAM,oBAANA,MAAM,CAAE/B,MAAM,KAAI,IAAI,CAACA,MAAM,qBAA9B8B,IAAA,CAAiCG,eAAe;IACpE,MAAM;MAAEC,SAAS;MAAEC;IAAU,CAAC,GAAG,IAAAC,yBAAa,EAC5CJ,WAAW,EACXD,MAAM,oBAANA,MAAM,CAAEM,OACV,CAAC;IACD;IACA,MAAMC,oBAAoB,GAAG,IAAI,CAACnI,eAAe,IAAI,CAAC,CAAC4H,MAAM;IAC7D,IAAI,IAAI,CAAC5B,iBAAiB,EAAE;MAC1B,OAAO,CAAC+B,SAAS,CAACK,MAAM,IAAKD,oBAAoB,IAAI,CAACH,SAAS,CAACI,MAAO;IACzE;IAEA,OACE,CAACL,SAAS,CAACM,MAAM,IAChBF,oBAAoB,IAAI,CAACH,SAAS,CAACK,MAAO,IAC3C,CAAC,EAACR,WAAW,YAAXA,WAAW,CAAES,oBAAoB,YAAjCT,WAAW,CAAES,oBAAoB,CAAG,CAAC,CAACC,QAAQ;EAEpD;;EAEA;AACF;EACE,IAAInE,wBAAwBA,CAAA,EAAiC;IAAA,IAAAoE,eAAA;IAC3D,MAAMC,MAAM,GAAG,IAAI,CAACxH,gBAAgB;IACpC,IAAI,CAAC,IAAI,CAACkD,iBAAiB,EAAE;MAC3B,OAAOsE,MAAM;IACf;IAEA,OAAO;MACL,GAAGA,MAAM;MACTC,OAAO,EAAE;QACP,IAAGD,MAAM,oBAANA,MAAM,CAAEC,OAAO;QAClBH,QAAQ,EAAE,IAAI;QACdI,gBAAgB,EAAEF,MAAM,aAAAD,eAAA,GAANC,MAAM,CAAEC,OAAO,cAAAF,eAAA,GAAfA,eAAA,CAAiBG,gBAAgB,qBAAjCH,eAAA,CAAmCI,GAAG,CAAEC,IAAI,KAAM;UAClE,GAAGA,IAAI;UACPN,QAAQ,EAAE;QACZ,CAAC,CAAC;MACJ;IACF,CAAC;EACH;EAEA,IAAYvC,iBAAiBA,CAAA,EAAY;IACvC,MAAMtF,WAAW,GACf,OAAO,IAAI,CAACD,YAAY,KAAK,UAAU,GACnC,IAAI,CAACA,YAAY,CAAC,CAAC,GACnB,IAAI,CAACA,YAAY;IACvB,MAAMqI,YAAY,GAAGpI,WAAW,KAAKjB,SAAS;IAC9C,OAAOqJ,YAAY,GAAG,CAACpI,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC4B,OAAO;EACrD;EAEAoF,gBAAgBA,CAACqB,aAAmB,EAAE;IACpC,MAAMC,eAAe,GAAG,IAAI,CAAChD,iBAAiB,GAC1C,gBAAgB,GAChB,gBAAgB;IACpB,IAAI,CAACiD,yBAAyB,CAAC;MAAE,CAACD,eAAe,GAAGD;IAAc,CAAC,CAAC;EACtE;EAEAE,yBAAyBA,CAACC,YAAqC,EAAE;IAC/D,IAAI,IAAI,CAAC7E,aAAa,EAAE;MACtB,IAAI,CAAClC,YAAY,CAAEgH,QAAQ,CAAC,IAAI,CAACtI,WAAW,EAAG;QAAEuI,KAAK,EAAEF;MAAa,CAAC,CAAC;IACzE,CAAC,MAAM;MACL,IAAI,CAAChI,SAAS,CAACmI,UAAU,CAAE;QACzBC,MAAM,EAAE,IAAI,CAAC/I,aAAc;QAC3B,IAAI,IAAI,CAACQ,eAAe,KAAKtB,SAAS,IAAI;UACxC8J,QAAQ,EAAE,IAAI,CAACxI;QACjB,CAAC;MACH,CAAC,CAAC;IACJ;EACF;EAEAyI,eAAeA,CAACtH,GAAQ,EAAEuH,CAA4B,EAAE;IAAA,IAAAC,oBAAA,EAAAC,qBAAA,EAAAC,eAAA;IACtD,MAAMC,UAAU,IAAAH,oBAAA,GAAG,IAAI,CAACvJ,cAAc,qBAAnBuJ,oBAAA,CAAA3D,IAAA,KAAI,EAAkB7D,GAAG,EAAE;MAC5C4H,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACxG,YAAY,CAACmG,CAAC;IAClC,CAAC,CAAC;IACF,MAAMM,OAAO,GACX,OAAOF,UAAU,KAAK,QAAQ,GAAGA,UAAU,GAAGA,UAAU,oBAAVA,UAAU,CAAEE,OAAO;IACnE,MAAMC,YAAY,GAChB,OAAOH,UAAU,KAAK,QAAQ,GAAG,IAAI,GAAG,CAAAA,UAAU,oBAAVA,UAAU,CAAEI,QAAQ,MAAK,KAAK;IACxE,MAAMtI,MAAM,GACV,OAAOkI,UAAU,KAAK,QAAQ,GAAGpK,SAAS,GAAGoK,UAAU,oBAAVA,UAAU,CAAElI,MAAM;IAEjE,CAAAgI,qBAAA,IAAAC,eAAA,OAAI,CAAC1I,SAAS,EAACgJ,SAAS,aAAxBP,qBAAA,CAAA5D,IAAA,CAAA6D,eAAA,EAA2B;MACzBO,IAAI,EAAE,OAAO;MACbC,MAAM,EAAE,oCAAoC;MAC5CL,OAAO,EACLA,OAAO,IACP,IAAI,CAAC7I,SAAS,CAACmJ,SAAS,CACtB,CAAAnI,GAAG,oBAAHA,GAAG,CAAEoI,IAAI,MAAK,aAAa,GACvB,sDAAsD,GACtD,wDACN,CAAC;MACH3I,MAAM,EACJA,MAAM,IAAIqI,YAAY,GAClB;QACEO,MAAM,EAAE,MAAM;QACdC,IAAI,EACF,CAAA7I,MAAM,oBAANA,MAAM,CAAE6I,IAAI,KAAI,IAAI,CAACtJ,SAAS,CAACmJ,SAAS,CAAC,mBAAmB,CAAC;QAC/DI,OAAO,EAAEA,CAAA,KAAM;UACb,IAAI9I,MAAM,YAANA,MAAM,CAAE8I,OAAO,EAAE;YACnB9I,MAAM,CAAC8I,OAAO,CAAC,CAAC;UAClB,CAAC,MAAM;YACL,IAAI,CAACxH,EAAE,CAACyH,kBAAkB,CAAC,CAAC;YAC5B,IAAI,CAACpH,YAAY,CAACmG,CAAC,CAAC;UACtB;QACF,CAAC;QACDkB,kBAAkB,EAAE;MACtB,CAAC,GACDlL;IACR,CAAC,CAAC;EACJ;EAEAmL,iBAAiBA,CAAA,EAAG;IAAA,IAAAC,qBAAA,EAAAC,sBAAA,EAAAC,gBAAA;IAClB,MAAMhB,OAAO,GACX,OAAO,IAAI,CAAC7J,gBAAgB,KAAK,QAAQ,GACrC,IAAI,CAACA,gBAAgB,IAAA2K,qBAAA,GACrB,IAAI,CAAC3K,gBAAgB,qBAArB2K,qBAAA,CAAuBd,OAAO;IAEpC,CAAAe,sBAAA,IAAAC,gBAAA,OAAI,CAAC7J,SAAS,EAACgJ,SAAS,aAAxBY,sBAAA,CAAA/E,IAAA,CAAAgF,gBAAA,EAA2B;MACzBZ,IAAI,EAAE,SAAS;MACfC,MAAM,EAAE,sCAAsC;MAC9CL,OAAO,EACLA,OAAO,IAAI,IAAI,CAAC7I,SAAS,CAACmJ,SAAS,CAAC,gCAAgC;IACxE,CAAC,CAAC;EACJ;EAEQxI,mBAAmBA,CAACD,qBAA0B,EAAE;IACtD,IAAI,CAACiD,kBAAkB,GAAG,IAAI;IAC9B,IAAI,CAACoE,yBAAyB,CAAC;MAAE+B,cAAc,EAAEpJ;IAAsB,CAAC,CAAC;EAC3E;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEmC,QAAQA,CAAA,EAAe;IACrB,MAAMkH,IAAI,GAAG,CAAC,CAAC;IACf,IAAI,CAACC,UAAU,CAACC,GAAG,CAACF,IAAI,CAAC;IACzB,OAAO,IAAAtJ,YAAM,EAAC,MAAM;MAClB,IAAI,CAACuJ,UAAU,CAACE,MAAM,CAACH,IAAI,CAAC;IAC9B,CAAC,CAAC;EACJ;EAEA,IAAIjH,UAAUA,CAAA,EAAY;IACxB,OAAO,IAAI,CAACkH,UAAU,CAACG,IAAI,GAAG,CAAC;EACjC;EAEA,MAAM/H,YAAYA,CAACmG,CAA4B,EAAE;IAAA,IAAA6B,qBAAA;IAC/C,IACE,IAAI,CAAClL,QAAQ,CAACmL,UAAU,CAAC5F,MAAM,CAAC6F,SAAS,IACzC,IAAI,CAACxH,UAAU,KAAAsH,qBAAA,GACf,IAAI,CAAClH,wBAAwB,cAAAkH,qBAAA,GAA7BA,qBAAA,CAA+B5C,OAAO,aAAtC4C,qBAAA,CAAwC/C,QAAQ,EAChD;MACA;IACF;IAEA,IAAI,CAACxG,MAAM,CAACC,IAAI,CAAC,MAAM,CAAC;IAExB,MAAM;MAAEyJ,OAAO;MAAElG,IAAI,EAAEmG;IAAgB,CAAC,GAAG,MAAM,IAAI,CAACtL,QAAQ,CAACuL,QAAQ,CAAC,CAAC;IAEzE,IAAI,CAACF,OAAO,EAAE;MAAA,IAAAG,sBAAA;MACZ,IAAI,CAAC3I,EAAE,CAAC6D,iBAAiB,CAAC;QACxBC,OAAO,EAAE,MAAM;QACf0E,OAAO,EAAE,KAAK;QACdzE,cAAc,GAAA4E,sBAAA,GAAE,IAAI,CAAC3K,gBAAgB,cAAA2K,sBAAA,GAArBA,sBAAA,CAAuBlD,OAAO,qBAA9BkD,sBAAA,CAAgC1E;MAClD,CAAC,CAAC;MACF;IACF;IAEA,MAAM;MACJ5G,IAAI;MACJF,QAAQ,EAAE;QAAEmL;MAAW,CAAC;MACxBtI;IACF,CAAC,GAAG,IAAI;IAER,MAAMkE,QAAQ,GAAG,CAAC,IAAI,CAACnB,iBAAiB;IACxCuF,UAAU,CAACM,GAAG,CAAC,YAAY;MAAA,IAAAC,aAAA;MACzB,IAAIC,WAA0B;MAC9B,IAAIC,gBAAgB,GAAG,KAAK;MAE5B,MAAM1L,IAAI,CAACgD,YAAY,CACrB,YAAY;QAAA,IAAA2I,sBAAA;QACV;QACA,IAAI,IAAI,CAAC9H,iBAAiB,EAAE;UAC1B;QACF;QACAlB,EAAE,CAAC6D,iBAAiB,CAAC;UACnBC,OAAO,EAAE,MAAM;UACf0E,OAAO,EAAE,IAAI;UACbzE,cAAc,GAAAiF,sBAAA,GAAE,IAAI,CAAChL,gBAAgB,cAAAgL,sBAAA,GAArBA,sBAAA,CAAuBvD,OAAO,qBAA9BuD,sBAAA,CAAgC/E;QAClD,CAAC,CAAC;QACF,IAAI;UACF,IAAI,CAAC,IAAI,CAACX,UAAU,EAAE;YACpB,MAAM2F,YAAY,GAAG,MAAM,IAAI,CAACnM,MAAM,CAAC;cACrC2L,eAAe;cACfnK,MAAM,EAAE,IAAI,CAACA;YACf,CAAC,CAAC;YACFwK,WAAW,GAAGG,YAAY,oBAAZA,YAAY,CAAEnD,aAAa;UAC3C;UACA,IAAI,CAAC6B,iBAAiB,CAAC,CAAC;UACxBoB,gBAAgB,GAAG,IAAI,CAAC,CAAC;UACzB;UACA,IAAI,CAACnH,kBAAkB,GAAG,IAAI;QAChC,CAAC,CAAC,OAAO3C,GAAG,EAAE;UACZ,IAAI,CAACsH,eAAe,CAACtH,GAAG,EAAEuH,CAAC,CAAC;UAC5B,IAAI,CAACvI,SAAS,CAACiL,YAAY,CAACC,gBAAgB,CAAClK,GAAG,CAAC;UACjD,IAAI,CAACH,MAAM,CAACC,IAAI,CAAC,WAAW,EAAEE,GAAG,CAAC;UAClC5B,IAAI,CAAC+L,QAAQ,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC;MACF,CAAC,EACD,MAAM;QAAA,IAAAC,sBAAA;QACJrJ,EAAE,CAAC6D,iBAAiB,CAAC;UACnBC,OAAO,EAAE,MAAM;UACf0E,OAAO,EAAE,KAAK;UACdzE,cAAc,GAAAsF,sBAAA,GAAE,IAAI,CAACrL,gBAAgB,cAAAqL,sBAAA,GAArBA,sBAAA,CAAuB5D,OAAO,qBAA9B4D,sBAAA,CAAgCpF;QAClD,CAAC,CAAC;MACJ,CAAC,CAAE;MACL,CAAC,CAACuC,CAAC,CAAC;MAEJ,IAAI,CAACuC,gBAAgB,EAAE;QACrB;MACF;MACA/I,EAAE,CAACsJ,eAAe,CAAC;QACjBpF,QAAQ;QACRI,MAAM,EAAEC,YAAY,CAACuE,WAAW,IAAI,IAAI,CAACxK,MAAM,GAAAuK,aAAA,GAAE,IAAI,CAACjG,MAAM,qBAAXiG,aAAA,CAAarE,OAAO;MACvE,CAAC,CAAC;MACF,MAAM+E,eAAe,GACnBT,WAAW,IAAI,IAAI,CAACpL,+BAA+B,GAC/C,IAAI,CAACA,+BAA+B,CAACoL,WAAW,CAAC,GACjDA,WAAW;MACjB,IAAI,CAACrE,gBAAgB,CAAC8E,eAAe,CAAC;IACxC,CAAC,CAAC;IACF,MAAM,IAAI,CAACpM,QAAQ,CAACmL,UAAU,CAAC5F,MAAM,CAACC,OAAO;EAC/C;EAEA,IAAIrB,QAAQA,CAAA,EAAG;IACb,OAAO,IAAI,CAACnE,QAAQ,CAACmE,QAAQ;EAC/B;EAEA,IAAIgH,UAAUA,CAAA,EAAG;IACf,OAAO,IAAI,CAACnL,QAAQ,CAACmL,UAAU;EACjC;EAEQjH,gBAAgBA,CAAA,EAAG;IACzB,IAAI,IAAI,CAACD,aAAa,EAAE;MACtB,IAAI,IAAI,CAACxD,WAAW,KAAKpB,SAAS,EAAE;QAClC,MAAM,IAAIgN,KAAK,CAAC,6CAA6C,CAAC;MAChE;IACF,CAAC,MAAM;MACL,IAAI,IAAI,CAAClM,aAAa,KAAKd,SAAS,EAAE;QACpC,MAAM,IAAIgN,KAAK,CAAC,+CAA+C,CAAC;MAClE;MAEA,IAAI,CAAC,IAAI,CAACvL,SAAS,CAACmI,UAAU,EAAE;QAC9B,MAAM,IAAIoD,KAAK,CAAC,iDAAiD,CAAC;MACpE;IACF;EACF;AACF;AAACC,OAAA,CAAAzN,eAAA,GAAAA,eAAA;AAED,SAASuI,YAAYA,CAACjG,MAAe,EAAEkG,OAAO,GAAG,IAAI,EAAsB;EACzE,IAAIlG,MAAM,IAAI,IAAI,IAAI,OAAOA,MAAM,KAAK,QAAQ,IAAI,EAAEkG,OAAO,IAAIlG,MAAM,CAAC,EAAE;IACxE,OAAO9B,SAAS;EAClB;EACA,MAAMkN,EAAE,GAAIpL,MAAM,CAA6BkG,OAAO,CAAC;EACvD,OAAO,OAAOkF,EAAE,KAAK,QAAQ,GAAGA,EAAE,GAAGlN,SAAS;AAChD","ignoreList":[]}
|
|
@@ -35,6 +35,59 @@ class EntityPageStateBIReporter {
|
|
|
35
35
|
disposers.forEach(disposer => disposer());
|
|
36
36
|
};
|
|
37
37
|
}
|
|
38
|
+
reportItemCreationStart() {
|
|
39
|
+
const event = (0, _bexCore.withoutDefaults)(_bi.newItemCreationStart)({
|
|
40
|
+
origin: 'Entity page',
|
|
41
|
+
...this.tableParams()
|
|
42
|
+
});
|
|
43
|
+
this.reportBI({
|
|
44
|
+
...event,
|
|
45
|
+
params: {
|
|
46
|
+
...event.params,
|
|
47
|
+
componentType: 'Entity page'
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
reportItemSaved({
|
|
52
|
+
creating,
|
|
53
|
+
itemId
|
|
54
|
+
}) {
|
|
55
|
+
const event = (0, _bexCore.withoutDefaults)(_bi.newItemCreationEnd)({
|
|
56
|
+
origin: 'Entity page',
|
|
57
|
+
resultType: creating ? 'success' : 'edit success',
|
|
58
|
+
itemId,
|
|
59
|
+
...this.tableParams()
|
|
60
|
+
});
|
|
61
|
+
this.reportBI({
|
|
62
|
+
...event,
|
|
63
|
+
params: {
|
|
64
|
+
...event.params,
|
|
65
|
+
componentType: 'Entity page'
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
reportItemDismissed({
|
|
70
|
+
editing,
|
|
71
|
+
itemId
|
|
72
|
+
}) {
|
|
73
|
+
const event = (0, _bexCore.withoutDefaults)(_bi.newItemCreationEnd)({
|
|
74
|
+
origin: 'Entity page',
|
|
75
|
+
resultType: editing ? 'edit dismissed' : 'dismissed',
|
|
76
|
+
itemId,
|
|
77
|
+
...this.tableParams()
|
|
78
|
+
});
|
|
79
|
+
this.reportBI({
|
|
80
|
+
...event,
|
|
81
|
+
params: {
|
|
82
|
+
...event.params,
|
|
83
|
+
componentType: 'Entity page'
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
tableParams() {
|
|
88
|
+
var _this$entityPageState;
|
|
89
|
+
return ((_this$entityPageState = this.entityPageState.schemaSource) == null ? void 0 : _this$entityPageState.schemaParams()) ?? {};
|
|
90
|
+
}
|
|
38
91
|
reportButtonClick({
|
|
39
92
|
ctaName,
|
|
40
93
|
isValid,
|
|
@@ -66,8 +119,8 @@ class EntityPageStateBIReporter {
|
|
|
66
119
|
this.reportBI((0, _bexCore.withoutDefaults)(_bi.cairoPageDiscardChangesBeforeSave)({
|
|
67
120
|
numOfFields: fields.length,
|
|
68
121
|
numOfActions: fields.reduce((prev, key) => {
|
|
69
|
-
var _this$
|
|
70
|
-
return prev + +((_this$
|
|
122
|
+
var _this$entityPageState2;
|
|
123
|
+
return prev + +((_this$entityPageState2 = this.entityPageState.form.getFieldState(key)) == null ? void 0 : _this$entityPageState2.isDirty);
|
|
71
124
|
}, 0)
|
|
72
125
|
}));
|
|
73
126
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bexCore","require","_mobx","_bi","EntityPageStateBIReporter","constructor","params","_defineProperty2","default","performance","now","entityPageState","reportBI","_getErrorType","e","isNetworkError","code","init","events","disposers","addEventListener","action","once","err","reportSaveError","startTime","appLoaded","reportOnLoadStart","forEach","disposer","reportButtonClick","ctaName","isValid","additionalInfo","withoutDefaults","cairoPageCtaClicked","ctaType","location","reportSaveTryAgain","cairoTryAgainClicked","actionName","loaction","cairoApiRequestDataLoadEnd","errorType","duration","reportOnBeforeUnload","values","form","getValues","fields","Object","keys","cairoPageDiscardChangesBeforeSave","numOfFields","length","numOfActions","reduce","prev","key","_this$entityPageState","getFieldState","isDirty","loadStart","_commonDynamicBiParams","reportOnLoadEnd","Math","round","endTime","loadEnd","loadingTime","url","window","href","route","pathname","routerUsage","_withinRouter","exports"],"sources":["../../../../src/state/EntityPage/EntityPageStateBIReporter.ts"],"sourcesContent":["import { addEventListener, ReportBI, withoutDefaults } from '@wix/bex-core'; // withoutDefaults\nimport { EntityPageState } from './EntityPageState';\nimport { FieldValues } from 'react-hook-form';\nimport { action } from 'mobx';\nimport {\n cairoTryAgainClicked,\n cairoApiRequestDataLoadEnd,\n cairoPageCtaClicked,\n cairoPageDiscardChangesBeforeSave,\n loadStart,\n loadEnd,\n} from '@wix/bex-core/bi';\n\nexport interface EntityPageStateBIReporterParams<\n T,\n V extends FieldValues = FieldValues,\n> {\n reportBI: ReportBI;\n entityPageState: EntityPageState<T, V>;\n}\n\nexport class EntityPageStateBIReporter<T, V extends FieldValues> {\n readonly entityPageState: EntityPageState<T, V>;\n readonly reportBI: ReportBI;\n readonly startTime: number = performance.now();\n appLoaded?: () => void;\n\n constructor(params: EntityPageStateBIReporterParams<T, V>) {\n this.entityPageState = params.entityPageState;\n this.reportBI = params.reportBI;\n }\n\n _getErrorType(e: any) {\n const isNetworkError = e?.code === 'ERR_NETWORK';\n return isNetworkError ? 'Network error' : 'Technical issue';\n }\n\n init() {\n const { events } = this.entityPageState;\n const disposers = [\n addEventListener(\n events,\n 'save',\n action(() => {\n events.once('saveError', (err) => {\n this.reportSaveError(err, this.startTime);\n });\n }),\n ),\n (this.appLoaded = this.reportOnLoadStart(this.startTime)),\n ];\n\n return () => {\n disposers.forEach((disposer) => disposer());\n };\n }\n\n reportButtonClick({\n ctaName,\n isValid,\n additionalInfo,\n }: {\n ctaName: string;\n isValid?: boolean;\n additionalInfo?: string;\n }) {\n this.reportBI(\n withoutDefaults(cairoPageCtaClicked)({\n ctaName,\n ctaType: 'Main',\n location: 'Entity page header',\n isValid,\n additionalInfo,\n }),\n );\n }\n\n reportSaveTryAgain() {\n this.reportBI(\n withoutDefaults(cairoTryAgainClicked)({\n actionName: 'Saving Entity',\n loaction: 'toast',\n }),\n );\n }\n\n reportSaveError(e: any, startTime: number) {\n this.reportBI(\n withoutDefaults(cairoApiRequestDataLoadEnd)({\n errorType: this._getErrorType(e),\n duration: performance.now() - startTime,\n }),\n );\n }\n\n reportOnBeforeUnload() {\n const values = this.entityPageState.form.getValues();\n const fields = Object.keys(values);\n this.reportBI(\n withoutDefaults(cairoPageDiscardChangesBeforeSave)({\n numOfFields: fields.length,\n numOfActions: fields.reduce(\n (prev, key: any) =>\n prev + +this.entityPageState.form.getFieldState(key)?.isDirty,\n 0,\n ),\n }),\n );\n }\n\n reportOnLoadStart(startTime: number) {\n this.reportBI(\n withoutDefaults(loadStart)({\n ...this._commonDynamicBiParams(),\n }),\n );\n return () => {\n this.reportOnLoadEnd(Math.round(performance.now() - startTime));\n };\n }\n\n reportOnLoadEnd(endTime: number) {\n this.reportBI(\n withoutDefaults(loadEnd)({\n ...this._commonDynamicBiParams(),\n loadingTime: endTime,\n }),\n );\n }\n\n _commonDynamicBiParams() {\n return {\n url: window.location.href,\n route: window.location.pathname,\n routerUsage: this.entityPageState._withinRouter,\n };\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAGA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,GAAA,GAAAF,OAAA;AAJ6E;;AAqBtE,MAAMG,yBAAyB,CAA2B;EAM/DC,WAAWA,CAACC,MAA6C,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,qBAH9BC,WAAW,CAACC,GAAG,CAAC,CAAC;IAAA,IAAAH,gBAAA,CAAAC,OAAA;IAI5C,IAAI,CAACG,eAAe,GAAGL,MAAM,CAACK,eAAe;IAC7C,IAAI,CAACC,QAAQ,GAAGN,MAAM,CAACM,QAAQ;EACjC;EAEAC,aAAaA,CAACC,CAAM,EAAE;IACpB,MAAMC,cAAc,GAAG,CAAAD,CAAC,oBAADA,CAAC,CAAEE,IAAI,MAAK,aAAa;IAChD,OAAOD,cAAc,GAAG,eAAe,GAAG,iBAAiB;EAC7D;EAEAE,IAAIA,CAAA,EAAG;IACL,MAAM;MAAEC;IAAO,CAAC,GAAG,IAAI,CAACP,eAAe;IACvC,MAAMQ,SAAS,GAAG,CAChB,IAAAC,yBAAgB,EACdF,MAAM,EACN,MAAM,EACN,IAAAG,YAAM,EAAC,MAAM;MACXH,MAAM,CAACI,IAAI,CAAC,WAAW,EAAGC,GAAG,IAAK;QAChC,IAAI,CAACC,eAAe,CAACD,GAAG,EAAE,IAAI,CAACE,SAAS,CAAC;MAC3C,CAAC,CAAC;IACJ,CAAC,CACH,CAAC,EACA,IAAI,CAACC,SAAS,GAAG,IAAI,CAACC,iBAAiB,CAAC,IAAI,CAACF,SAAS,CAAC,CACzD;IAED,OAAO,MAAM;MACXN,SAAS,CAACS,OAAO,CAAEC,QAAQ,IAAKA,QAAQ,CAAC,CAAC,CAAC;IAC7C,CAAC;EACH;EAEAC,iBAAiBA,CAAC;IAChBC,OAAO;IACPC,OAAO;IACPC;EAKF,CAAC,EAAE;IACD,IAAI,CAACrB,QAAQ,CACX,IAAAsB,wBAAe,EAACC,uBAAmB,CAAC,CAAC;MACnCJ,OAAO;MACPK,OAAO,EAAE,MAAM;MACfC,QAAQ,EAAE,oBAAoB;MAC9BL,OAAO;MACPC;IACF,CAAC,CACH,CAAC;EACH;EAEAK,kBAAkBA,CAAA,EAAG;IACnB,IAAI,CAAC1B,QAAQ,CACX,IAAAsB,wBAAe,EAACK,wBAAoB,CAAC,CAAC;MACpCC,UAAU,EAAE,eAAe;MAC3BC,QAAQ,EAAE;IACZ,CAAC,CACH,CAAC;EACH;EAEAjB,eAAeA,CAACV,CAAM,EAAEW,SAAiB,EAAE;IACzC,IAAI,CAACb,QAAQ,CACX,IAAAsB,wBAAe,EAACQ,8BAA0B,CAAC,CAAC;MAC1CC,SAAS,EAAE,IAAI,CAAC9B,aAAa,CAACC,CAAC,CAAC;MAChC8B,QAAQ,EAAEnC,WAAW,CAACC,GAAG,CAAC,CAAC,GAAGe;IAChC,CAAC,CACH,CAAC;EACH;EAEAoB,oBAAoBA,CAAA,EAAG;IACrB,MAAMC,MAAM,GAAG,IAAI,CAACnC,eAAe,CAACoC,IAAI,CAACC,SAAS,CAAC,CAAC;IACpD,MAAMC,MAAM,GAAGC,MAAM,CAACC,IAAI,CAACL,MAAM,CAAC;IAClC,IAAI,CAAClC,QAAQ,CACX,IAAAsB,wBAAe,EAACkB,qCAAiC,CAAC,CAAC;MACjDC,WAAW,EAAEJ,MAAM,CAACK,MAAM;MAC1BC,YAAY,EAAEN,MAAM,CAACO,MAAM,CACzB,CAACC,IAAI,EAAEC,GAAQ;QAAA,IAAAC,qBAAA;QAAA,OACbF,IAAI,GAAG,GAAAE,qBAAA,GAAC,IAAI,CAAChD,eAAe,CAACoC,IAAI,CAACa,aAAa,CAACF,GAAG,CAAC,qBAA5CC,qBAAA,CAA8CE,OAAO;MAAA,GAC/D,CACF;IACF,CAAC,CACH,CAAC;EACH;EAEAlC,iBAAiBA,CAACF,SAAiB,EAAE;IACnC,IAAI,CAACb,QAAQ,CACX,IAAAsB,wBAAe,EAAC4B,aAAS,CAAC,CAAC;MACzB,GAAG,IAAI,CAACC,sBAAsB,CAAC;IACjC,CAAC,CACH,CAAC;IACD,OAAO,MAAM;MACX,IAAI,CAACC,eAAe,CAACC,IAAI,CAACC,KAAK,CAACzD,WAAW,CAACC,GAAG,CAAC,CAAC,GAAGe,SAAS,CAAC,CAAC;IACjE,CAAC;EACH;EAEAuC,eAAeA,CAACG,OAAe,EAAE;IAC/B,IAAI,CAACvD,QAAQ,CACX,IAAAsB,wBAAe,EAACkC,WAAO,CAAC,CAAC;MACvB,GAAG,IAAI,CAACL,sBAAsB,CAAC,CAAC;MAChCM,WAAW,EAAEF;IACf,CAAC,CACH,CAAC;EACH;EAEAJ,sBAAsBA,CAAA,EAAG;IACvB,OAAO;MACLO,GAAG,EAAEC,MAAM,CAAClC,QAAQ,CAACmC,IAAI;MACzBC,KAAK,EAAEF,MAAM,CAAClC,QAAQ,CAACqC,QAAQ;MAC/BC,WAAW,EAAE,IAAI,CAAChE,eAAe,CAACiE;IACpC,CAAC;EACH;AACF;AAACC,OAAA,CAAAzE,yBAAA,GAAAA,yBAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_bexCore","require","_mobx","_bi","EntityPageStateBIReporter","constructor","params","_defineProperty2","default","performance","now","entityPageState","reportBI","_getErrorType","e","isNetworkError","code","init","events","disposers","addEventListener","action","once","err","reportSaveError","startTime","appLoaded","reportOnLoadStart","forEach","disposer","reportItemCreationStart","event","withoutDefaults","newItemCreationStart","origin","tableParams","componentType","reportItemSaved","creating","itemId","newItemCreationEnd","resultType","reportItemDismissed","editing","_this$entityPageState","schemaSource","schemaParams","reportButtonClick","ctaName","isValid","additionalInfo","cairoPageCtaClicked","ctaType","location","reportSaveTryAgain","cairoTryAgainClicked","actionName","loaction","cairoApiRequestDataLoadEnd","errorType","duration","reportOnBeforeUnload","values","form","getValues","fields","Object","keys","cairoPageDiscardChangesBeforeSave","numOfFields","length","numOfActions","reduce","prev","key","_this$entityPageState2","getFieldState","isDirty","loadStart","_commonDynamicBiParams","reportOnLoadEnd","Math","round","endTime","loadEnd","loadingTime","url","window","href","route","pathname","routerUsage","_withinRouter","exports"],"sources":["../../../../src/state/EntityPage/EntityPageStateBIReporter.ts"],"sourcesContent":["import { addEventListener, ReportBI, withoutDefaults } from '@wix/bex-core'; // withoutDefaults\nimport { EntityPageState } from './EntityPageState';\nimport { FieldValues } from 'react-hook-form';\nimport { action } from 'mobx';\nimport {\n cairoTryAgainClicked,\n cairoApiRequestDataLoadEnd,\n cairoPageCtaClicked,\n cairoPageDiscardChangesBeforeSave,\n newItemCreationStart,\n newItemCreationEnd,\n loadStart,\n loadEnd,\n} from '@wix/bex-core/bi';\n\nexport interface EntityPageStateBIReporterParams<\n T,\n V extends FieldValues = FieldValues,\n> {\n reportBI: ReportBI;\n entityPageState: EntityPageState<T, V>;\n}\n\nexport class EntityPageStateBIReporter<T, V extends FieldValues> {\n readonly entityPageState: EntityPageState<T, V>;\n readonly reportBI: ReportBI;\n readonly startTime: number = performance.now();\n appLoaded?: () => void;\n\n constructor(params: EntityPageStateBIReporterParams<T, V>) {\n this.entityPageState = params.entityPageState;\n this.reportBI = params.reportBI;\n }\n\n _getErrorType(e: any) {\n const isNetworkError = e?.code === 'ERR_NETWORK';\n return isNetworkError ? 'Network error' : 'Technical issue';\n }\n\n init() {\n const { events } = this.entityPageState;\n const disposers = [\n addEventListener(\n events,\n 'save',\n action(() => {\n events.once('saveError', (err) => {\n this.reportSaveError(err, this.startTime);\n });\n }),\n ),\n (this.appLoaded = this.reportOnLoadStart(this.startTime)),\n ];\n\n return () => {\n disposers.forEach((disposer) => disposer());\n };\n }\n\n reportItemCreationStart() {\n const event = withoutDefaults(newItemCreationStart)({\n origin: 'Entity page',\n ...this.tableParams(),\n });\n this.reportBI({\n ...event,\n params: { ...event.params, componentType: 'Entity page' },\n });\n }\n\n reportItemSaved({\n creating,\n itemId,\n }: {\n creating: boolean;\n itemId?: string;\n }) {\n const event = withoutDefaults(newItemCreationEnd)({\n origin: 'Entity page',\n resultType: creating ? 'success' : 'edit success',\n itemId,\n ...this.tableParams(),\n });\n this.reportBI({\n ...event,\n params: { ...event.params, componentType: 'Entity page' },\n });\n }\n\n reportItemDismissed({\n editing,\n itemId,\n }: {\n editing: boolean;\n itemId?: string;\n }) {\n const event = withoutDefaults(newItemCreationEnd)({\n origin: 'Entity page',\n resultType: editing ? 'edit dismissed' : 'dismissed',\n itemId,\n ...this.tableParams(),\n });\n this.reportBI({\n ...event,\n params: { ...event.params, componentType: 'Entity page' },\n });\n }\n\n private tableParams() {\n return this.entityPageState.schemaSource?.schemaParams() ?? {};\n }\n\n reportButtonClick({\n ctaName,\n isValid,\n additionalInfo,\n }: {\n ctaName: string;\n isValid?: boolean;\n additionalInfo?: string;\n }) {\n this.reportBI(\n withoutDefaults(cairoPageCtaClicked)({\n ctaName,\n ctaType: 'Main',\n location: 'Entity page header',\n isValid,\n additionalInfo,\n }),\n );\n }\n\n reportSaveTryAgain() {\n this.reportBI(\n withoutDefaults(cairoTryAgainClicked)({\n actionName: 'Saving Entity',\n loaction: 'toast',\n }),\n );\n }\n\n reportSaveError(e: any, startTime: number) {\n this.reportBI(\n withoutDefaults(cairoApiRequestDataLoadEnd)({\n errorType: this._getErrorType(e),\n duration: performance.now() - startTime,\n }),\n );\n }\n\n reportOnBeforeUnload() {\n const values = this.entityPageState.form.getValues();\n const fields = Object.keys(values);\n this.reportBI(\n withoutDefaults(cairoPageDiscardChangesBeforeSave)({\n numOfFields: fields.length,\n numOfActions: fields.reduce(\n (prev, key: any) =>\n prev + +this.entityPageState.form.getFieldState(key)?.isDirty,\n 0,\n ),\n }),\n );\n }\n\n reportOnLoadStart(startTime: number) {\n this.reportBI(\n withoutDefaults(loadStart)({\n ...this._commonDynamicBiParams(),\n }),\n );\n return () => {\n this.reportOnLoadEnd(Math.round(performance.now() - startTime));\n };\n }\n\n reportOnLoadEnd(endTime: number) {\n this.reportBI(\n withoutDefaults(loadEnd)({\n ...this._commonDynamicBiParams(),\n loadingTime: endTime,\n }),\n );\n }\n\n _commonDynamicBiParams() {\n return {\n url: window.location.href,\n route: window.location.pathname,\n routerUsage: this.entityPageState._withinRouter,\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,14 +5,14 @@ exports.vars = exports.style = exports.stVars = exports.st = exports.namespace =
|
|
|
5
5
|
var _stylableEsmRuntime = require("../../stylable-esm-runtime.js");
|
|
6
6
|
// @ts-nocheck
|
|
7
7
|
|
|
8
|
-
var _namespace_ = "
|
|
8
|
+
var _namespace_ = "FormPageHeader902946515";
|
|
9
9
|
var _style_ = _stylableEsmRuntime.classesRuntime.bind(null, _namespace_);
|
|
10
10
|
var cssStates = exports.cssStates = _stylableEsmRuntime.statesRuntime.bind(null, _namespace_);
|
|
11
11
|
var style = exports.style = _style_;
|
|
12
12
|
var st = exports.st = _style_;
|
|
13
13
|
var namespace = exports.namespace = _namespace_;
|
|
14
14
|
var classes = exports.classes = {
|
|
15
|
-
"root": "
|
|
15
|
+
"root": "FormPageHeader902946515__root"
|
|
16
16
|
};
|
|
17
17
|
var keyframes = exports.keyframes = {};
|
|
18
18
|
var layers = exports.layers = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/state/FormPage/FormPageHeader.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"
|
|
1
|
+
{"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/state/FormPage/FormPageHeader.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"FormPageHeader902946515\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"FormPageHeader902946515__root\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,yBAAyB;AAC3C,IAAIC,OAAO,GAAGC,kCAAc,CAACC,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AAE7C,IAAII,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,iCAAa,CAACH,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AACrD,IAAIO,KAAK,GAAAF,OAAA,CAAAE,KAAA,GAAGN,OAAO;AACnB,IAAIO,EAA0C,GAAAH,OAAA,CAAAG,EAAA,GAAGP,OAAO;AAExD,IAAIQ,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGT,WAAW;AAC3B,IAAIU,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EAAC,MAAM,EAAC;AAA+B,CAAC;AACtD,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG,CAAC,CAAC","ignoreList":[]}
|
|
@@ -186,7 +186,7 @@ class NestedTableNestedModeState {
|
|
|
186
186
|
return initTask.status.isError;
|
|
187
187
|
}
|
|
188
188
|
get showLoadingState() {
|
|
189
|
-
return this.initTask.status.isLoading;
|
|
189
|
+
return this.initTask.status.isIdle || this.initTask.status.isLoading;
|
|
190
190
|
}
|
|
191
191
|
get errorStatus() {
|
|
192
192
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bexCore","require","_NestedCollectionState","_TableVirtualState","_NestedTableNodeState","_mobx","_getNodeOrLeaf","_NestedTableNestedModeStateBIReporter","_util","_createNestedOptimisticActions","NestedTableNestedModeState","constructor","params","_defineProperty2","default","TaskState","action","initTask","status","isError","runOnce","bi","reportExpandCollapseAll","isAllCollapsed","nodes","root","getDescendants","node","expanded","nodeState","_expanded","wrapper","container","NestedTableNestedModeStateBIReporter","rootLevelDescriptor","levels","Error","nestedOptimisticActionsState","parentId","sequences","query","levelDescriptor","rootNodeCollection","createCollection","createNestedOptimisticActions","collection","parentFilter","nestedCollection","NestedCollectionState","nodeCollection","NestedTableNodeState","nestedTable","parentNode","parent","preRegister","virtual","TableVirtualState","table","getVirtualItemKey","item","_item$item$state$pare","id","state","filter","Boolean","join","makeObservable","hasExpandableItems","computed","getCollectionSnapshot","_toolbar$viewsState","_originQuery$sort","toolbar","result","originQuery","total","viewShown","viewsState","views","currentView","tabShown","getCurrentTabName","sortOrderApplied","sort","length","JSON","stringify","undefined","filtersApplied","filtersKey","filteredListSizeShown","multi","tableState","keyedItems","_keyedItemsMap","getKeyedItem","key","getKeyedItemByIndex","ind","getNode","keyedItem","_allKeyedItemsMap","get","originalKeyedItem","getNodeOrLeaf","getAllNodes","expandAll","isFetchAllAborted","every","showEmptyState","hasAvailableItems","resultOriginQuerySearch","hasNonPersistentActiveFilters","showErrorState","showLoadingState","isLoading","errorStatus","init","attemptFetchAllState","_attemptFetchAllAndPopulateCache","disposers","addEventListener","hooks","promise","forEach","d","exports"],"sources":["../../../../src/state/NestedTableState/NestedTableNestedModeState.ts"],"sourcesContent":["import { FiltersMap, ReportBI, TaskState } from '@wix/bex-core';\n\nimport { NestedCollectionState } from './NestedCollectionState';\nimport { TableVirtualState } from '../TableVirtualState';\nimport { NestedTableNodeState } from './NestedTableNodeState';\nimport { action, computed, makeObservable } from 'mobx';\nimport { NestedTableState } from './NestedTableState';\nimport { NestedTableDragAndDropState } from '../../components/NestedTableDragAndDrop/NestedTableDragAndDropState';\nimport { getNodeOrLeaf } from './getNodeOrLeaf';\nimport { NestedTableNodeStatePublicAPI } from './NestedTableNodeStatePublicAPI';\nimport { NestedTableNestedModeStateBIReporter } from './NestedTableNestedModeStateBIReporter';\nimport { addEventListener } from '@wix/bex-core/util';\nimport { createNestedOptimisticActions } from './createNestedOptimisticActions';\n\nexport interface NestedTableNestedModeStateBaseParams {}\n\nexport interface NestedTableNestedModeStateParams<C extends string>\n extends NestedTableNestedModeStateBaseParams {\n wrapper: NestedTableState<C>;\n reportBi: ReportBI;\n}\n\nexport class NestedTableNestedModeState<C extends string = string> {\n readonly wrapper;\n readonly container;\n readonly bi: NestedTableNestedModeStateBIReporter<C>;\n readonly nestedCollection: NestedCollectionState;\n readonly virtual;\n\n readonly initTask = new TaskState();\n\n readonly root: NestedTableNodeState<C, any, any>;\n\n nestedTableDragAndDrop: NestedTableDragAndDropState<C> | null = null;\n\n constructor(params: NestedTableNestedModeStateParams<C>) {\n const { wrapper } = params;\n this.wrapper = wrapper;\n this.container = wrapper.container;\n\n this.bi = new NestedTableNestedModeStateBIReporter(this);\n\n const rootLevelDescriptor = this.wrapper.levels[0];\n\n if (rootLevelDescriptor == null) {\n throw new Error('NestedTableState must have at least one level');\n }\n\n const nestedOptimisticActionsState = {\n parentId: 'null',\n sequences: wrapper.sequences,\n query: wrapper.query,\n levelDescriptor: rootLevelDescriptor,\n };\n\n const rootNodeCollection = rootLevelDescriptor.createCollection(\n nestedOptimisticActionsState,\n );\n\n createNestedOptimisticActions(\n this.container,\n rootNodeCollection.collection,\n {\n ...nestedOptimisticActionsState,\n parentFilter: rootNodeCollection.parentFilter,\n },\n );\n\n this.nestedCollection = new NestedCollectionState({\n container: this.container,\n levels: wrapper.levels,\n query: wrapper.query,\n nodeCollection: rootNodeCollection,\n sequences: wrapper.sequences,\n });\n\n this.root = new NestedTableNodeState({\n nestedTable: this,\n node: this.nestedCollection.root,\n levelDescriptor: rootLevelDescriptor,\n parentNode: null,\n parent: null,\n preRegister: true,\n });\n\n this.virtual = new TableVirtualState({\n table: this,\n getVirtualItemKey: (item) =>\n [item.id, item.item.state.parent?.id].filter(Boolean).join('_'),\n });\n\n makeObservable(this, {\n hasExpandableItems: computed,\n });\n }\n\n getCollectionSnapshot() {\n const { toolbar } = this;\n\n const {\n collection: {\n result: { originQuery, total },\n },\n } = toolbar;\n\n return {\n viewShown: toolbar.viewsState?.views.currentView?.id,\n tabShown: toolbar.getCurrentTabName(),\n sortOrderApplied: originQuery.sort?.length\n ? JSON.stringify(originQuery.sort)\n : undefined,\n filtersApplied: JSON.stringify(originQuery.filtersKey),\n filteredListSizeShown: total,\n };\n }\n\n get multi() {\n return this.toolbar.multi;\n }\n\n get tableState() {\n return this.wrapper.tableState;\n }\n\n get toolbar() {\n return this.wrapper.toolbar;\n }\n\n get total() {\n return this.nestedCollection.total;\n }\n\n get originQuery() {\n return this.toolbar.collection.originQuery;\n }\n\n get keyedItems() {\n return this.root.keyedItems;\n }\n\n get _keyedItemsMap() {\n return this.root._keyedItemsMap;\n }\n\n _indentationWidth = 28;\n _parentCellPaddingStart = 24;\n\n getKeyedItem(key: string) {\n return this.root.getKeyedItem(key);\n }\n\n getKeyedItemByIndex(ind: number) {\n return this.root.getKeyedItemByIndex(ind);\n }\n\n getNode<TD, FD extends FiltersMap>(\n key: string,\n ): NestedTableNodeStatePublicAPI<C, TD, FD> | undefined {\n const keyedItem = this.root._allKeyedItemsMap.get(key);\n if (keyedItem == null || keyedItem.item.originalKeyedItem == null) {\n return undefined;\n }\n const { item } = keyedItem;\n return getNodeOrLeaf(item.state, item.originalKeyedItem) as\n | NestedTableNodeState<C, TD, FD>\n | undefined;\n }\n\n getAllNodes<TD, FD extends FiltersMap>(): NestedTableNodeStatePublicAPI<\n C,\n TD,\n FD\n >[] {\n return this.root.getDescendants();\n }\n\n get expandAll() {\n return this.nestedCollection.expandAll;\n }\n\n get isFetchAllAborted() {\n return this.nestedCollection.isFetchAllAborted;\n }\n\n get isAllCollapsed() {\n return this.root.getDescendants().every((node) => !node.expanded);\n }\n\n get hasExpandableItems() {\n return this.root.hasExpandableItems;\n }\n\n get showEmptyState() {\n return this.root.showEmptyState;\n }\n\n get hasAvailableItems() {\n return this.toolbar.multi.hasAvailableItems;\n }\n\n get resultOriginQuerySearch() {\n return this.toolbar.multi.resultOriginQuerySearch;\n }\n\n get hasNonPersistentActiveFilters() {\n return this.toolbar.multi.hasNonPersistentActiveFilters;\n }\n\n get showErrorState() {\n const { initTask } = this;\n return initTask.status.isError;\n }\n\n get showLoadingState() {\n return this.initTask.status.isLoading;\n }\n\n retryErrorState = action(() => {\n const { initTask } = this;\n\n if (initTask.status.isError) {\n initTask.runOnce();\n }\n });\n\n expandCollapseAll = action(() => {\n this.bi.reportExpandCollapseAll();\n const isAllCollapsed = this.isAllCollapsed;\n\n const nodes = this.root.getDescendants();\n\n for (const node of nodes) {\n if (node.expanded !== isAllCollapsed) {\n const nodeState = (node as NestedTableNodeState<C, any, any>).node;\n if (!nodeState) {\n continue;\n }\n nodeState._expanded = !nodeState._expanded;\n }\n }\n });\n\n get errorStatus() {\n const { initTask } = this;\n return initTask.errorStatus;\n }\n\n get query() {\n return this.wrapper.query;\n }\n\n get levels() {\n return this.wrapper.levels;\n }\n\n init() {\n const { initTask, wrapper, root, nestedCollection } = this;\n\n const attemptFetchAllState = wrapper._attemptFetchAllAndPopulateCache();\n\n const disposers = [\n addEventListener(\n root.collection.hooks,\n 'beforeInitialFetch',\n () => attemptFetchAllState.initTask.status.promise,\n ),\n addEventListener(\n wrapper.rootNodeCollection.collection.hooks,\n 'beforeInitialFetch',\n () => attemptFetchAllState.initTask.status.promise,\n ),\n attemptFetchAllState.init(),\n wrapper.init(),\n root.init(),\n nestedCollection.init(),\n ];\n\n initTask.runOnce(async () => {\n wrapper.initTask.runOnce();\n attemptFetchAllState.initTask.runOnce();\n root.initTask.runOnce();\n\n await attemptFetchAllState.initTask.status.promise;\n await root.initTask.status.promise;\n await wrapper.initTask.status.promise;\n });\n\n return () => {\n disposers.forEach((d) => d());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_bexCore","require","_NestedCollectionState","_TableVirtualState","_NestedTableNodeState","_mobx","_getNodeOrLeaf","_NestedTableNestedModeStateBIReporter","_util","_createNestedOptimisticActions","NestedTableNestedModeState","constructor","params","_defineProperty2","default","TaskState","action","initTask","status","isError","runOnce","bi","reportExpandCollapseAll","isAllCollapsed","nodes","root","getDescendants","node","expanded","nodeState","_expanded","wrapper","container","NestedTableNestedModeStateBIReporter","rootLevelDescriptor","levels","Error","nestedOptimisticActionsState","parentId","sequences","query","levelDescriptor","rootNodeCollection","createCollection","createNestedOptimisticActions","collection","parentFilter","nestedCollection","NestedCollectionState","nodeCollection","NestedTableNodeState","nestedTable","parentNode","parent","preRegister","virtual","TableVirtualState","table","getVirtualItemKey","item","_item$item$state$pare","id","state","filter","Boolean","join","makeObservable","hasExpandableItems","computed","getCollectionSnapshot","_toolbar$viewsState","_originQuery$sort","toolbar","result","originQuery","total","viewShown","viewsState","views","currentView","tabShown","getCurrentTabName","sortOrderApplied","sort","length","JSON","stringify","undefined","filtersApplied","filtersKey","filteredListSizeShown","multi","tableState","keyedItems","_keyedItemsMap","getKeyedItem","key","getKeyedItemByIndex","ind","getNode","keyedItem","_allKeyedItemsMap","get","originalKeyedItem","getNodeOrLeaf","getAllNodes","expandAll","isFetchAllAborted","every","showEmptyState","hasAvailableItems","resultOriginQuerySearch","hasNonPersistentActiveFilters","showErrorState","showLoadingState","isIdle","isLoading","errorStatus","init","attemptFetchAllState","_attemptFetchAllAndPopulateCache","disposers","addEventListener","hooks","promise","forEach","d","exports"],"sources":["../../../../src/state/NestedTableState/NestedTableNestedModeState.ts"],"sourcesContent":["import { FiltersMap, ReportBI, TaskState } from '@wix/bex-core';\n\nimport { NestedCollectionState } from './NestedCollectionState';\nimport { TableVirtualState } from '../TableVirtualState';\nimport { NestedTableNodeState } from './NestedTableNodeState';\nimport { action, computed, makeObservable } from 'mobx';\nimport { NestedTableState } from './NestedTableState';\nimport { NestedTableDragAndDropState } from '../../components/NestedTableDragAndDrop/NestedTableDragAndDropState';\nimport { getNodeOrLeaf } from './getNodeOrLeaf';\nimport { NestedTableNodeStatePublicAPI } from './NestedTableNodeStatePublicAPI';\nimport { NestedTableNestedModeStateBIReporter } from './NestedTableNestedModeStateBIReporter';\nimport { addEventListener } from '@wix/bex-core/util';\nimport { createNestedOptimisticActions } from './createNestedOptimisticActions';\n\nexport interface NestedTableNestedModeStateBaseParams {}\n\nexport interface NestedTableNestedModeStateParams<C extends string>\n extends NestedTableNestedModeStateBaseParams {\n wrapper: NestedTableState<C>;\n reportBi: ReportBI;\n}\n\nexport class NestedTableNestedModeState<C extends string = string> {\n readonly wrapper;\n readonly container;\n readonly bi: NestedTableNestedModeStateBIReporter<C>;\n readonly nestedCollection: NestedCollectionState;\n readonly virtual;\n\n readonly initTask = new TaskState();\n\n readonly root: NestedTableNodeState<C, any, any>;\n\n nestedTableDragAndDrop: NestedTableDragAndDropState<C> | null = null;\n\n constructor(params: NestedTableNestedModeStateParams<C>) {\n const { wrapper } = params;\n this.wrapper = wrapper;\n this.container = wrapper.container;\n\n this.bi = new NestedTableNestedModeStateBIReporter(this);\n\n const rootLevelDescriptor = this.wrapper.levels[0];\n\n if (rootLevelDescriptor == null) {\n throw new Error('NestedTableState must have at least one level');\n }\n\n const nestedOptimisticActionsState = {\n parentId: 'null',\n sequences: wrapper.sequences,\n query: wrapper.query,\n levelDescriptor: rootLevelDescriptor,\n };\n\n const rootNodeCollection = rootLevelDescriptor.createCollection(\n nestedOptimisticActionsState,\n );\n\n createNestedOptimisticActions(\n this.container,\n rootNodeCollection.collection,\n {\n ...nestedOptimisticActionsState,\n parentFilter: rootNodeCollection.parentFilter,\n },\n );\n\n this.nestedCollection = new NestedCollectionState({\n container: this.container,\n levels: wrapper.levels,\n query: wrapper.query,\n nodeCollection: rootNodeCollection,\n sequences: wrapper.sequences,\n });\n\n this.root = new NestedTableNodeState({\n nestedTable: this,\n node: this.nestedCollection.root,\n levelDescriptor: rootLevelDescriptor,\n parentNode: null,\n parent: null,\n preRegister: true,\n });\n\n this.virtual = new TableVirtualState({\n table: this,\n getVirtualItemKey: (item) =>\n [item.id, item.item.state.parent?.id].filter(Boolean).join('_'),\n });\n\n makeObservable(this, {\n hasExpandableItems: computed,\n });\n }\n\n getCollectionSnapshot() {\n const { toolbar } = this;\n\n const {\n collection: {\n result: { originQuery, total },\n },\n } = toolbar;\n\n return {\n viewShown: toolbar.viewsState?.views.currentView?.id,\n tabShown: toolbar.getCurrentTabName(),\n sortOrderApplied: originQuery.sort?.length\n ? JSON.stringify(originQuery.sort)\n : undefined,\n filtersApplied: JSON.stringify(originQuery.filtersKey),\n filteredListSizeShown: total,\n };\n }\n\n get multi() {\n return this.toolbar.multi;\n }\n\n get tableState() {\n return this.wrapper.tableState;\n }\n\n get toolbar() {\n return this.wrapper.toolbar;\n }\n\n get total() {\n return this.nestedCollection.total;\n }\n\n get originQuery() {\n return this.toolbar.collection.originQuery;\n }\n\n get keyedItems() {\n return this.root.keyedItems;\n }\n\n get _keyedItemsMap() {\n return this.root._keyedItemsMap;\n }\n\n _indentationWidth = 28;\n _parentCellPaddingStart = 24;\n\n getKeyedItem(key: string) {\n return this.root.getKeyedItem(key);\n }\n\n getKeyedItemByIndex(ind: number) {\n return this.root.getKeyedItemByIndex(ind);\n }\n\n getNode<TD, FD extends FiltersMap>(\n key: string,\n ): NestedTableNodeStatePublicAPI<C, TD, FD> | undefined {\n const keyedItem = this.root._allKeyedItemsMap.get(key);\n if (keyedItem == null || keyedItem.item.originalKeyedItem == null) {\n return undefined;\n }\n const { item } = keyedItem;\n return getNodeOrLeaf(item.state, item.originalKeyedItem) as\n | NestedTableNodeState<C, TD, FD>\n | undefined;\n }\n\n getAllNodes<TD, FD extends FiltersMap>(): NestedTableNodeStatePublicAPI<\n C,\n TD,\n FD\n >[] {\n return this.root.getDescendants();\n }\n\n get expandAll() {\n return this.nestedCollection.expandAll;\n }\n\n get isFetchAllAborted() {\n return this.nestedCollection.isFetchAllAborted;\n }\n\n get isAllCollapsed() {\n return this.root.getDescendants().every((node) => !node.expanded);\n }\n\n get hasExpandableItems() {\n return this.root.hasExpandableItems;\n }\n\n get showEmptyState() {\n return this.root.showEmptyState;\n }\n\n get hasAvailableItems() {\n return this.toolbar.multi.hasAvailableItems;\n }\n\n get resultOriginQuerySearch() {\n return this.toolbar.multi.resultOriginQuerySearch;\n }\n\n get hasNonPersistentActiveFilters() {\n return this.toolbar.multi.hasNonPersistentActiveFilters;\n }\n\n get showErrorState() {\n const { initTask } = this;\n return initTask.status.isError;\n }\n\n get showLoadingState() {\n return this.initTask.status.isIdle || this.initTask.status.isLoading;\n }\n\n retryErrorState = action(() => {\n const { initTask } = this;\n\n if (initTask.status.isError) {\n initTask.runOnce();\n }\n });\n\n expandCollapseAll = action(() => {\n this.bi.reportExpandCollapseAll();\n const isAllCollapsed = this.isAllCollapsed;\n\n const nodes = this.root.getDescendants();\n\n for (const node of nodes) {\n if (node.expanded !== isAllCollapsed) {\n const nodeState = (node as NestedTableNodeState<C, any, any>).node;\n if (!nodeState) {\n continue;\n }\n nodeState._expanded = !nodeState._expanded;\n }\n }\n });\n\n get errorStatus() {\n const { initTask } = this;\n return initTask.errorStatus;\n }\n\n get query() {\n return this.wrapper.query;\n }\n\n get levels() {\n return this.wrapper.levels;\n }\n\n init() {\n const { initTask, wrapper, root, nestedCollection } = this;\n\n const attemptFetchAllState = wrapper._attemptFetchAllAndPopulateCache();\n\n const disposers = [\n addEventListener(\n root.collection.hooks,\n 'beforeInitialFetch',\n () => attemptFetchAllState.initTask.status.promise,\n ),\n addEventListener(\n wrapper.rootNodeCollection.collection.hooks,\n 'beforeInitialFetch',\n () => attemptFetchAllState.initTask.status.promise,\n ),\n attemptFetchAllState.init(),\n wrapper.init(),\n root.init(),\n nestedCollection.init(),\n ];\n\n initTask.runOnce(async () => {\n wrapper.initTask.runOnce();\n attemptFetchAllState.initTask.runOnce();\n root.initTask.runOnce();\n\n await attemptFetchAllState.initTask.status.promise;\n await root.initTask.status.promise;\n await wrapper.initTask.status.promise;\n });\n\n return () => {\n disposers.forEach((d) => d());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -94,7 +94,8 @@ class OperatorFilterPickerState {
|
|
|
94
94
|
if (this.filter.hasDiff(newValue)) {
|
|
95
95
|
this.filter.setValue(newValue, {
|
|
96
96
|
emitEvents: ['change', 'beforeRefresh', 'refresh'],
|
|
97
|
-
...options
|
|
97
|
+
...options,
|
|
98
|
+
clickedValueKey: options.clickedValueKey ?? this.filter.itemKey(newValue)
|
|
98
99
|
});
|
|
99
100
|
return true;
|
|
100
101
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bexCore","require","_mobx","_lodash","OperatorFilterPickerState","filter","toolbar","getPendingFilter","_filter","constructor","params","_params$filter$value","_params$filter$value2","_defineProperty2","default","operator","value","debounceMs","debouncedRefresh","debounce","refreshIfChanged","actionType","makeObservable","observable","isEmpty","computed","init","action","setOperator","setValue","onChange","applyImmediately","currentValue","dispose","reaction","filterValue","fireImmediately","remove","operatorNeedsValue","options","newValue","hasDiff","emitEvents","coreOperatorNeedsValue","exports"],"sources":["../../../src/state/OperatorFilterPickerState.ts"],"sourcesContent":["import {\n Filter,\n FilterOperator,\n OperatorFilterValue,\n operatorNeedsValue as coreOperatorNeedsValue,\n} from '@wix/bex-core';\nimport { action, computed, makeObservable, observable, reaction } from 'mobx';\nimport { FilterToolbarState } from '../providers';\nimport { debounce } from 'lodash';\n\nexport interface OperatorFilterPickerStateParams<T> {\n toolbar: FilterToolbarState;\n filter: Filter<OperatorFilterValue<T>>;\n /**\n * Debounce delay in milliseconds before applying filter changes\n * @default 300\n */\n debounceMs?: number;\n}\n\nexport class OperatorFilterPickerState<T> {\n readonly toolbar: FilterToolbarState;\n readonly _filter: OperatorFilterPickerStateParams<T>['filter'];\n private readonly debouncedRefresh: () => void;\n\n operator: FilterOperator;\n value: T | null;\n\n get filter() {\n return this.toolbar.getPendingFilter(this._filter);\n }\n\n constructor(params: OperatorFilterPickerStateParams<T>) {\n this.toolbar = params.toolbar;\n this._filter = params.filter;\n this.operator = params.filter.value?.operator!;\n this.value = params.filter.value?.value ?? null;\n\n const debounceMs = params.debounceMs ?? 300;\n this.debouncedRefresh = debounce(\n () => this.refreshIfChanged({ actionType: 'add' }),\n debounceMs,\n );\n\n makeObservable(this, {\n operator: observable,\n value: observable,\n isEmpty: computed,\n init: action,\n setOperator: action,\n setValue: action,\n onChange: action,\n applyImmediately: action,\n });\n }\n\n get isEmpty() {\n return this.filter.isEmpty;\n }\n\n get currentValue(): OperatorFilterValue<T> {\n return {\n operator: this.operator,\n value: this.value,\n };\n }\n\n init() {\n const dispose = reaction(\n () => this.filter.value,\n (filterValue) => {\n this.operator = filterValue.operator;\n this.value = filterValue.value;\n },\n { fireImmediately: true },\n );\n\n return () => {\n dispose();\n };\n }\n\n remove() {\n this.refreshIfChanged({ actionType: 'remove' });\n }\n\n setOperator(operator: FilterOperator) {\n this.operator = operator;\n if (!this.operatorNeedsValue()) {\n this.value = null;\n }\n this.applyImmediately();\n }\n\n setValue(value: T | null) {\n this.value = value;\n this.onChange();\n }\n\n /**\n * Called when value changes - debounced\n */\n onChange() {\n this.debouncedRefresh();\n }\n\n /**\n * Apply filter changes immediately (used for operator changes)\n */\n applyImmediately() {\n this.refreshIfChanged({ actionType: 'add' });\n }\n\n private refreshIfChanged(\n options: { actionType?: 'add' | 'remove'; clickedValueKey?: string } = {},\n ) {\n const newValue = this.currentValue;\n\n if (this.filter.hasDiff(newValue)) {\n this.filter.setValue(newValue, {\n emitEvents: ['change', 'beforeRefresh', 'refresh'],\n ...options,\n });\n return true;\n }\n\n return false;\n }\n\n /**\n * Check if the given operator requires a value input\n */\n operatorNeedsValue(): boolean {\n return coreOperatorNeedsValue(this.operator);\n }\n}\n"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["_bexCore","require","_mobx","_lodash","OperatorFilterPickerState","filter","toolbar","getPendingFilter","_filter","constructor","params","_params$filter$value","_params$filter$value2","_defineProperty2","default","operator","value","debounceMs","debouncedRefresh","debounce","refreshIfChanged","actionType","makeObservable","observable","isEmpty","computed","init","action","setOperator","setValue","onChange","applyImmediately","currentValue","dispose","reaction","filterValue","fireImmediately","remove","operatorNeedsValue","options","newValue","hasDiff","emitEvents","clickedValueKey","itemKey","coreOperatorNeedsValue","exports"],"sources":["../../../src/state/OperatorFilterPickerState.ts"],"sourcesContent":["import {\n Filter,\n FilterOperator,\n OperatorFilterValue,\n operatorNeedsValue as coreOperatorNeedsValue,\n} from '@wix/bex-core';\nimport { action, computed, makeObservable, observable, reaction } from 'mobx';\nimport { FilterToolbarState } from '../providers';\nimport { debounce } from 'lodash';\n\nexport interface OperatorFilterPickerStateParams<T> {\n toolbar: FilterToolbarState;\n filter: Filter<OperatorFilterValue<T>>;\n /**\n * Debounce delay in milliseconds before applying filter changes\n * @default 300\n */\n debounceMs?: number;\n}\n\nexport class OperatorFilterPickerState<T> {\n readonly toolbar: FilterToolbarState;\n readonly _filter: OperatorFilterPickerStateParams<T>['filter'];\n private readonly debouncedRefresh: () => void;\n\n operator: FilterOperator;\n value: T | null;\n\n get filter() {\n return this.toolbar.getPendingFilter(this._filter);\n }\n\n constructor(params: OperatorFilterPickerStateParams<T>) {\n this.toolbar = params.toolbar;\n this._filter = params.filter;\n this.operator = params.filter.value?.operator!;\n this.value = params.filter.value?.value ?? null;\n\n const debounceMs = params.debounceMs ?? 300;\n this.debouncedRefresh = debounce(\n () => this.refreshIfChanged({ actionType: 'add' }),\n debounceMs,\n );\n\n makeObservable(this, {\n operator: observable,\n value: observable,\n isEmpty: computed,\n init: action,\n setOperator: action,\n setValue: action,\n onChange: action,\n applyImmediately: action,\n });\n }\n\n get isEmpty() {\n return this.filter.isEmpty;\n }\n\n get currentValue(): OperatorFilterValue<T> {\n return {\n operator: this.operator,\n value: this.value,\n };\n }\n\n init() {\n const dispose = reaction(\n () => this.filter.value,\n (filterValue) => {\n this.operator = filterValue.operator;\n this.value = filterValue.value;\n },\n { fireImmediately: true },\n );\n\n return () => {\n dispose();\n };\n }\n\n remove() {\n this.refreshIfChanged({ actionType: 'remove' });\n }\n\n setOperator(operator: FilterOperator) {\n this.operator = operator;\n if (!this.operatorNeedsValue()) {\n this.value = null;\n }\n this.applyImmediately();\n }\n\n setValue(value: T | null) {\n this.value = value;\n this.onChange();\n }\n\n /**\n * Called when value changes - debounced\n */\n onChange() {\n this.debouncedRefresh();\n }\n\n /**\n * Apply filter changes immediately (used for operator changes)\n */\n applyImmediately() {\n this.refreshIfChanged({ actionType: 'add' });\n }\n\n private refreshIfChanged(\n options: { actionType?: 'add' | 'remove'; clickedValueKey?: string } = {},\n ) {\n const newValue = this.currentValue;\n\n if (this.filter.hasDiff(newValue)) {\n this.filter.setValue(newValue, {\n emitEvents: ['change', 'beforeRefresh', 'refresh'],\n ...options,\n clickedValueKey:\n options.clickedValueKey ?? this.filter.itemKey(newValue),\n });\n return true;\n }\n\n return false;\n }\n\n /**\n * Check if the given operator requires a value input\n */\n operatorNeedsValue(): boolean {\n return coreOperatorNeedsValue(this.operator);\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAMA,IAAAC,KAAA,GAAAD,OAAA;AAEA,IAAAE,OAAA,GAAAF,OAAA;AAYO,MAAMG,yBAAyB,CAAI;EAQxC,IAAIC,MAAMA,CAAA,EAAG;IACX,OAAO,IAAI,CAACC,OAAO,CAACC,gBAAgB,CAAC,IAAI,CAACC,OAAO,CAAC;EACpD;EAEAC,WAAWA,CAACC,MAA0C,EAAE;IAAA,IAAAC,oBAAA,EAAAC,qBAAA;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IACtD,IAAI,CAACR,OAAO,GAAGI,MAAM,CAACJ,OAAO;IAC7B,IAAI,CAACE,OAAO,GAAGE,MAAM,CAACL,MAAM;IAC5B,IAAI,CAACU,QAAQ,IAAAJ,oBAAA,GAAGD,MAAM,CAACL,MAAM,CAACW,KAAK,qBAAnBL,oBAAA,CAAqBI,QAAS;IAC9C,IAAI,CAACC,KAAK,GAAG,EAAAJ,qBAAA,GAAAF,MAAM,CAACL,MAAM,CAACW,KAAK,qBAAnBJ,qBAAA,CAAqBI,KAAK,KAAI,IAAI;IAE/C,MAAMC,UAAU,GAAGP,MAAM,CAACO,UAAU,IAAI,GAAG;IAC3C,IAAI,CAACC,gBAAgB,GAAG,IAAAC,gBAAQ,EAC9B,MAAM,IAAI,CAACC,gBAAgB,CAAC;MAAEC,UAAU,EAAE;IAAM,CAAC,CAAC,EAClDJ,UACF,CAAC;IAED,IAAAK,oBAAc,EAAC,IAAI,EAAE;MACnBP,QAAQ,EAAEQ,gBAAU;MACpBP,KAAK,EAAEO,gBAAU;MACjBC,OAAO,EAAEC,cAAQ;MACjBC,IAAI,EAAEC,YAAM;MACZC,WAAW,EAAED,YAAM;MACnBE,QAAQ,EAAEF,YAAM;MAChBG,QAAQ,EAAEH,YAAM;MAChBI,gBAAgB,EAAEJ;IACpB,CAAC,CAAC;EACJ;EAEA,IAAIH,OAAOA,CAAA,EAAG;IACZ,OAAO,IAAI,CAACnB,MAAM,CAACmB,OAAO;EAC5B;EAEA,IAAIQ,YAAYA,CAAA,EAA2B;IACzC,OAAO;MACLjB,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBC,KAAK,EAAE,IAAI,CAACA;IACd,CAAC;EACH;EAEAU,IAAIA,CAAA,EAAG;IACL,MAAMO,OAAO,GAAG,IAAAC,cAAQ,EACtB,MAAM,IAAI,CAAC7B,MAAM,CAACW,KAAK,EACtBmB,WAAW,IAAK;MACf,IAAI,CAACpB,QAAQ,GAAGoB,WAAW,CAACpB,QAAQ;MACpC,IAAI,CAACC,KAAK,GAAGmB,WAAW,CAACnB,KAAK;IAChC,CAAC,EACD;MAAEoB,eAAe,EAAE;IAAK,CAC1B,CAAC;IAED,OAAO,MAAM;MACXH,OAAO,CAAC,CAAC;IACX,CAAC;EACH;EAEAI,MAAMA,CAAA,EAAG;IACP,IAAI,CAACjB,gBAAgB,CAAC;MAAEC,UAAU,EAAE;IAAS,CAAC,CAAC;EACjD;EAEAO,WAAWA,CAACb,QAAwB,EAAE;IACpC,IAAI,CAACA,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAAC,IAAI,CAACuB,kBAAkB,CAAC,CAAC,EAAE;MAC9B,IAAI,CAACtB,KAAK,GAAG,IAAI;IACnB;IACA,IAAI,CAACe,gBAAgB,CAAC,CAAC;EACzB;EAEAF,QAAQA,CAACb,KAAe,EAAE;IACxB,IAAI,CAACA,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACc,QAAQ,CAAC,CAAC;EACjB;;EAEA;AACF;AACA;EACEA,QAAQA,CAAA,EAAG;IACT,IAAI,CAACZ,gBAAgB,CAAC,CAAC;EACzB;;EAEA;AACF;AACA;EACEa,gBAAgBA,CAAA,EAAG;IACjB,IAAI,CAACX,gBAAgB,CAAC;MAAEC,UAAU,EAAE;IAAM,CAAC,CAAC;EAC9C;EAEQD,gBAAgBA,CACtBmB,OAAoE,GAAG,CAAC,CAAC,EACzE;IACA,MAAMC,QAAQ,GAAG,IAAI,CAACR,YAAY;IAElC,IAAI,IAAI,CAAC3B,MAAM,CAACoC,OAAO,CAACD,QAAQ,CAAC,EAAE;MACjC,IAAI,CAACnC,MAAM,CAACwB,QAAQ,CAACW,QAAQ,EAAE;QAC7BE,UAAU,EAAE,CAAC,QAAQ,EAAE,eAAe,EAAE,SAAS,CAAC;QAClD,GAAGH,OAAO;QACVI,eAAe,EACbJ,OAAO,CAACI,eAAe,IAAI,IAAI,CAACtC,MAAM,CAACuC,OAAO,CAACJ,QAAQ;MAC3D,CAAC,CAAC;MACF,OAAO,IAAI;IACb;IAEA,OAAO,KAAK;EACd;;EAEA;AACF;AACA;EACEF,kBAAkBA,CAAA,EAAY;IAC5B,OAAO,IAAAO,2BAAsB,EAAC,IAAI,CAAC9B,QAAQ,CAAC;EAC9C;AACF;AAAC+B,OAAA,CAAA1C,yBAAA,GAAAA,yBAAA","ignoreList":[]}
|