@wix/patterns 1.465.0 → 1.466.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/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/CollectionToolbar.uni.driver.js +4 -0
- package/dist/cjs/components/CollectionToolbar/CollectionToolbar.uni.driver.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/DataExtension/dataExtensionFieldManagement.js +9 -1
- package/dist/cjs/components/DataExtension/dataExtensionFieldManagement.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 +3 -3
- 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/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/array/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/array/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/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/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/object/Edit.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/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/Fade/Fade.st.css.js +2 -2
- package/dist/cjs/components/Fade/Fade.st.css.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/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/SchemaSource/schemaFieldManagement.js +8 -2
- package/dist/cjs/components/SchemaSource/schemaFieldManagement.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 +4 -4
- package/dist/cjs/components/Table/AddFieldColumnHeader.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/ToolbarTitle/ToolbarTitle.js +12 -9
- package/dist/cjs/components/ToolbarTitle/ToolbarTitle.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/schema/entityPageFieldManagement.js +1 -0
- package/dist/cjs/schema/entityPageFieldManagement.js.map +1 -1
- package/dist/cjs/state/CollectionFieldsSourceState.js +1 -0
- package/dist/cjs/state/CollectionFieldsSourceState.js.map +1 -1
- package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
- package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
- package/dist/cjs/state/CustomFields/CustomFieldsPanelState.js +1 -0
- package/dist/cjs/state/CustomFields/CustomFieldsPanelState.js.map +1 -1
- package/dist/cjs/state/EditableTable/utils.js +3 -1
- package/dist/cjs/state/EditableTable/utils.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/ToolbarCollectionState.js +2 -0
- package/dist/cjs/state/ToolbarCollectionState.js.map +1 -1
- package/dist/cjs/state/buildEditableFieldColumns.js +13 -0
- package/dist/cjs/state/buildEditableFieldColumns.js.map +1 -1
- package/dist/cjs/styles.global.css +2 -2
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/docs/ToolbarCollectionState.md +1 -1
- package/dist/docs/index.json +50 -50
- package/dist/dts-bundle/hooks/useEntityPage.d.ts +3 -0
- package/dist/dts-bundle/hooks/usePickerModal.d.ts +3 -0
- package/dist/dts-bundle/index.json +7 -7
- package/dist/dts-bundle/types/Column.d.ts +3 -0
- package/dist/dts-bundle/types/EntityPageState.d.ts +3 -0
- package/dist/dts-bundle/types/EntityPageStateParams.d.ts +3 -0
- package/dist/dts-bundle/types/OnSaveParams.d.ts +3 -0
- package/dist/dts-bundle/types/UseEntityPageParams.d.ts +3 -0
- 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/CmsFieldModal.st.css.js.map +1 -1
- 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/Collapse/Collapse.st.css.js.map +1 -1
- package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
- package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js.map +1 -1
- 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/CollectionTable.st.css.js.map +1 -1
- package/dist/esm/components/CollectionTable/CollectionTableWSRTable.st.css.js +2 -2
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.uni.driver.js +5 -1
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.uni.driver.js.map +1 -1
- package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
- 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/DataExtension/dataExtensionFieldManagement.js +8 -1
- package/dist/esm/components/DataExtension/dataExtensionFieldManagement.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/EditableCell.st.css.js.map +1 -1
- 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/address/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/array/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/Edit.st.css.js.map +1 -1
- 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/Edit.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/number/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/number/Edit.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/object/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/object/Edit.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js.map +1 -1
- 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/url/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js +2 -2
- package/dist/esm/components/EmptyState/EmptyStateBase.st.css.js +2 -2
- package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js +2 -2
- package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js.map +1 -1
- package/dist/esm/components/Fade/Fade.st.css.js +2 -2
- package/dist/esm/components/Heading/Heading.st.css.js +2 -2
- package/dist/esm/components/ImportButton/ImportStepUpload.st.css.js +2 -2
- 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/LoadingRow/LoadingRow.st.css.js.map +1 -1
- 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/MultipleDragOverlayEffect.st.css.js.map +1 -1
- 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/PickerContentAdditionalStep.st.css.js +2 -2
- package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
- package/dist/esm/components/SchemaSource/schemaFieldManagement.js +8 -2
- package/dist/esm/components/SchemaSource/schemaFieldManagement.js.map +1 -1
- package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
- package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
- 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/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/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
- package/dist/esm/components/ToolbarTitle/ToolbarTitle.js +4 -1
- package/dist/esm/components/ToolbarTitle/ToolbarTitle.js.map +1 -1
- package/dist/esm/components/common.st.css.js +2 -2
- package/dist/esm/schema/entityPageFieldManagement.js +1 -0
- package/dist/esm/schema/entityPageFieldManagement.js.map +1 -1
- package/dist/esm/state/CollectionFieldsSourceState.js +1 -0
- package/dist/esm/state/CollectionFieldsSourceState.js.map +1 -1
- package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
- package/dist/esm/state/CustomFields/CustomFieldsPanelState.js +1 -0
- package/dist/esm/state/CustomFields/CustomFieldsPanelState.js.map +1 -1
- package/dist/esm/state/EditableTable/utils.js +3 -1
- package/dist/esm/state/EditableTable/utils.js.map +1 -1
- package/dist/esm/state/FormPage/FormPageHeader.st.css.js +2 -2
- package/dist/esm/state/ToolbarCollectionState.js +2 -1
- package/dist/esm/state/ToolbarCollectionState.js.map +1 -1
- package/dist/esm/state/buildEditableFieldColumns.js +13 -0
- package/dist/esm/state/buildEditableFieldColumns.js.map +1 -1
- package/dist/esm/styles.global.css +2 -2
- package/dist/esm/version.js +1 -1
- package/dist/types/components/CmsFieldManagement/CmsFieldForm.st.css.d.ts.map +1 -1
- package/dist/types/components/CmsFieldManagement/CmsFieldModal.st.css.d.ts.map +1 -1
- package/dist/types/components/Collapse/Collapse.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionPageNew/CollectionPage.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionTable/CollectionTable.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionTable/CollectionTable.uni.driver.d.ts +2 -0
- package/dist/types/components/CollectionTable/CollectionTable.uni.driver.d.ts.map +1 -1
- package/dist/types/components/CollectionToolbar/CollectionToolbar.uni.driver.d.ts +4 -0
- package/dist/types/components/CollectionToolbar/CollectionToolbar.uni.driver.d.ts.map +1 -1
- package/dist/types/components/DataExtension/dataExtensionFieldManagement.d.ts.map +1 -1
- package/dist/types/components/EditableTable/EditableCell.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/EditableTable.uni.driver.d.ts +2 -0
- package/dist/types/components/EditableTable/EditableTable.uni.driver.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/boolean/Edit.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/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/number/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/number/View.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/object/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/select/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/url/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EntityPage/EntityPagePlain.st.css.d.ts.map +1 -1
- package/dist/types/components/Grid/Grid.uni.driver.d.ts +2 -0
- package/dist/types/components/Grid/Grid.uni.driver.d.ts.map +1 -1
- package/dist/types/components/Grid/GridFolders.uni.driver.d.ts +3 -0
- package/dist/types/components/Grid/GridFolders.uni.driver.d.ts.map +1 -1
- package/dist/types/components/Grid/GridFoldersSection.uni.driver.d.ts +1 -0
- package/dist/types/components/Grid/GridFoldersSection.uni.driver.d.ts.map +1 -1
- package/dist/types/components/Kanban/Kanban.uni.driver.d.ts +1 -0
- package/dist/types/components/Kanban/Kanban.uni.driver.d.ts.map +1 -1
- package/dist/types/components/LoadingRow/LoadingRow.st.css.d.ts.map +1 -1
- package/dist/types/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.d.ts.map +1 -1
- package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts +3 -0
- package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts.map +1 -1
- package/dist/types/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.d.ts.map +1 -1
- package/dist/types/components/SchemaSource/schemaFieldManagement.d.ts.map +1 -1
- package/dist/types/components/ScrollableContent/ScrollableContent.st.css.d.ts.map +1 -1
- package/dist/types/components/Table/Table.uni.driver.d.ts +2 -0
- package/dist/types/components/Table/Table.uni.driver.d.ts.map +1 -1
- package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts +3 -0
- package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts.map +1 -1
- package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts +3 -0
- package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts.map +1 -1
- package/dist/types/components/ToolbarTitle/ToolbarTitle.d.ts.map +1 -1
- package/dist/types/schema/entityPageFieldManagement.d.ts.map +1 -1
- package/dist/types/state/CollectionFieldsSourceState.d.ts.map +1 -1
- package/dist/types/state/CustomFields/CustomFieldsPanelState.d.ts.map +1 -1
- package/dist/types/state/EditableTable/utils.d.ts.map +1 -1
- package/dist/types/state/ToolbarCollectionState.d.ts +1 -1
- package/dist/types/state/ToolbarCollectionState.d.ts.map +1 -1
- package/dist/types/state/buildEditableFieldColumns.d.ts.map +1 -1
- package/dist/types/testkit/enzyme.d.ts +15 -0
- package/dist/types/testkit/enzyme.d.ts.map +1 -1
- package/dist/types/testkit/jsdom.d.ts +18 -0
- package/dist/types/testkit/jsdom.d.ts.map +1 -1
- package/dist/types/testkit/playwright.d.ts +17 -0
- package/dist/types/testkit/playwright.d.ts.map +1 -1
- package/dist/types/testkit/puppeteer.d.ts +18 -0
- package/dist/types/testkit/puppeteer.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +7 -7
- 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/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/CollectionToolbar.uni.driver.ts +7 -0
- 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/DataExtension/dataExtensionFieldManagement.ts +14 -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/address/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/array/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/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/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/object/View.st.css.ts +2 -2
- 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/Fade/Fade.st.css.ts +2 -2
- package/src/components/Heading/Heading.st.css.ts +2 -2
- 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/SchemaSource/schemaFieldManagement.ts +8 -2
- 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/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/ToolbarTitle/ToolbarTitle.tsx +4 -1
- package/src/components/common.st.css.ts +2 -2
- package/src/schema/entityPageFieldManagement.ts +1 -0
- package/src/state/CollectionFieldsSourceState.ts +1 -0
- package/src/state/CollectionPage/CollectionPageHeader.st.css.ts +2 -2
- package/src/state/CustomFields/CustomFieldsPanelState.ts +1 -0
- package/src/state/EditableTable/utils.ts +5 -1
- package/src/state/FormPage/FormPageHeader.st.css.ts +2 -2
- package/src/state/ToolbarCollectionState.ts +3 -1
- package/src/state/buildEditableFieldColumns.ts +13 -0
- package/src/styles.global.css +2 -2
- package/src/version.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bexCore","require","_mobx","_fieldTypeActions","CustomFieldsPanelState","constructor","params","_defineProperty2","default","reportBi","closeSidePanel","fieldsSource","container","archive","archiveFieldModal","ArchiveFieldModalState","archiver","customFieldModal","CustomFieldModalState","fieldManagement","fieldCount","manageableFields","length","deleteFieldModal","DeleteFieldModalState","deleteField","id","origin","items","closePanel","undefined","sourceMenu","createFieldActionsMenu","fieldActionsMenu","args","config","field","fields","find","f","fieldId","definition","resolveFieldTypeDefinition","extras","buildFieldTypeActionGroup","mergeFieldTypeActions","makeAutoObservable","openCustomFieldModal","customFieldModalBiReporter","reset","mode","customOrigin","lockedProperties","reportAddCustomField","formSnapshot","setDefaultPermissions","_this$fieldsSource$fi","formValues","getFieldDraft","setFormValues","disablePermissionCheckboxes","applyInitialField","initialField","modalState","modal","open","exports"],"sources":["../../../../src/state/CustomFields/CustomFieldsPanelState.ts"],"sourcesContent":["import {\n ArchiveFieldModalState,\n CustomFieldModalState,\n CustomFieldOrigin,\n DeleteFieldModalState,\n FieldsSource,\n OpenFieldModalOptions,\n ReportBI,\n WixPatternsContainer,\n resolveFieldTypeDefinition,\n} from '@wix/bex-core';\nimport { makeAutoObservable } from 'mobx';\nimport type { FieldActionsMenuConfig } from '../../components/FieldActions';\nimport {\n buildFieldTypeActionGroup,\n mergeFieldTypeActions,\n} from '../../components/FieldActions/fieldTypeActions';\n\n/** Builds the per-field action popover (edit / archive / delete …) for a field. */\nexport type FieldActionsMenuBuilder = (args: {\n fieldId: string;\n origin: CustomFieldOrigin;\n location: string;\n}) => FieldActionsMenuConfig | null;\n\nexport interface CustomFieldsPanelStateParams {\n readonly reportBi: ReportBI;\n readonly closeSidePanel: () => unknown;\n readonly fieldsSource: FieldsSource;\n readonly container: WixPatternsContainer;\n /**\n * The source's per-field menu, as a factory over the panel it belongs to (its\n * handlers call back into this panel's modals). Built once in the constructor.\n */\n readonly createFieldActionsMenu: (\n panel: CustomFieldsPanelState,\n ) => FieldActionsMenuBuilder;\n}\n\nexport class CustomFieldsPanelState {\n readonly reportBi;\n readonly closeSidePanel;\n readonly fieldsSource;\n readonly container;\n readonly customFieldModal;\n readonly archiveFieldModal?: ArchiveFieldModalState;\n readonly deleteFieldModal: DeleteFieldModalState;\n /** The per-field action popover. The source supplies it; CustomFieldItem reads it. */\n readonly fieldActionsMenu: FieldActionsMenuBuilder;\n\n constructor(params: CustomFieldsPanelStateParams) {\n this.reportBi = params.reportBi;\n this.closeSidePanel = params.closeSidePanel;\n this.fieldsSource = params.fieldsSource;\n this.container = params.container;\n\n if (params.fieldsSource.archive) {\n this.archiveFieldModal = new ArchiveFieldModalState({\n reportBi: this.reportBi,\n archiver: params.fieldsSource.archive,\n });\n }\n this.customFieldModal = new CustomFieldModalState({\n reportBi: this.reportBi,\n fieldManagement: params.fieldsSource.fieldManagement!,\n container: params.container,\n fieldCount: () => params.fieldsSource.manageableFields.length,\n });\n // The delete runs through the source's own deleteField (which reports its\n // own toast) and reconciles the archived-items list when archiving exists.\n this.deleteFieldModal = new DeleteFieldModalState({\n reportBi: this.reportBi,\n fieldManagement: {\n deleteField: (id, origin) =>\n params.fieldsSource.fieldManagement!.deleteField(id, origin),\n },\n archive: params.fieldsSource.archive ?? {\n items: [],\n closePanel: () => undefined,\n },\n });\n // A custom field type's extra actions render on every surface's menu, so\n // they're appended here — after the source built its own menu — rather\n // than inside each source's builder.\n const sourceMenu = params.createFieldActionsMenu(this);\n this.fieldActionsMenu = (args) => {\n const config = sourceMenu(args);\n const field = this.fieldsSource.fields.find((f) => f.id === args.fieldId);\n const definition = field\n ? resolveFieldTypeDefinition(this.fieldsSource, field)\n : undefined;\n const extras =\n field && definition\n ? buildFieldTypeActionGroup({ field, definition })\n : [];\n return mergeFieldTypeActions(config, extras);\n };\n makeAutoObservable(this, {\n // A function that builds (doesn't mutate) the popover — not an action. It's\n // set once here and never reassigned, so it needn't be observable either.\n fieldActionsMenu: false,\n });\n }\n\n get fieldManagement() {\n return this.fieldsSource.fieldManagement;\n }\n get manageableFields() {\n return this.fieldsSource.manageableFields;\n }\n get archive() {\n return this.fieldsSource.archive;\n }\n\n openCustomFieldModal(\n params: Omit<OpenFieldModalOptions, 'origin'> & {\n origin: CustomFieldOrigin;\n },\n ) {\n const { customFieldModal } = this;\n const { customFieldModalBiReporter } = customFieldModal;\n\n customFieldModal.reset();\n customFieldModal.mode = params.fieldId ? 'edit' : 'new';\n customFieldModal.origin = params.origin;\n customFieldModal.customOrigin = params.customOrigin;\n customFieldModal.lockedProperties = params.lockedProperties ?? [];\n\n !params.fieldId &&\n customFieldModalBiReporter.reportAddCustomField({\n origin: params.origin,\n customOrigin: params.customOrigin,\n });\n\n customFieldModalBiReporter.formSnapshot = null;\n customFieldModal.setDefaultPermissions();\n\n if (params.fieldId) {\n const formValues = this.fieldsSource.fieldManagement?.getFieldDraft(\n params.fieldId,\n );\n if (!formValues) {\n return;\n }\n customFieldModal.setFormValues(formValues, {\n disablePermissionCheckboxes: true,\n });\n customFieldModalBiReporter.formSnapshot = formValues;\n } else {\n customFieldModal.applyInitialField(params.initialField);\n }\n\n customFieldModal.modalState.modal.open();\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAWA,IAAAC,KAAA,GAAAD,OAAA;AAEA,IAAAE,iBAAA,GAAAF,OAAA;AAKA;;AAqBO,MAAMG,sBAAsB,CAAC;EAWlCC,WAAWA,CAACC,MAAoC,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;IAHlD;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAIE,IAAI,CAACC,QAAQ,GAAGH,MAAM,CAACG,QAAQ;IAC/B,IAAI,CAACC,cAAc,GAAGJ,MAAM,CAACI,cAAc;IAC3C,IAAI,CAACC,YAAY,GAAGL,MAAM,CAACK,YAAY;IACvC,IAAI,CAACC,SAAS,GAAGN,MAAM,CAACM,SAAS;IAEjC,IAAIN,MAAM,CAACK,YAAY,CAACE,OAAO,EAAE;MAC/B,IAAI,CAACC,iBAAiB,GAAG,IAAIC,+BAAsB,CAAC;QAClDN,QAAQ,EAAE,IAAI,CAACA,QAAQ;QACvBO,QAAQ,EAAEV,MAAM,CAACK,YAAY,CAACE;MAChC,CAAC,CAAC;IACJ;IACA,IAAI,CAACI,gBAAgB,GAAG,IAAIC,8BAAqB,CAAC;MAChDT,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBU,eAAe,EAAEb,MAAM,CAACK,YAAY,CAACQ,eAAgB;MACrDP,SAAS,EAAEN,MAAM,CAACM,SAAS;MAC3BQ,UAAU,EAAEA,CAAA,KAAMd,MAAM,CAACK,YAAY,CAACU,gBAAgB,CAACC;IACzD,CAAC,CAAC;IACF;IACA;IACA,IAAI,CAACC,gBAAgB,GAAG,IAAIC,8BAAqB,CAAC;MAChDf,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBU,eAAe,EAAE;QACfM,WAAW,EAAEA,CAACC,EAAE,EAAEC,MAAM,KACtBrB,MAAM,CAACK,YAAY,CAACQ,eAAe,CAAEM,WAAW,CAACC,EAAE,EAAEC,MAAM;MAC/D,CAAC;MACDd,OAAO,EAAEP,MAAM,CAACK,YAAY,CAACE,OAAO,IAAI;QACtCe,KAAK,EAAE,EAAE;QACTC,UAAU,EAAEA,CAAA,KAAMC;MACpB;IACF,CAAC,CAAC;IACF;IACA;IACA;IACA,MAAMC,UAAU,GAAGzB,MAAM,CAAC0B,sBAAsB,CAAC,IAAI,CAAC;IACtD,IAAI,CAACC,gBAAgB,GAAIC,IAAI,IAAK;MAChC,MAAMC,MAAM,GAAGJ,UAAU,CAACG,IAAI,CAAC;MAC/B,MAAME,KAAK,GAAG,IAAI,CAACzB,YAAY,CAAC0B,MAAM,CAACC,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACb,EAAE,KAAKQ,IAAI,CAACM,OAAO,CAAC;MACzE,MAAMC,UAAU,GAAGL,KAAK,GACpB,IAAAM,mCAA0B,EAAC,IAAI,CAAC/B,YAAY,EAAEyB,KAAK,CAAC,GACpDN,SAAS;MACb,MAAMa,MAAM,GACVP,KAAK,IAAIK,UAAU,GACf,IAAAG,2CAAyB,EAAC;QAAER,KAAK;QAAEK;MAAW,CAAC,CAAC,GAChD,EAAE;MACR,OAAO,IAAAI,uCAAqB,EAACV,MAAM,EAAEQ,MAAM,CAAC;IAC9C,CAAC;IACD,IAAAG,wBAAkB,EAAC,IAAI,EAAE;MACvB;MACA;MACAb,gBAAgB,EAAE;IACpB,CAAC,CAAC;EACJ;EAEA,IAAId,eAAeA,CAAA,EAAG;IACpB,OAAO,IAAI,CAACR,YAAY,CAACQ,eAAe;EAC1C;EACA,IAAIE,gBAAgBA,CAAA,EAAG;IACrB,OAAO,IAAI,CAACV,YAAY,CAACU,gBAAgB;EAC3C;EACA,IAAIR,OAAOA,CAAA,EAAG;IACZ,OAAO,IAAI,CAACF,YAAY,CAACE,OAAO;EAClC;EAEAkC,oBAAoBA,CAClBzC,MAEC,EACD;IACA,MAAM;MAAEW;IAAiB,CAAC,GAAG,IAAI;IACjC,MAAM;MAAE+B;IAA2B,CAAC,GAAG/B,gBAAgB;IAEvDA,gBAAgB,CAACgC,KAAK,CAAC,CAAC;IACxBhC,gBAAgB,CAACiC,IAAI,GAAG5C,MAAM,CAACkC,OAAO,GAAG,MAAM,GAAG,KAAK;IACvDvB,gBAAgB,CAACU,MAAM,GAAGrB,MAAM,CAACqB,MAAM;IACvCV,gBAAgB,CAACkC,YAAY,GAAG7C,MAAM,CAAC6C,YAAY;IACnDlC,gBAAgB,CAACmC,gBAAgB,GAAG9C,MAAM,CAAC8C,gBAAgB,IAAI,EAAE;
|
|
1
|
+
{"version":3,"names":["_bexCore","require","_mobx","_fieldTypeActions","CustomFieldsPanelState","constructor","params","_defineProperty2","default","reportBi","closeSidePanel","fieldsSource","container","archive","archiveFieldModal","ArchiveFieldModalState","archiver","customFieldModal","CustomFieldModalState","fieldManagement","fieldCount","manageableFields","length","deleteFieldModal","DeleteFieldModalState","deleteField","id","origin","items","closePanel","undefined","sourceMenu","createFieldActionsMenu","fieldActionsMenu","args","config","field","fields","find","f","fieldId","definition","resolveFieldTypeDefinition","extras","buildFieldTypeActionGroup","mergeFieldTypeActions","makeAutoObservable","openCustomFieldModal","customFieldModalBiReporter","reset","mode","customOrigin","lockedProperties","onSave","reportAddCustomField","formSnapshot","setDefaultPermissions","_this$fieldsSource$fi","formValues","getFieldDraft","setFormValues","disablePermissionCheckboxes","applyInitialField","initialField","modalState","modal","open","exports"],"sources":["../../../../src/state/CustomFields/CustomFieldsPanelState.ts"],"sourcesContent":["import {\n ArchiveFieldModalState,\n CustomFieldModalState,\n CustomFieldOrigin,\n DeleteFieldModalState,\n FieldsSource,\n OpenFieldModalOptions,\n ReportBI,\n WixPatternsContainer,\n resolveFieldTypeDefinition,\n} from '@wix/bex-core';\nimport { makeAutoObservable } from 'mobx';\nimport type { FieldActionsMenuConfig } from '../../components/FieldActions';\nimport {\n buildFieldTypeActionGroup,\n mergeFieldTypeActions,\n} from '../../components/FieldActions/fieldTypeActions';\n\n/** Builds the per-field action popover (edit / archive / delete …) for a field. */\nexport type FieldActionsMenuBuilder = (args: {\n fieldId: string;\n origin: CustomFieldOrigin;\n location: string;\n}) => FieldActionsMenuConfig | null;\n\nexport interface CustomFieldsPanelStateParams {\n readonly reportBi: ReportBI;\n readonly closeSidePanel: () => unknown;\n readonly fieldsSource: FieldsSource;\n readonly container: WixPatternsContainer;\n /**\n * The source's per-field menu, as a factory over the panel it belongs to (its\n * handlers call back into this panel's modals). Built once in the constructor.\n */\n readonly createFieldActionsMenu: (\n panel: CustomFieldsPanelState,\n ) => FieldActionsMenuBuilder;\n}\n\nexport class CustomFieldsPanelState {\n readonly reportBi;\n readonly closeSidePanel;\n readonly fieldsSource;\n readonly container;\n readonly customFieldModal;\n readonly archiveFieldModal?: ArchiveFieldModalState;\n readonly deleteFieldModal: DeleteFieldModalState;\n /** The per-field action popover. The source supplies it; CustomFieldItem reads it. */\n readonly fieldActionsMenu: FieldActionsMenuBuilder;\n\n constructor(params: CustomFieldsPanelStateParams) {\n this.reportBi = params.reportBi;\n this.closeSidePanel = params.closeSidePanel;\n this.fieldsSource = params.fieldsSource;\n this.container = params.container;\n\n if (params.fieldsSource.archive) {\n this.archiveFieldModal = new ArchiveFieldModalState({\n reportBi: this.reportBi,\n archiver: params.fieldsSource.archive,\n });\n }\n this.customFieldModal = new CustomFieldModalState({\n reportBi: this.reportBi,\n fieldManagement: params.fieldsSource.fieldManagement!,\n container: params.container,\n fieldCount: () => params.fieldsSource.manageableFields.length,\n });\n // The delete runs through the source's own deleteField (which reports its\n // own toast) and reconciles the archived-items list when archiving exists.\n this.deleteFieldModal = new DeleteFieldModalState({\n reportBi: this.reportBi,\n fieldManagement: {\n deleteField: (id, origin) =>\n params.fieldsSource.fieldManagement!.deleteField(id, origin),\n },\n archive: params.fieldsSource.archive ?? {\n items: [],\n closePanel: () => undefined,\n },\n });\n // A custom field type's extra actions render on every surface's menu, so\n // they're appended here — after the source built its own menu — rather\n // than inside each source's builder.\n const sourceMenu = params.createFieldActionsMenu(this);\n this.fieldActionsMenu = (args) => {\n const config = sourceMenu(args);\n const field = this.fieldsSource.fields.find((f) => f.id === args.fieldId);\n const definition = field\n ? resolveFieldTypeDefinition(this.fieldsSource, field)\n : undefined;\n const extras =\n field && definition\n ? buildFieldTypeActionGroup({ field, definition })\n : [];\n return mergeFieldTypeActions(config, extras);\n };\n makeAutoObservable(this, {\n // A function that builds (doesn't mutate) the popover — not an action. It's\n // set once here and never reassigned, so it needn't be observable either.\n fieldActionsMenu: false,\n });\n }\n\n get fieldManagement() {\n return this.fieldsSource.fieldManagement;\n }\n get manageableFields() {\n return this.fieldsSource.manageableFields;\n }\n get archive() {\n return this.fieldsSource.archive;\n }\n\n openCustomFieldModal(\n params: Omit<OpenFieldModalOptions, 'origin'> & {\n origin: CustomFieldOrigin;\n },\n ) {\n const { customFieldModal } = this;\n const { customFieldModalBiReporter } = customFieldModal;\n\n customFieldModal.reset();\n customFieldModal.mode = params.fieldId ? 'edit' : 'new';\n customFieldModal.origin = params.origin;\n customFieldModal.customOrigin = params.customOrigin;\n customFieldModal.lockedProperties = params.lockedProperties ?? [];\n customFieldModal.onSave = params.onSave;\n\n !params.fieldId &&\n customFieldModalBiReporter.reportAddCustomField({\n origin: params.origin,\n customOrigin: params.customOrigin,\n });\n\n customFieldModalBiReporter.formSnapshot = null;\n customFieldModal.setDefaultPermissions();\n\n if (params.fieldId) {\n const formValues = this.fieldsSource.fieldManagement?.getFieldDraft(\n params.fieldId,\n );\n if (!formValues) {\n return;\n }\n customFieldModal.setFormValues(formValues, {\n disablePermissionCheckboxes: true,\n });\n customFieldModalBiReporter.formSnapshot = formValues;\n } else {\n customFieldModal.applyInitialField(params.initialField);\n }\n\n customFieldModal.modalState.modal.open();\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -44,7 +44,9 @@ function checkValidationRule(rule, value) {
|
|
|
44
44
|
case 'maxLength':
|
|
45
45
|
return typeof value === 'string' && value.length <= rule.value;
|
|
46
46
|
case 'pattern':
|
|
47
|
-
|
|
47
|
+
// An empty value is `required`'s business, not the pattern's — otherwise
|
|
48
|
+
// clearing an optional cell reports a format error and refuses to save.
|
|
49
|
+
return typeof value === 'string' && (value === '' || rule.value.test(value));
|
|
48
50
|
case 'custom':
|
|
49
51
|
return rule.validate(value);
|
|
50
52
|
case 'specificValues':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["cellKey","rowKey","columnId","parseCellKey","key","idx","indexOf","slice","noBorder","exports","top","bottom","left","right","validResult","valid","checkValidationRule","rule","value","type","length","test","validate","values","some","option","id","runCellValidation","rules","typeValidate","translate","errors","push","message","typeError"],"sources":["../../../../src/state/EditableTable/utils.ts"],"sourcesContent":["import type { Translate } from '@wix/bex-core';\nimport type {\n Cell,\n CellBorder,\n ValidationResult,\n ValidationRule,\n} from './types';\n\nexport function cellKey(rowKey: string, columnId: string): string {\n return `${rowKey}:${columnId}`;\n}\n\nexport function parseCellKey(key: string): Cell | null {\n const idx = key.indexOf(':');\n if (idx === -1) {\n return null;\n }\n return { rowKey: key.slice(0, idx), columnId: key.slice(idx + 1) };\n}\n\nexport const noBorder: CellBorder = {\n top: false,\n bottom: false,\n left: false,\n right: false,\n};\n\nexport const validResult: ValidationResult = { valid: true };\n\nfunction checkValidationRule(rule: ValidationRule, value: any): boolean {\n if (value == null && rule.type !== 'required' && rule.type !== 'custom') {\n return true;\n }\n\n switch (rule.type) {\n case 'required':\n return value != null && value !== '';\n case 'min':\n return typeof value === 'number' && value >= rule.value;\n case 'max':\n return typeof value === 'number' && value <= rule.value;\n case 'minLength':\n return typeof value === 'string' && value.length >= rule.value;\n case 'maxLength':\n return typeof value === 'string' && value.length <= rule.value;\n case 'pattern':\n return typeof value === 'string' && rule.value.test(value);\n case 'custom':\n return rule.validate(value);\n case 'specificValues':\n return (\n value == null ||\n value === '' ||\n (typeof value === 'string' &&\n rule.values.some((option) => option.id === value))\n );\n default:\n return true;\n }\n}\n\nexport function runCellValidation(\n value: any,\n rules?: ValidationRule[],\n typeValidate?: (\n value: any,\n rules?: ValidationRule[],\n translate?: Translate,\n ) => string | null,\n translate?: Translate,\n): ValidationResult {\n const errors: string[] = [];\n\n if (rules) {\n for (const rule of rules) {\n if (!checkValidationRule(rule, value)) {\n errors.push(rule.message);\n }\n }\n }\n\n if (typeValidate) {\n const typeError = typeValidate(value, rules, translate);\n if (typeError) {\n errors.push(typeError);\n }\n }\n\n return errors.length === 0 ? validResult : { valid: false, errors };\n}\n"],"mappings":";;;;;;;;AAQO,SAASA,OAAOA,CAACC,MAAc,EAAEC,QAAgB,EAAU;EAChE,OAAO,GAAGD,MAAM,IAAIC,QAAQ,EAAE;AAChC;AAEO,SAASC,YAAYA,CAACC,GAAW,EAAe;EACrD,MAAMC,GAAG,GAAGD,GAAG,CAACE,OAAO,CAAC,GAAG,CAAC;EAC5B,IAAID,GAAG,KAAK,CAAC,CAAC,EAAE;IACd,OAAO,IAAI;EACb;EACA,OAAO;IAAEJ,MAAM,EAAEG,GAAG,CAACG,KAAK,CAAC,CAAC,EAAEF,GAAG,CAAC;IAAEH,QAAQ,EAAEE,GAAG,CAACG,KAAK,CAACF,GAAG,GAAG,CAAC;EAAE,CAAC;AACpE;AAEO,MAAMG,QAAoB,GAAAC,OAAA,CAAAD,QAAA,GAAG;EAClCE,GAAG,EAAE,KAAK;EACVC,MAAM,EAAE,KAAK;EACbC,IAAI,EAAE,KAAK;EACXC,KAAK,EAAE;AACT,CAAC;AAEM,MAAMC,WAA6B,GAAAL,OAAA,CAAAK,WAAA,GAAG;EAAEC,KAAK,EAAE;AAAK,CAAC;AAE5D,SAASC,mBAAmBA,CAACC,IAAoB,EAAEC,KAAU,EAAW;EACtE,IAAIA,KAAK,IAAI,IAAI,IAAID,IAAI,CAACE,IAAI,KAAK,UAAU,IAAIF,IAAI,CAACE,IAAI,KAAK,QAAQ,EAAE;IACvE,OAAO,IAAI;EACb;EAEA,QAAQF,IAAI,CAACE,IAAI;IACf,KAAK,UAAU;MACb,OAAOD,KAAK,IAAI,IAAI,IAAIA,KAAK,KAAK,EAAE;IACtC,KAAK,KAAK;MACR,OAAO,OAAOA,KAAK,KAAK,QAAQ,IAAIA,KAAK,IAAID,IAAI,CAACC,KAAK;IACzD,KAAK,KAAK;MACR,OAAO,OAAOA,KAAK,KAAK,QAAQ,IAAIA,KAAK,IAAID,IAAI,CAACC,KAAK;IACzD,KAAK,WAAW;MACd,OAAO,OAAOA,KAAK,KAAK,QAAQ,IAAIA,KAAK,CAACE,MAAM,IAAIH,IAAI,CAACC,KAAK;IAChE,KAAK,WAAW;MACd,OAAO,OAAOA,KAAK,KAAK,QAAQ,IAAIA,KAAK,CAACE,MAAM,IAAIH,IAAI,CAACC,KAAK;IAChE,KAAK,SAAS;MACZ,
|
|
1
|
+
{"version":3,"names":["cellKey","rowKey","columnId","parseCellKey","key","idx","indexOf","slice","noBorder","exports","top","bottom","left","right","validResult","valid","checkValidationRule","rule","value","type","length","test","validate","values","some","option","id","runCellValidation","rules","typeValidate","translate","errors","push","message","typeError"],"sources":["../../../../src/state/EditableTable/utils.ts"],"sourcesContent":["import type { Translate } from '@wix/bex-core';\nimport type {\n Cell,\n CellBorder,\n ValidationResult,\n ValidationRule,\n} from './types';\n\nexport function cellKey(rowKey: string, columnId: string): string {\n return `${rowKey}:${columnId}`;\n}\n\nexport function parseCellKey(key: string): Cell | null {\n const idx = key.indexOf(':');\n if (idx === -1) {\n return null;\n }\n return { rowKey: key.slice(0, idx), columnId: key.slice(idx + 1) };\n}\n\nexport const noBorder: CellBorder = {\n top: false,\n bottom: false,\n left: false,\n right: false,\n};\n\nexport const validResult: ValidationResult = { valid: true };\n\nfunction checkValidationRule(rule: ValidationRule, value: any): boolean {\n if (value == null && rule.type !== 'required' && rule.type !== 'custom') {\n return true;\n }\n\n switch (rule.type) {\n case 'required':\n return value != null && value !== '';\n case 'min':\n return typeof value === 'number' && value >= rule.value;\n case 'max':\n return typeof value === 'number' && value <= rule.value;\n case 'minLength':\n return typeof value === 'string' && value.length >= rule.value;\n case 'maxLength':\n return typeof value === 'string' && value.length <= rule.value;\n case 'pattern':\n // An empty value is `required`'s business, not the pattern's — otherwise\n // clearing an optional cell reports a format error and refuses to save.\n return (\n typeof value === 'string' && (value === '' || rule.value.test(value))\n );\n case 'custom':\n return rule.validate(value);\n case 'specificValues':\n return (\n value == null ||\n value === '' ||\n (typeof value === 'string' &&\n rule.values.some((option) => option.id === value))\n );\n default:\n return true;\n }\n}\n\nexport function runCellValidation(\n value: any,\n rules?: ValidationRule[],\n typeValidate?: (\n value: any,\n rules?: ValidationRule[],\n translate?: Translate,\n ) => string | null,\n translate?: Translate,\n): ValidationResult {\n const errors: string[] = [];\n\n if (rules) {\n for (const rule of rules) {\n if (!checkValidationRule(rule, value)) {\n errors.push(rule.message);\n }\n }\n }\n\n if (typeValidate) {\n const typeError = typeValidate(value, rules, translate);\n if (typeError) {\n errors.push(typeError);\n }\n }\n\n return errors.length === 0 ? validResult : { valid: false, errors };\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_ = "FormPageHeader1817350168";
|
|
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": "FormPageHeader1817350168__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_ = \"FormPageHeader1817350168\";\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\":\"FormPageHeader1817350168__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,0BAA0B;AAC5C,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;AAAgC,CAAC;AACvD,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":[]}
|
|
@@ -225,12 +225,14 @@ class ToolbarCollectionState {
|
|
|
225
225
|
}));
|
|
226
226
|
(0, _defineProperty2.default)(this, "openCustomFieldModal", ({
|
|
227
227
|
customOrigin,
|
|
228
|
+
onSave,
|
|
228
229
|
initialField,
|
|
229
230
|
lockedProperties
|
|
230
231
|
} = {}) => {
|
|
231
232
|
var _this$collectionField;
|
|
232
233
|
return (_this$collectionField = this.collectionFieldsSource) == null ? void 0 : _this$collectionField.openFieldModal({
|
|
233
234
|
customOrigin,
|
|
235
|
+
onSave,
|
|
234
236
|
initialField,
|
|
235
237
|
lockedProperties
|
|
236
238
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_mobx","require","_bexCore","_model","exports","ViewType","_simplifyColumns","_indexOfCompareFn","_ToolbarBIReporter","_SidePanelsState","_RectState","_BulkActionToolbarState","_util","_ToolbarState","_ColumnSizesState","ToolbarCollectionState","constructor","params","_defineProperty2","default","idArrayFilter","TaskState","moreFiltersButton","ValueBox","appliedFiltersTagList","exportButton","exportModal","importButton","importModal","observable","array","undefined","current","Map","contentPadding","height","top","_this$viewsState","_originQuery$sort","collection","result","originQuery","viewShown","viewsState","views","currentView","id","tabShown","getCurrentTabName","sortOrderApplied","sort","length","JSON","stringify","filtersApplied","filtersKey","filteredListSizeShown","total","column","defaultHidden","hideable","hiddenFromCustomColumnsSelection","isSelected","selectedColumns","customColumnsState","customColumnsProps","customColumnsStateInitialized","initTask","mergedColumns","mergeNewColumns","runInAction","defaultValue","columns","map","col","_toStoredColumn","status","isSuccess","_touched","refresh","setValue","allColumns","sidePanel","close","action","multi","isError","runOnce","retryErrorState","bulk","_selectionStartTime","performance","now","_selectedIds","change","panels","closeSidePanel","type","toggleSelectAll","location","deselectAll","value","selectOne","deselectOne","customOrigin","initialField","lockedProperties","_this$collectionField","collectionFieldsSource","openFieldModal","_this$tagsCollectionS","tagsCollectionState","openManageTagsModal","items","_resetQueryAndAddItems","toolbarBIReporter","newItemCreationEnd","_collection$_optimist","_collection$scrollabl","query","resetFilters","resetSorting","clearResultAndMoveToStart","force","_optimisticActions","createMany","submit","scrollableContent","scrollTo","behavior","container","componentType","toolbar","ToolbarState","fedopsReporter","FedopsReporter","componentName","internalMonitor","MultiCollectionSupport","collections","itemsContentRect","RectState","toolbarRect","SidePanelsState","panelGroupName","queryName","ToolbarBIReporter","reportBi","ev","_commonDynamicBiParams","BulkActionToolbarState","translate","scrollToTop","_this$collection$scro","left","namespace","environment","componentId","join","dataCapsule","createEssentials","reportBiBase","columnSizesState","ColumnSizesState","fqdn","makeObservable","forceRenderIndexes","ref","_userColumns","_extendedColumns","computed","viewsProps","dragAndDropCategories","filtersProps","shouldDisplayFiltersTags","totalStickyContentHeight","showInitialLoader","showEmptyState","showErrorState","hasSubToolbarComponents","containerRect","setFilterTagsPropsIfChanged","_initDefaultSortableColumn","minimizedHeaderHeight","tabsFilterProps","toolbarFiltersStateInitialized","hasToolbarTabs","itemsContentHeight","setNewColumns","addFeatureColumn","setExtendedColumns","_adjustSortWithNewColumns","setToolbarFiltersStateInitialized","activeFiltersEntries","_searchExpanded","showFieldTypeIcons","internalScroll","rect","bottom","right","width","containerTop","_this$containerRect","scrollElementRect","process","env","NODE_ENV","toolbarOffsetTop","sidePanelComponents","isLoading","isIdle","showRefreshLoader","errorStatus","featuredComponents","reorderModeState","_this$_dnd","_dnd","_featuredComponents$a","state","tags","isReorderModeToolbarVisible","_this$reorderModeStat","isReorderModePending","_this$reorderModeStat2","_featureColumns","extendedById","c","merged","extended","get","mergedIds","Set","filter","has","selectedOrderedColumnsOrAll","baseColumns","selectedOrderedColumns","mergeSizes","_viewsState$views$cur","_viewsState$views","_viewsState$views2","currentTab","isPredefined","isPreset","filters","numFiltersInView","_numberFiltersInView","visibleColumnsOrder","title","name","numColumns","numFiltersActive","activeFiltersCount","view","filterName","Object","keys","Array","isArray","tabs","entries","rawFilters","key","flatMap","itemKey","getPendingFilter","_this$pendingQuery","pendingQuery","getApplicableFilter","init","featuresInitializers","hasMultiLevelSorting","skipFilterListeners","_this$collectionField2","biReporters","CollectionBIReporter","tableFeatures","t","tableFeatInit","disposers","reaction","_this$layoutState","layoutState","viewType","next","prev","_skipNextLayoutCoordinator","_cacheRestoredLayout","_flushColumnsToCache","_tryRestoreColumnsFromCache","_tableInit","_columns","replace","fireImmediately","b","addEventListener","bulkSelect","events","modals","actionModal","modal","open","emitter","broadcast","message","num","startTime","loadStart","forEach","_tagsCollectionState$","_this$collectionField3","Promise","all","promise","catch","_t$initTask","loadEnd","e","d","tableColumns","simplifyColumns","featureColumn","push","simplifyColumn","_adjustSelectedColumns","_this$liveRegionRef$c","liveRegionRef","updateColumnWidth","columnId","_this$columnSizesStat","defaultSortableColumns","sortable","defaultSortOrder","sortQuery","field","direction","setSortQuery","slice","layout","_layoutColumnsCache","_this$customColumnsSt","cached","cachedEntry","find","dragAndDrop","indexOfCompareFn","_clearColumnsCache","tableColumnsIds","staleSortEntries","s","remove","emit","scheduleSort","clearResult","openFiltersPanel","openSidePanel","_onSelectAllCheckboxClick","from","_","search","reduce","entry","set","values","getPageFeaturedActions","_e$props","props","disableDefaultPageAction","featuredPageActions"],"sources":["../../../src/state/ToolbarCollectionState.ts"],"sourcesContent":["import {\n action,\n computed,\n makeObservable,\n observable,\n reaction,\n runInAction,\n} from 'mobx';\nimport type {\n ModalState,\n OpenFieldModalOptions,\n QueryPendingState,\n SortOrder,\n WixPatternsContainer,\n} from '@wix/bex-core';\nimport {\n CollectionBIReporter,\n CollectionState,\n FedopsReporter,\n Filter,\n FiltersMap,\n idArrayFilter,\n MultiCollectionSupport,\n ReportBI,\n TaskState,\n ValueBox,\n} from '@wix/bex-core';\nimport {\n Column,\n FilterProps,\n PrivateView,\n TableColumn,\n ViewType,\n} from '../model';\n\nexport { ViewType };\nimport { CustomColumnsProps } from '../components/CustomColumns';\nimport type {\n LiveRegionRefType,\n LiveRegionState,\n TableProps,\n} from '@wix/design-system';\nimport type { AppliedFiltersTagListState } from '../components/AppliedFiltersTagList/AppliedFiltersTagListState';\nimport { ToolbarFeatureInitializer } from './toolbarFeatureInitializer';\nimport { simplifyColumn, simplifyColumns } from './simplifyColumns';\nimport { indexOfCompareFn } from './indexOfCompareFn';\nimport type { CollectionViewsState } from './CollectionViewsState';\nimport { ReactElement } from 'react';\nimport { ToolbarBIReporter } from './ToolbarBIReporter';\nimport { DragAndDropState } from '../components/DragAndDrop';\nimport { CollectionViewsDropdownProps } from '../components/CollectionViewsDropdown';\nimport { ActionCellProps } from '../components/ActionCell';\nimport { ActionCellAPI } from './ItemActionsState';\nimport { CustomColumnsState } from './CustomColumnsState';\nimport { SidePanelsState } from './SidePanelsState';\nimport { CollectionToolbarFiltersState } from '../components/CollectionToolbarFilters/CollectionToolbarFiltersState';\nimport { MultiLevelSortingState } from './MultiLevelSortingState';\nimport { RectState } from './RectState';\nimport { BulkActionToolbarState } from './BulkActionToolbarState';\nimport { addEventListener } from '@wix/bex-core/util';\nimport type { AddApplyFiltersButton } from '../components/FiltersPanel/AddApplyFiltersButton';\nimport { TabsFilterState } from '../components/TabsFilter/TabsFilterState';\nimport { CollectionFieldsSourceState } from './CollectionFieldsSourceState';\nimport { TagsCollectionState } from './TagsCollectionState';\nimport {\n AdditionalFeaturesAvailabilityBIParams,\n FeaturesAvailabilityBIParams,\n} from './FeaturesAvailabilityBIParams';\nimport { ExtensionMenuItemsState } from './ExtensionMenuItemsState';\nimport { ToolbarState } from '../components/CollectionToolbars/ToolbarState';\nimport { MoreActionItemFactory } from '../components/MoreActions/MoreActionsBase';\nimport { ColumnSizesState } from './ColumnSizesState';\n\nexport type Component<C> = () => C;\n\nexport interface ToolbarCollectionStateParamsInitParams {\n featuresInitializers: (ToolbarFeatureInitializer | undefined)[];\n hasMultiLevelSorting?: boolean;\n skipFilterListeners?: boolean;\n}\n\nexport interface LayoutState {\n viewType: ViewType;\n}\n\nexport interface ToolbarCollectionStateParams<T, F extends FiltersMap> {\n readonly container: WixPatternsContainer;\n readonly collection: CollectionState<T, F>;\n readonly componentType: string;\n readonly reportBi?: ReportBI;\n}\n\nexport class ToolbarCollectionState<T, F extends FiltersMap = FiltersMap> {\n readonly collection: CollectionState<T, F>;\n readonly selectedColumns = idArrayFilter<{\n id: string;\n isSelected: boolean;\n }>();\n readonly initTask = new TaskState();\n readonly fedopsReporter;\n readonly dataCapsule;\n readonly toolbar;\n readonly container: WixPatternsContainer;\n readonly namespace;\n readonly reportBi: ReportBI;\n readonly featuredComponents = {\n moreFiltersButton: new ValueBox<Component<{}> | null>(null),\n appliedFiltersTagList: new ValueBox<{\n component: Component<{}>;\n state: AppliedFiltersTagListState<T, F>;\n } | null>(null),\n exportButton: new ValueBox<ReactElement | null>(null),\n exportModal: new ValueBox<ReactElement<{}> | null>(null),\n importButton: new ValueBox<ReactElement | null>(null),\n importModal: new ValueBox<ReactElement<{}> | null>(null),\n };\n readonly toolbarRect;\n readonly itemsContentRect;\n readonly panels;\n readonly bulk;\n readonly multi;\n readonly componentType;\n\n _syncedProps?: {\n useResponsiveLayout?: boolean;\n };\n\n _userColumns: Column[] = []; // columns propagated from user\n _featureColumns: Column[] = observable.array(); // columns propagated from installed features\n _extendedColumns: Column[] = []; // columns propagated from data-extension (can be merged with above?)\n internalScroll = undefined as boolean | undefined;\n customColumnsState: CustomColumnsState<T, F> | null = null;\n customColumnsStateInitialized = false;\n columnSizesState: ColumnSizesState | null = null;\n multiLevelSorting: MultiLevelSortingState<T, F> | null = null;\n liveRegionRef: { current: null | LiveRegionRefType } = {\n current: null,\n };\n collectionFieldsSource: CollectionFieldsSourceState | null = null;\n menuItemExtensions = new Map<string, ExtensionMenuItemsState>();\n tagsCollectionState: TagsCollectionState<T, F> | null = null;\n toolbarFiltersState: CollectionToolbarFiltersState<T, F> | null = null;\n toolbarFiltersStateInitialized = false;\n _dnd: DragAndDropState<T, F> | null = null;\n toolbarBIReporter: ToolbarBIReporter<T, F>;\n filtersProps: FilterProps<any>[] | null = null;\n viewsProps: CollectionViewsDropdownProps<F> | null | undefined = null;\n dragAndDropCategories: (keyof F)[][] | null | undefined = null;\n customColumnsProps: CustomColumnsProps | null | undefined = null;\n selectionProps = new ValueBox<{ showSelection?: boolean }>({});\n featuresAvailability: FeaturesAvailabilityBIParams = {};\n additionalFeaturesAvailability: AdditionalFeaturesAvailabilityBIParams = {};\n actionCell = new ValueBox<\n | undefined\n | ActionCellProps\n | ((item: T, index: number, api: ActionCellAPI<T, F>) => ActionCellProps)\n >(undefined);\n contentPadding = 24;\n contentPaddingPx = `${this.contentPadding}px`;\n\n scrollElementRect = observable<{\n height?: number | null;\n top?: number | null;\n }>({\n height: null,\n top: null,\n });\n scrollTopBeforeUnmount: number | null = null;\n minimizedHeaderHeight = 0;\n tabsFilterProps?: {\n filter: Filter<any>;\n } = undefined;\n viewsState?: CollectionViewsState<T, F>;\n exportState?: ModalState;\n importState?: ModalState;\n pendingQuery?: QueryPendingState;\n AddApplyFiltersButton?: typeof AddApplyFiltersButton;\n tabs?: TabsFilterState<T, F>;\n layoutState?: LayoutState;\n\n // Per-layout in-memory scratchpad of uncommitted column edits.\n _layoutColumnsCache: Partial<\n Record<ViewType, { id: string; isSelected: boolean }[]>\n > = {};\n // Set by the coordinator on cache-hit so per-flow reactions skip the same transition.\n _cacheRestoredLayout?: ViewType;\n // Set by `_onSelectViewAndRefresh` when a view-select changes layout, so the coordinator\n // skips flush/restore — the view-select already loaded the correct columns.\n _skipNextLayoutCoordinator = false;\n\n _searchExpanded = false;\n\n forceRenderIndexes: number[] | undefined = undefined;\n\n constructor(params: ToolbarCollectionStateParams<T, F>) {\n this.collection = params.collection;\n this.container = params.container;\n this.componentType = params.componentType;\n\n this.toolbar = new ToolbarState(this);\n\n this.fedopsReporter = new FedopsReporter({\n componentName: this.componentType,\n collection: this.collection,\n internalMonitor: this.container.internalMonitor,\n });\n\n this.multi = new MultiCollectionSupport<F>({\n collections: [this.collection as CollectionState<unknown, F>],\n });\n\n this.itemsContentRect = new RectState(params);\n this.toolbarRect = new RectState(params);\n\n this.panels = new SidePanelsState({\n container: this.container,\n panelGroupName: this.collection.queryName,\n });\n\n this.toolbarBIReporter = new ToolbarBIReporter<T, F>({\n toolbar: this,\n collection: this.collection,\n reportBi: (ev) => {\n this.reportBi({\n ...ev,\n params: {\n ...this._commonDynamicBiParams(),\n ...ev.params,\n },\n });\n },\n });\n\n this.bulk = new BulkActionToolbarState({\n toolbarBIReporter: this.toolbarBIReporter,\n panels: this.panels,\n multi: this.multi,\n translate: this.container.translate,\n scrollToTop: () => {\n this.collection.scrollableContent?.scrollTo({\n top: 0,\n left: 0,\n });\n },\n });\n\n this.namespace = [\n this.container.environment.componentId,\n this.collection.queryName,\n ].join('.');\n\n const { dataCapsule } = this.container.createEssentials({\n dataCapsule: {\n namespace: this.namespace,\n },\n });\n\n this.dataCapsule = dataCapsule;\n\n const reportBiBase = params.reportBi ?? this.container.reportBi;\n\n this.reportBi = (ev) => {\n reportBiBase({\n ...ev,\n params: {\n ...this._commonDynamicBiParams(),\n ...ev.params,\n },\n });\n };\n\n this.columnSizesState = new ColumnSizesState({\n container: this.container,\n dataCapsule: this.dataCapsule,\n fqdn: this.namespace,\n });\n\n makeObservable(this, {\n forceRenderIndexes: observable.ref,\n _userColumns: observable.ref,\n _extendedColumns: observable.ref,\n columns: computed,\n customColumnsStateInitialized: observable.ref,\n viewsProps: observable.ref,\n dragAndDropCategories: observable.ref,\n customColumnsProps: observable.ref,\n filtersProps: observable.ref,\n shouldDisplayFiltersTags: computed,\n totalStickyContentHeight: computed,\n showInitialLoader: computed,\n showEmptyState: computed,\n showErrorState: computed,\n hasSubToolbarComponents: computed,\n containerRect: computed,\n setFilterTagsPropsIfChanged: action,\n _initDefaultSortableColumn: action,\n minimizedHeaderHeight: observable.ref,\n tabsFilterProps: observable.ref,\n toolbarFiltersStateInitialized: observable.ref,\n hasToolbarTabs: computed,\n itemsContentHeight: computed,\n setNewColumns: action,\n addFeatureColumn: action,\n setExtendedColumns: action,\n _commonDynamicBiParams: action,\n _adjustSortWithNewColumns: action,\n setToolbarFiltersStateInitialized: action,\n activeFiltersEntries: computed,\n _searchExpanded: observable.ref,\n showFieldTypeIcons: observable.ref,\n });\n }\n\n get containerRect() {\n const { itemsContentRect, toolbarRect, internalScroll } = this;\n\n if (internalScroll && itemsContentRect.rect.height) {\n return {\n ...itemsContentRect.rect,\n };\n }\n\n if (itemsContentRect.rect.left && toolbarRect.rect.left) {\n const top = toolbarRect.rect.bottom;\n const bottom = top + itemsContentRect.rect.height;\n const left = toolbarRect.rect.left;\n const right = left + toolbarRect.rect.width;\n return {\n left,\n right,\n top,\n bottom,\n height: bottom - top,\n width: right - left,\n };\n }\n\n return undefined;\n }\n\n get containerTop() {\n return this.containerRect?.top;\n }\n\n /**\n * How much height left for the content inside the viewport\n */\n get itemsContentHeight() {\n const {\n toolbarRect,\n scrollElementRect,\n contentPadding,\n internalScroll,\n itemsContentRect,\n } = this;\n\n if (internalScroll && itemsContentRect.rect.height) {\n return itemsContentRect.rect.height;\n }\n\n if (\n toolbarRect.rect.height == null ||\n toolbarRect.rect.top == null ||\n scrollElementRect.height == null ||\n scrollElementRect.top == null\n ) {\n return 0;\n }\n\n if (process.env.NODE_ENV === 'test') {\n return 796;\n }\n\n const toolbarOffsetTop = toolbarRect.rect.top - scrollElementRect.top;\n\n return (\n scrollElementRect.height -\n toolbarOffsetTop -\n toolbarRect.rect.height -\n contentPadding\n );\n }\n\n get totalStickyContentHeight() {\n const { toolbarRect, minimizedHeaderHeight } = this;\n if (toolbarRect.rect.height == null) {\n return null;\n }\n\n return toolbarRect.rect.height + minimizedHeaderHeight;\n }\n\n get sidePanel() {\n return this.panels.sidePanel;\n }\n\n get sidePanelComponents() {\n return this.panels.sidePanelComponents;\n }\n\n get showInitialLoader() {\n const { multi, initTask } = this;\n\n return (\n multi.showInitialLoader ||\n initTask.status.isLoading ||\n initTask.status.isIdle\n );\n }\n\n get showEmptyState() {\n const {\n showInitialLoader,\n multi: { showRefreshLoader, showEmptyState },\n } = this;\n return showEmptyState && !showInitialLoader && !showRefreshLoader;\n }\n\n get errorStatus() {\n const { initTask, multi } = this;\n return initTask.errorStatus ?? multi.errorStatus;\n }\n\n get showErrorState() {\n const {\n showInitialLoader,\n multi: { showRefreshLoader, showErrorState },\n initTask,\n } = this;\n\n return (\n (showErrorState || initTask.status.isError) &&\n !showInitialLoader &&\n !showRefreshLoader\n );\n }\n\n get hasSubToolbarComponents() {\n const { appliedFiltersTagList } = this.featuredComponents;\n return appliedFiltersTagList.value != null;\n }\n\n get reorderModeState() {\n return this._dnd?.reorderModeState;\n }\n\n get shouldDisplayFiltersTags() {\n const { collectionFieldsSource, featuredComponents } = this;\n\n if (collectionFieldsSource?.initTask.status.isLoading) {\n return false;\n }\n\n return !!featuredComponents.appliedFiltersTagList.value?.state.tags.length;\n }\n\n get hasToolbarTabs() {\n return this.tabsFilterProps != null;\n }\n\n get isReorderModeToolbarVisible() {\n return this.reorderModeState?.isReorderModeToolbarVisible;\n }\n\n get isReorderModePending() {\n return this.reorderModeState?.isReorderModePending;\n }\n\n get columns(): Column[] {\n const { _userColumns, _featureColumns, _extendedColumns } = this;\n // One column per id. When a layout syncs a column a source also provides\n // (e.g. the editable table's cell defs for source fields), the layout's def\n // wins and inherits the source's column metadata; source-only columns fill\n // in the rest.\n const extendedById = new Map(_extendedColumns.map((c) => [c.id, c]));\n const merged = [..._userColumns, ..._featureColumns].map((column) => {\n const extended = extendedById.get(column.id);\n return extended ? { ...extended, ...column } : column;\n });\n const mergedIds = new Set(merged.map((c) => c.id));\n return [...merged, ..._extendedColumns.filter((c) => !mergedIds.has(c.id))];\n }\n\n /**\n * Whether to show field-type prefix icons across the collection UI.\n * Controlled by the `showFieldTypeIcons` prop on the collection component (Table, Grid, etc.).\n * @default false\n */\n showFieldTypeIcons = false;\n\n get selectedOrderedColumnsOrAll() {\n const { columns, customColumnsState, columnSizesState } = this;\n\n const baseColumns = customColumnsState\n ? customColumnsState.selectedOrderedColumns\n : columns;\n\n return columnSizesState?.mergeSizes(baseColumns) ?? baseColumns;\n }\n\n _commonDynamicBiParams(query = this.collection.result.originQuery) {\n const { collection, viewsState } = this;\n\n return {\n componentType: this.componentType,\n ...collection._commonDynamicBiParams(query),\n currentTab: this.getCurrentTabName(),\n ...(viewsState && { currentView: viewsState.views.currentView?.id }),\n ...(viewsState?.views?.currentView && {\n isPredefined: viewsState.views.currentView.isPreset,\n }),\n ...(viewsState?.views?.currentView?.filters && {\n numFiltersInView: this._numberFiltersInView(\n viewsState.views.currentView,\n ),\n }),\n visibleColumnsOrder: this.selectedOrderedColumnsOrAll\n .map((col) => col.id ?? col.title ?? col.name)\n .join(','),\n numColumns: this.selectedOrderedColumnsOrAll.length,\n numFiltersActive: collection.query.activeFiltersCount,\n };\n }\n\n _numberFiltersInView(view: PrivateView<F>) {\n let numFiltersInView = 0;\n\n if (view.filters) {\n for (const filterName of Object.keys(view.filters)) {\n const filter = view.filters[filterName];\n\n if (filter && filter.value) {\n if (Array.isArray(filter.value)) {\n numFiltersInView += filter.value.length;\n } else if (filter.value) {\n numFiltersInView += 1;\n }\n }\n }\n }\n\n return numFiltersInView;\n }\n\n getCurrentTabName() {\n const {\n tabsFilterProps,\n collection: {\n result: { originQuery: query },\n },\n } = this;\n\n const tabs =\n tabsFilterProps &&\n Object.entries(query.rawFilters)\n .filter(([key]) => key === tabsFilterProps.filter.name)\n .flatMap(([, value]) =>\n Array.isArray(value)\n ? value.map(tabsFilterProps.filter.itemKey)\n : value,\n );\n\n return tabs?.[0] as string;\n }\n\n getCollectionSnapshot = (): {\n [key: string]: string | number | undefined;\n } => {\n const {\n collection: {\n result: { originQuery },\n },\n } = this;\n\n return {\n viewShown: this.viewsState?.views.currentView?.id,\n tabShown: this.getCurrentTabName(),\n sortOrderApplied: originQuery.sort?.length\n ? JSON.stringify(originQuery.sort)\n : undefined,\n filtersApplied: JSON.stringify(originQuery.filtersKey),\n filteredListSizeShown: this.collection.result.total,\n };\n };\n\n getPendingFilter<A>(filter: A) {\n return this.pendingQuery?.getApplicableFilter(filter) ?? filter;\n }\n\n init({\n featuresInitializers,\n hasMultiLevelSorting,\n skipFilterListeners,\n }: ToolbarCollectionStateParamsInitParams) {\n const {\n collection,\n multi,\n initTask,\n panels,\n sidePanel,\n tagsCollectionState,\n bulk,\n customColumnsState,\n viewsState,\n columnSizesState,\n } = this;\n\n const biReporters = multi.collections.map(\n (collection) =>\n new CollectionBIReporter({\n collection,\n reportBi: (ev) => {\n this.reportBi({\n ...ev,\n params: {\n ...collection._commonDynamicBiParams(),\n ...ev.params,\n },\n });\n },\n }),\n );\n\n // must call `initOptionalFeatures` before collection init because we want to allow features to customize the collection before collection.init\n const tableFeatures = featuresInitializers\n .filter((t): t is ToolbarFeatureInitializer => t != null)\n .map((tableFeatInit) => tableFeatInit(this));\n\n // should be initialized before collection.init() so the sort query will be updated before the time of the first request.\n this._initDefaultSortableColumn(hasMultiLevelSorting);\n\n const disposers = [\n // Must be registered before the per-flow layout reactions so the\n // `_cacheRestoredLayout` gate they read is set first (mobx fires\n // reactions in creation order).\n reaction(\n () => this.layoutState?.viewType,\n (next, prev) => {\n if (!next || !prev || next === prev) {\n return;\n }\n if (this._skipNextLayoutCoordinator) {\n this._skipNextLayoutCoordinator = false;\n this._cacheRestoredLayout = next;\n return;\n }\n this._flushColumnsToCache(prev);\n this._cacheRestoredLayout = this._tryRestoreColumnsFromCache(next)\n ? next\n : undefined;\n },\n ),\n this.collectionFieldsSource?.init(), // the fields source should be initialized and its beforeInitialFetch promise listener registered before customColumnsState?._tableInit() because custom columns might use data extensions\n customColumnsState?._tableInit(),\n viewsState?.init(),\n columnSizesState?.init(),\n // register table feature first as they might register to the collection `beforeInitialFetch`\n ...tableFeatures.map((t) => t.init()),\n reaction(\n () => this.selectedOrderedColumnsOrAll,\n (columns) => {\n collection.query._columns.replace(columns.map((c) => c.id));\n },\n {\n fireImmediately: true,\n },\n ),\n multi.init({ skipFilterListeners }),\n ...biReporters.map((b) => b.init()),\n panels.init(),\n sidePanel.init(),\n bulk.init(),\n tagsCollectionState?.init(),\n addEventListener(\n collection.bulkSelect.events,\n 'openModal',\n this.bulk.modals.actionModal.modal.open,\n ),\n addEventListener(\n collection.bulkSelect.events,\n 'closeModal',\n this.bulk.modals.actionModal.modal.close,\n ),\n addEventListener(this.collection.emitter, 'resultUpdated', () => {\n this.broadcast({\n message: this.container.translate(\n 'cairo.a11y.liveRegion.resultsFound',\n { num: this.collection.result.total },\n ),\n });\n }),\n ];\n\n const startTime = performance.now();\n\n initTask.runOnce(async () => {\n this.toolbarBIReporter.loadStart();\n\n multi.initTask.runOnce();\n customColumnsState?.initTask.runOnce();\n\n tableFeatures.forEach(({ initTask }) => {\n if (initTask) {\n initTask.runOnce();\n }\n });\n\n try {\n await Promise.all([\n multi.initTask.status.promise,\n tagsCollectionState?.initTask.status.promise?.catch(() => null), // resilience to failed request\n this.collectionFieldsSource?.initTask.status.promise?.catch(\n () => null,\n ), // resilience to failed request\n customColumnsState?.initTask.status.promise,\n columnSizesState?.initTask.status.promise,\n ...tableFeatures.map((t) => t.initTask?.status.promise),\n ]);\n\n this.toolbarBIReporter.loadEnd(startTime);\n } catch (e) {\n throw e;\n }\n });\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n\n setFilterTagsPropsIfChanged(filtersProps: FilterProps<any>[] | null) {\n if (this.filtersProps !== filtersProps) {\n this.filtersProps = filtersProps;\n }\n }\n\n _toStoredColumn = (column: Column) => {\n const { id, defaultHidden, hideable, hiddenFromCustomColumnsSelection } =\n column;\n\n return {\n id,\n isSelected:\n !hideable || hiddenFromCustomColumnsSelection || !defaultHidden,\n };\n };\n\n setNewColumns(tableColumns: TableColumn<T>[]) {\n this._userColumns = simplifyColumns(tableColumns);\n }\n\n addFeatureColumn(featureColumn: TableColumn<T>) {\n this._featureColumns.push(simplifyColumn(featureColumn));\n\n this._adjustSelectedColumns();\n }\n\n setExtendedColumns(columns: Column[]) {\n this._extendedColumns = columns;\n this._adjustSelectedColumns();\n }\n\n broadcast(params: LiveRegionState) {\n this.liveRegionRef.current?.broadcast(params);\n }\n\n setToolbarFiltersStateInitialized(value: boolean) {\n this.toolbarFiltersStateInitialized = value;\n }\n\n updateColumnWidth(columnId: string, width: number) {\n this.columnSizesState?.updateColumnWidth(columnId, width);\n }\n\n _initDefaultSortableColumn(hasMultiLevelSorting = false) {\n const {\n columns,\n collection: { query },\n } = this;\n\n const defaultSortableColumns = columns.filter(\n (col): col is Column & { defaultSortOrder: SortOrder } =>\n col.sortable === true && col.id != null && col.defaultSortOrder != null,\n );\n\n if (defaultSortableColumns.length && !query.sort.value.length) {\n const sortQuery = defaultSortableColumns.map((column) => ({\n field: column.id,\n direction: column.defaultSortOrder,\n }));\n\n query.sort.setSortQuery(\n hasMultiLevelSorting ? sortQuery : sortQuery.slice(0, 1),\n );\n }\n }\n\n _adjustSelectedColumns = () => {\n const {\n selectedColumns,\n customColumnsState,\n customColumnsProps,\n customColumnsStateInitialized,\n } = this;\n\n // as long as consumer rendered `<CustomColumns/>` at least once, use `mergeNewColumns` strategy when re-rendering new columns prop\n if (customColumnsProps != null || customColumnsStateInitialized) {\n // if `customColumns` is not set yet - do nothing\n if (customColumnsState) {\n const { initTask } = customColumnsState;\n const mergedColumns = customColumnsState.mergeNewColumns();\n runInAction(() => {\n selectedColumns.defaultValue = this.columns.map((col) => {\n const { id, isSelected } = this._toStoredColumn(col);\n return { id, isSelected };\n });\n });\n if (initTask.status.isSuccess && customColumnsState._touched) {\n selectedColumns.refresh(mergedColumns);\n } else {\n selectedColumns.setValue(mergedColumns);\n }\n }\n } else {\n const allColumns = this.columns.map(({ id }) => ({\n id,\n isSelected: true,\n }));\n selectedColumns.defaultValue = allColumns;\n selectedColumns.setValue(allColumns);\n }\n };\n\n _flushColumnsToCache(layout: ViewType) {\n this._layoutColumnsCache[layout] = this.selectedColumns.value.map(\n ({ id, isSelected }) => ({ id, isSelected }),\n );\n }\n\n _tryRestoreColumnsFromCache(layout: ViewType): boolean {\n const cached = this._layoutColumnsCache[layout];\n if (!cached) {\n return false;\n }\n // Merge against current columns — mirrors `_fetchFromStorage`.\n const merged = this.columns.map((column) => {\n const cachedEntry = cached.find((c) => c.id === column.id);\n if (cachedEntry == null) {\n return this._toStoredColumn(column);\n }\n const { id, hideable, hiddenFromCustomColumnsSelection } = column;\n return {\n id,\n isSelected:\n cachedEntry.isSelected ||\n !hideable ||\n hiddenFromCustomColumnsSelection === true,\n };\n });\n this.selectedColumns.setValue(\n this.customColumnsState?.dragAndDrop\n ? merged.sort(indexOfCompareFn(cached, (e) => e?.id))\n : merged,\n );\n return true;\n }\n\n _clearColumnsCache() {\n this._layoutColumnsCache = {};\n }\n\n _adjustSortWithNewColumns(tableColumns: TableColumn<T>[]) {\n const {\n collection: { query },\n } = this;\n const tableColumnsIds = new Set(tableColumns.map((column) => column.id));\n\n const staleSortEntries = query.sort.value.filter(\n ({ field }) => !tableColumnsIds.has(field),\n );\n\n // Runs on every column add/duplicate, where the sort is still valid.\n // re-sorting there clears the loaded rows and refetches from page 1.\n if (staleSortEntries.length === 0) {\n return;\n }\n\n staleSortEntries.forEach((s) => {\n query.sort.value.remove(s);\n });\n query.sort.events.emit('change');\n this.collection.scheduleSort({ clearResult: true });\n }\n\n closeSidePanel = () => {\n this.sidePanel.close();\n };\n\n openFiltersPanel() {\n this.panels.openSidePanel('filters');\n }\n\n retryErrorState = action(() => {\n const { initTask, multi } = this;\n\n if (initTask.status.isError) {\n initTask.runOnce();\n } else {\n multi.retryErrorState();\n }\n });\n\n onSelectionStarted = () => {\n this.bulk._selectionStartTime = performance.now();\n };\n\n _onSelectAllCheckboxClick() {}\n\n get activeFiltersEntries() {\n return Array.from(\n this.multi.collections\n .flatMap(({ query }) =>\n query.activeFiltersEntries.filter(\n ([_, filter]) => filter !== query.search,\n ),\n )\n .reduce(\n (map, entry) => map.set(entry[0], entry),\n new Map<string, [string, Filter<unknown>]>(),\n )\n .values(),\n );\n }\n\n onSelectionChanged: Required<TableProps>['onSelectionChanged'] = action(\n (_selectedIds, change) => {\n if (change == null) {\n return;\n }\n\n const { panels, bulk } = this;\n\n panels.closeSidePanel();\n\n switch (change.type) {\n case 'ALL':\n bulk.toggleSelectAll({ location: 'Checkbox' });\n break;\n case 'NONE':\n bulk.deselectAll({ location: 'Checkbox' });\n break;\n case 'SINGLE_TOGGLE':\n if (change.value) {\n bulk.selectOne(change.id);\n } else {\n bulk.deselectOne(change.id);\n }\n break;\n }\n },\n );\n\n openCustomFieldModal = ({\n customOrigin,\n initialField,\n lockedProperties,\n }: Pick<\n OpenFieldModalOptions,\n 'customOrigin' | 'initialField' | 'lockedProperties'\n > = {}) => {\n return this.collectionFieldsSource?.openFieldModal({\n customOrigin,\n initialField,\n lockedProperties,\n });\n };\n\n openManageTagsModal = () => {\n return this.tagsCollectionState?.openManageTagsModal();\n };\n\n onAddItemActionComplete = async (items: T[]) => {\n await this._resetQueryAndAddItems(items);\n\n this.toolbarBIReporter.newItemCreationEnd(items);\n };\n\n _resetQueryAndAddItems = async (items: T[]) => {\n const { collection } = this;\n const { query } = collection;\n\n query.resetFilters();\n query.resetSorting();\n\n await collection.clearResultAndMoveToStart({ force: true });\n\n collection._optimisticActions?.createMany(items, {\n submit: async () => items,\n });\n\n collection.scrollableContent?.scrollTo?.({\n top: 0,\n behavior: 'smooth',\n });\n };\n\n getPageFeaturedActions(): MoreActionItemFactory[] {\n const { collectionFieldsSource, tagsCollectionState } = this;\n return [collectionFieldsSource, tagsCollectionState]\n .filter(\n (e): e is CollectionFieldsSourceState | TagsCollectionState<T, F> =>\n e != null,\n )\n .filter((e) => !e.props?.disableDefaultPageAction)\n .flatMap((e) => e.featuredPageActions);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_mobx","require","_bexCore","_model","exports","ViewType","_simplifyColumns","_indexOfCompareFn","_ToolbarBIReporter","_SidePanelsState","_RectState","_BulkActionToolbarState","_util","_ToolbarState","_ColumnSizesState","ToolbarCollectionState","constructor","params","_defineProperty2","default","idArrayFilter","TaskState","moreFiltersButton","ValueBox","appliedFiltersTagList","exportButton","exportModal","importButton","importModal","observable","array","undefined","current","Map","contentPadding","height","top","_this$viewsState","_originQuery$sort","collection","result","originQuery","viewShown","viewsState","views","currentView","id","tabShown","getCurrentTabName","sortOrderApplied","sort","length","JSON","stringify","filtersApplied","filtersKey","filteredListSizeShown","total","column","defaultHidden","hideable","hiddenFromCustomColumnsSelection","isSelected","selectedColumns","customColumnsState","customColumnsProps","customColumnsStateInitialized","initTask","mergedColumns","mergeNewColumns","runInAction","defaultValue","columns","map","col","_toStoredColumn","status","isSuccess","_touched","refresh","setValue","allColumns","sidePanel","close","action","multi","isError","runOnce","retryErrorState","bulk","_selectionStartTime","performance","now","_selectedIds","change","panels","closeSidePanel","type","toggleSelectAll","location","deselectAll","value","selectOne","deselectOne","customOrigin","onSave","initialField","lockedProperties","_this$collectionField","collectionFieldsSource","openFieldModal","_this$tagsCollectionS","tagsCollectionState","openManageTagsModal","items","_resetQueryAndAddItems","toolbarBIReporter","newItemCreationEnd","_collection$_optimist","_collection$scrollabl","query","resetFilters","resetSorting","clearResultAndMoveToStart","force","_optimisticActions","createMany","submit","scrollableContent","scrollTo","behavior","container","componentType","toolbar","ToolbarState","fedopsReporter","FedopsReporter","componentName","internalMonitor","MultiCollectionSupport","collections","itemsContentRect","RectState","toolbarRect","SidePanelsState","panelGroupName","queryName","ToolbarBIReporter","reportBi","ev","_commonDynamicBiParams","BulkActionToolbarState","translate","scrollToTop","_this$collection$scro","left","namespace","environment","componentId","join","dataCapsule","createEssentials","reportBiBase","columnSizesState","ColumnSizesState","fqdn","makeObservable","forceRenderIndexes","ref","_userColumns","_extendedColumns","computed","viewsProps","dragAndDropCategories","filtersProps","shouldDisplayFiltersTags","totalStickyContentHeight","showInitialLoader","showEmptyState","showErrorState","hasSubToolbarComponents","containerRect","setFilterTagsPropsIfChanged","_initDefaultSortableColumn","minimizedHeaderHeight","tabsFilterProps","toolbarFiltersStateInitialized","hasToolbarTabs","itemsContentHeight","setNewColumns","addFeatureColumn","setExtendedColumns","_adjustSortWithNewColumns","setToolbarFiltersStateInitialized","activeFiltersEntries","_searchExpanded","showFieldTypeIcons","internalScroll","rect","bottom","right","width","containerTop","_this$containerRect","scrollElementRect","process","env","NODE_ENV","toolbarOffsetTop","sidePanelComponents","isLoading","isIdle","showRefreshLoader","errorStatus","featuredComponents","reorderModeState","_this$_dnd","_dnd","_featuredComponents$a","state","tags","isReorderModeToolbarVisible","_this$reorderModeStat","isReorderModePending","_this$reorderModeStat2","_featureColumns","extendedById","c","merged","extended","get","mergedIds","Set","filter","has","selectedOrderedColumnsOrAll","baseColumns","selectedOrderedColumns","mergeSizes","_viewsState$views$cur","_viewsState$views","_viewsState$views2","currentTab","isPredefined","isPreset","filters","numFiltersInView","_numberFiltersInView","visibleColumnsOrder","title","name","numColumns","numFiltersActive","activeFiltersCount","view","filterName","Object","keys","Array","isArray","tabs","entries","rawFilters","key","flatMap","itemKey","getPendingFilter","_this$pendingQuery","pendingQuery","getApplicableFilter","init","featuresInitializers","hasMultiLevelSorting","skipFilterListeners","_this$collectionField2","biReporters","CollectionBIReporter","tableFeatures","t","tableFeatInit","disposers","reaction","_this$layoutState","layoutState","viewType","next","prev","_skipNextLayoutCoordinator","_cacheRestoredLayout","_flushColumnsToCache","_tryRestoreColumnsFromCache","_tableInit","_columns","replace","fireImmediately","b","addEventListener","bulkSelect","events","modals","actionModal","modal","open","emitter","broadcast","message","num","startTime","loadStart","forEach","_tagsCollectionState$","_this$collectionField3","Promise","all","promise","catch","_t$initTask","loadEnd","e","d","tableColumns","simplifyColumns","featureColumn","push","simplifyColumn","_adjustSelectedColumns","_this$liveRegionRef$c","liveRegionRef","updateColumnWidth","columnId","_this$columnSizesStat","defaultSortableColumns","sortable","defaultSortOrder","sortQuery","field","direction","setSortQuery","slice","layout","_layoutColumnsCache","_this$customColumnsSt","cached","cachedEntry","find","dragAndDrop","indexOfCompareFn","_clearColumnsCache","tableColumnsIds","staleSortEntries","s","remove","emit","scheduleSort","clearResult","openFiltersPanel","openSidePanel","_onSelectAllCheckboxClick","from","_","search","reduce","entry","set","values","getPageFeaturedActions","_e$props","props","disableDefaultPageAction","featuredPageActions"],"sources":["../../../src/state/ToolbarCollectionState.ts"],"sourcesContent":["import {\n action,\n computed,\n makeObservable,\n observable,\n reaction,\n runInAction,\n} from 'mobx';\nimport type {\n ModalState,\n OpenFieldModalOptions,\n QueryPendingState,\n SortOrder,\n WixPatternsContainer,\n} from '@wix/bex-core';\nimport {\n CollectionBIReporter,\n CollectionState,\n FedopsReporter,\n Filter,\n FiltersMap,\n idArrayFilter,\n MultiCollectionSupport,\n ReportBI,\n TaskState,\n ValueBox,\n} from '@wix/bex-core';\nimport {\n Column,\n FilterProps,\n PrivateView,\n TableColumn,\n ViewType,\n} from '../model';\n\nexport { ViewType };\nimport { CustomColumnsProps } from '../components/CustomColumns';\nimport type {\n LiveRegionRefType,\n LiveRegionState,\n TableProps,\n} from '@wix/design-system';\nimport type { AppliedFiltersTagListState } from '../components/AppliedFiltersTagList/AppliedFiltersTagListState';\nimport { ToolbarFeatureInitializer } from './toolbarFeatureInitializer';\nimport { simplifyColumn, simplifyColumns } from './simplifyColumns';\nimport { indexOfCompareFn } from './indexOfCompareFn';\nimport type { CollectionViewsState } from './CollectionViewsState';\nimport { ReactElement } from 'react';\nimport { ToolbarBIReporter } from './ToolbarBIReporter';\nimport { DragAndDropState } from '../components/DragAndDrop';\nimport { CollectionViewsDropdownProps } from '../components/CollectionViewsDropdown';\nimport { ActionCellProps } from '../components/ActionCell';\nimport { ActionCellAPI } from './ItemActionsState';\nimport { CustomColumnsState } from './CustomColumnsState';\nimport { SidePanelsState } from './SidePanelsState';\nimport { CollectionToolbarFiltersState } from '../components/CollectionToolbarFilters/CollectionToolbarFiltersState';\nimport { MultiLevelSortingState } from './MultiLevelSortingState';\nimport { RectState } from './RectState';\nimport { BulkActionToolbarState } from './BulkActionToolbarState';\nimport { addEventListener } from '@wix/bex-core/util';\nimport type { AddApplyFiltersButton } from '../components/FiltersPanel/AddApplyFiltersButton';\nimport { TabsFilterState } from '../components/TabsFilter/TabsFilterState';\nimport { CollectionFieldsSourceState } from './CollectionFieldsSourceState';\nimport { TagsCollectionState } from './TagsCollectionState';\nimport {\n AdditionalFeaturesAvailabilityBIParams,\n FeaturesAvailabilityBIParams,\n} from './FeaturesAvailabilityBIParams';\nimport { ExtensionMenuItemsState } from './ExtensionMenuItemsState';\nimport { ToolbarState } from '../components/CollectionToolbars/ToolbarState';\nimport { MoreActionItemFactory } from '../components/MoreActions/MoreActionsBase';\nimport { ColumnSizesState } from './ColumnSizesState';\n\nexport type Component<C> = () => C;\n\nexport interface ToolbarCollectionStateParamsInitParams {\n featuresInitializers: (ToolbarFeatureInitializer | undefined)[];\n hasMultiLevelSorting?: boolean;\n skipFilterListeners?: boolean;\n}\n\nexport interface LayoutState {\n viewType: ViewType;\n}\n\nexport interface ToolbarCollectionStateParams<T, F extends FiltersMap> {\n readonly container: WixPatternsContainer;\n readonly collection: CollectionState<T, F>;\n readonly componentType: string;\n readonly reportBi?: ReportBI;\n}\n\nexport class ToolbarCollectionState<T, F extends FiltersMap = FiltersMap> {\n readonly collection: CollectionState<T, F>;\n readonly selectedColumns = idArrayFilter<{\n id: string;\n isSelected: boolean;\n }>();\n readonly initTask = new TaskState();\n readonly fedopsReporter;\n readonly dataCapsule;\n readonly toolbar;\n readonly container: WixPatternsContainer;\n readonly namespace;\n readonly reportBi: ReportBI;\n readonly featuredComponents = {\n moreFiltersButton: new ValueBox<Component<{}> | null>(null),\n appliedFiltersTagList: new ValueBox<{\n component: Component<{}>;\n state: AppliedFiltersTagListState<T, F>;\n } | null>(null),\n exportButton: new ValueBox<ReactElement | null>(null),\n exportModal: new ValueBox<ReactElement<{}> | null>(null),\n importButton: new ValueBox<ReactElement | null>(null),\n importModal: new ValueBox<ReactElement<{}> | null>(null),\n };\n readonly toolbarRect;\n readonly itemsContentRect;\n readonly panels;\n readonly bulk;\n readonly multi;\n readonly componentType;\n\n _syncedProps?: {\n useResponsiveLayout?: boolean;\n };\n\n _userColumns: Column[] = []; // columns propagated from user\n _featureColumns: Column[] = observable.array(); // columns propagated from installed features\n _extendedColumns: Column[] = []; // columns propagated from data-extension (can be merged with above?)\n internalScroll = undefined as boolean | undefined;\n customColumnsState: CustomColumnsState<T, F> | null = null;\n customColumnsStateInitialized = false;\n columnSizesState: ColumnSizesState | null = null;\n multiLevelSorting: MultiLevelSortingState<T, F> | null = null;\n liveRegionRef: { current: null | LiveRegionRefType } = {\n current: null,\n };\n collectionFieldsSource: CollectionFieldsSourceState | null = null;\n menuItemExtensions = new Map<string, ExtensionMenuItemsState>();\n tagsCollectionState: TagsCollectionState<T, F> | null = null;\n toolbarFiltersState: CollectionToolbarFiltersState<T, F> | null = null;\n toolbarFiltersStateInitialized = false;\n _dnd: DragAndDropState<T, F> | null = null;\n toolbarBIReporter: ToolbarBIReporter<T, F>;\n filtersProps: FilterProps<any>[] | null = null;\n viewsProps: CollectionViewsDropdownProps<F> | null | undefined = null;\n dragAndDropCategories: (keyof F)[][] | null | undefined = null;\n customColumnsProps: CustomColumnsProps | null | undefined = null;\n selectionProps = new ValueBox<{ showSelection?: boolean }>({});\n featuresAvailability: FeaturesAvailabilityBIParams = {};\n additionalFeaturesAvailability: AdditionalFeaturesAvailabilityBIParams = {};\n actionCell = new ValueBox<\n | undefined\n | ActionCellProps\n | ((item: T, index: number, api: ActionCellAPI<T, F>) => ActionCellProps)\n >(undefined);\n contentPadding = 24;\n contentPaddingPx = `${this.contentPadding}px`;\n\n scrollElementRect = observable<{\n height?: number | null;\n top?: number | null;\n }>({\n height: null,\n top: null,\n });\n scrollTopBeforeUnmount: number | null = null;\n minimizedHeaderHeight = 0;\n tabsFilterProps?: {\n filter: Filter<any>;\n } = undefined;\n viewsState?: CollectionViewsState<T, F>;\n exportState?: ModalState;\n importState?: ModalState;\n pendingQuery?: QueryPendingState;\n AddApplyFiltersButton?: typeof AddApplyFiltersButton;\n tabs?: TabsFilterState<T, F>;\n layoutState?: LayoutState;\n\n // Per-layout in-memory scratchpad of uncommitted column edits.\n _layoutColumnsCache: Partial<\n Record<ViewType, { id: string; isSelected: boolean }[]>\n > = {};\n // Set by the coordinator on cache-hit so per-flow reactions skip the same transition.\n _cacheRestoredLayout?: ViewType;\n // Set by `_onSelectViewAndRefresh` when a view-select changes layout, so the coordinator\n // skips flush/restore — the view-select already loaded the correct columns.\n _skipNextLayoutCoordinator = false;\n\n _searchExpanded = false;\n\n forceRenderIndexes: number[] | undefined = undefined;\n\n constructor(params: ToolbarCollectionStateParams<T, F>) {\n this.collection = params.collection;\n this.container = params.container;\n this.componentType = params.componentType;\n\n this.toolbar = new ToolbarState(this);\n\n this.fedopsReporter = new FedopsReporter({\n componentName: this.componentType,\n collection: this.collection,\n internalMonitor: this.container.internalMonitor,\n });\n\n this.multi = new MultiCollectionSupport<F>({\n collections: [this.collection as CollectionState<unknown, F>],\n });\n\n this.itemsContentRect = new RectState(params);\n this.toolbarRect = new RectState(params);\n\n this.panels = new SidePanelsState({\n container: this.container,\n panelGroupName: this.collection.queryName,\n });\n\n this.toolbarBIReporter = new ToolbarBIReporter<T, F>({\n toolbar: this,\n collection: this.collection,\n reportBi: (ev) => {\n this.reportBi({\n ...ev,\n params: {\n ...this._commonDynamicBiParams(),\n ...ev.params,\n },\n });\n },\n });\n\n this.bulk = new BulkActionToolbarState({\n toolbarBIReporter: this.toolbarBIReporter,\n panels: this.panels,\n multi: this.multi,\n translate: this.container.translate,\n scrollToTop: () => {\n this.collection.scrollableContent?.scrollTo({\n top: 0,\n left: 0,\n });\n },\n });\n\n this.namespace = [\n this.container.environment.componentId,\n this.collection.queryName,\n ].join('.');\n\n const { dataCapsule } = this.container.createEssentials({\n dataCapsule: {\n namespace: this.namespace,\n },\n });\n\n this.dataCapsule = dataCapsule;\n\n const reportBiBase = params.reportBi ?? this.container.reportBi;\n\n this.reportBi = (ev) => {\n reportBiBase({\n ...ev,\n params: {\n ...this._commonDynamicBiParams(),\n ...ev.params,\n },\n });\n };\n\n this.columnSizesState = new ColumnSizesState({\n container: this.container,\n dataCapsule: this.dataCapsule,\n fqdn: this.namespace,\n });\n\n makeObservable(this, {\n forceRenderIndexes: observable.ref,\n _userColumns: observable.ref,\n _extendedColumns: observable.ref,\n columns: computed,\n customColumnsStateInitialized: observable.ref,\n viewsProps: observable.ref,\n dragAndDropCategories: observable.ref,\n customColumnsProps: observable.ref,\n filtersProps: observable.ref,\n shouldDisplayFiltersTags: computed,\n totalStickyContentHeight: computed,\n showInitialLoader: computed,\n showEmptyState: computed,\n showErrorState: computed,\n hasSubToolbarComponents: computed,\n containerRect: computed,\n setFilterTagsPropsIfChanged: action,\n _initDefaultSortableColumn: action,\n minimizedHeaderHeight: observable.ref,\n tabsFilterProps: observable.ref,\n toolbarFiltersStateInitialized: observable.ref,\n hasToolbarTabs: computed,\n itemsContentHeight: computed,\n setNewColumns: action,\n addFeatureColumn: action,\n setExtendedColumns: action,\n _commonDynamicBiParams: action,\n _adjustSortWithNewColumns: action,\n setToolbarFiltersStateInitialized: action,\n activeFiltersEntries: computed,\n _searchExpanded: observable.ref,\n showFieldTypeIcons: observable.ref,\n });\n }\n\n get containerRect() {\n const { itemsContentRect, toolbarRect, internalScroll } = this;\n\n if (internalScroll && itemsContentRect.rect.height) {\n return {\n ...itemsContentRect.rect,\n };\n }\n\n if (itemsContentRect.rect.left && toolbarRect.rect.left) {\n const top = toolbarRect.rect.bottom;\n const bottom = top + itemsContentRect.rect.height;\n const left = toolbarRect.rect.left;\n const right = left + toolbarRect.rect.width;\n return {\n left,\n right,\n top,\n bottom,\n height: bottom - top,\n width: right - left,\n };\n }\n\n return undefined;\n }\n\n get containerTop() {\n return this.containerRect?.top;\n }\n\n /**\n * How much height left for the content inside the viewport\n */\n get itemsContentHeight() {\n const {\n toolbarRect,\n scrollElementRect,\n contentPadding,\n internalScroll,\n itemsContentRect,\n } = this;\n\n if (internalScroll && itemsContentRect.rect.height) {\n return itemsContentRect.rect.height;\n }\n\n if (\n toolbarRect.rect.height == null ||\n toolbarRect.rect.top == null ||\n scrollElementRect.height == null ||\n scrollElementRect.top == null\n ) {\n return 0;\n }\n\n if (process.env.NODE_ENV === 'test') {\n return 796;\n }\n\n const toolbarOffsetTop = toolbarRect.rect.top - scrollElementRect.top;\n\n return (\n scrollElementRect.height -\n toolbarOffsetTop -\n toolbarRect.rect.height -\n contentPadding\n );\n }\n\n get totalStickyContentHeight() {\n const { toolbarRect, minimizedHeaderHeight } = this;\n if (toolbarRect.rect.height == null) {\n return null;\n }\n\n return toolbarRect.rect.height + minimizedHeaderHeight;\n }\n\n get sidePanel() {\n return this.panels.sidePanel;\n }\n\n get sidePanelComponents() {\n return this.panels.sidePanelComponents;\n }\n\n get showInitialLoader() {\n const { multi, initTask } = this;\n\n return (\n multi.showInitialLoader ||\n initTask.status.isLoading ||\n initTask.status.isIdle\n );\n }\n\n get showEmptyState() {\n const {\n showInitialLoader,\n multi: { showRefreshLoader, showEmptyState },\n } = this;\n return showEmptyState && !showInitialLoader && !showRefreshLoader;\n }\n\n get errorStatus() {\n const { initTask, multi } = this;\n return initTask.errorStatus ?? multi.errorStatus;\n }\n\n get showErrorState() {\n const {\n showInitialLoader,\n multi: { showRefreshLoader, showErrorState },\n initTask,\n } = this;\n\n return (\n (showErrorState || initTask.status.isError) &&\n !showInitialLoader &&\n !showRefreshLoader\n );\n }\n\n get hasSubToolbarComponents() {\n const { appliedFiltersTagList } = this.featuredComponents;\n return appliedFiltersTagList.value != null;\n }\n\n get reorderModeState() {\n return this._dnd?.reorderModeState;\n }\n\n get shouldDisplayFiltersTags() {\n const { collectionFieldsSource, featuredComponents } = this;\n\n if (collectionFieldsSource?.initTask.status.isLoading) {\n return false;\n }\n\n return !!featuredComponents.appliedFiltersTagList.value?.state.tags.length;\n }\n\n get hasToolbarTabs() {\n return this.tabsFilterProps != null;\n }\n\n get isReorderModeToolbarVisible() {\n return this.reorderModeState?.isReorderModeToolbarVisible;\n }\n\n get isReorderModePending() {\n return this.reorderModeState?.isReorderModePending;\n }\n\n get columns(): Column[] {\n const { _userColumns, _featureColumns, _extendedColumns } = this;\n // One column per id. When a layout syncs a column a source also provides\n // (e.g. the editable table's cell defs for source fields), the layout's def\n // wins and inherits the source's column metadata; source-only columns fill\n // in the rest.\n const extendedById = new Map(_extendedColumns.map((c) => [c.id, c]));\n const merged = [..._userColumns, ..._featureColumns].map((column) => {\n const extended = extendedById.get(column.id);\n return extended ? { ...extended, ...column } : column;\n });\n const mergedIds = new Set(merged.map((c) => c.id));\n return [...merged, ..._extendedColumns.filter((c) => !mergedIds.has(c.id))];\n }\n\n /**\n * Whether to show field-type prefix icons across the collection UI.\n * Controlled by the `showFieldTypeIcons` prop on the collection component (Table, Grid, etc.).\n * @default false\n */\n showFieldTypeIcons = false;\n\n get selectedOrderedColumnsOrAll() {\n const { columns, customColumnsState, columnSizesState } = this;\n\n const baseColumns = customColumnsState\n ? customColumnsState.selectedOrderedColumns\n : columns;\n\n return columnSizesState?.mergeSizes(baseColumns) ?? baseColumns;\n }\n\n _commonDynamicBiParams(query = this.collection.result.originQuery) {\n const { collection, viewsState } = this;\n\n return {\n componentType: this.componentType,\n ...collection._commonDynamicBiParams(query),\n currentTab: this.getCurrentTabName(),\n ...(viewsState && { currentView: viewsState.views.currentView?.id }),\n ...(viewsState?.views?.currentView && {\n isPredefined: viewsState.views.currentView.isPreset,\n }),\n ...(viewsState?.views?.currentView?.filters && {\n numFiltersInView: this._numberFiltersInView(\n viewsState.views.currentView,\n ),\n }),\n visibleColumnsOrder: this.selectedOrderedColumnsOrAll\n .map((col) => col.id ?? col.title ?? col.name)\n .join(','),\n numColumns: this.selectedOrderedColumnsOrAll.length,\n numFiltersActive: collection.query.activeFiltersCount,\n };\n }\n\n _numberFiltersInView(view: PrivateView<F>) {\n let numFiltersInView = 0;\n\n if (view.filters) {\n for (const filterName of Object.keys(view.filters)) {\n const filter = view.filters[filterName];\n\n if (filter && filter.value) {\n if (Array.isArray(filter.value)) {\n numFiltersInView += filter.value.length;\n } else if (filter.value) {\n numFiltersInView += 1;\n }\n }\n }\n }\n\n return numFiltersInView;\n }\n\n getCurrentTabName() {\n const {\n tabsFilterProps,\n collection: {\n result: { originQuery: query },\n },\n } = this;\n\n const tabs =\n tabsFilterProps &&\n Object.entries(query.rawFilters)\n .filter(([key]) => key === tabsFilterProps.filter.name)\n .flatMap(([, value]) =>\n Array.isArray(value)\n ? value.map(tabsFilterProps.filter.itemKey)\n : value,\n );\n\n return tabs?.[0] as string;\n }\n\n getCollectionSnapshot = (): {\n [key: string]: string | number | undefined;\n } => {\n const {\n collection: {\n result: { originQuery },\n },\n } = this;\n\n return {\n viewShown: this.viewsState?.views.currentView?.id,\n tabShown: this.getCurrentTabName(),\n sortOrderApplied: originQuery.sort?.length\n ? JSON.stringify(originQuery.sort)\n : undefined,\n filtersApplied: JSON.stringify(originQuery.filtersKey),\n filteredListSizeShown: this.collection.result.total,\n };\n };\n\n getPendingFilter<A>(filter: A) {\n return this.pendingQuery?.getApplicableFilter(filter) ?? filter;\n }\n\n init({\n featuresInitializers,\n hasMultiLevelSorting,\n skipFilterListeners,\n }: ToolbarCollectionStateParamsInitParams) {\n const {\n collection,\n multi,\n initTask,\n panels,\n sidePanel,\n tagsCollectionState,\n bulk,\n customColumnsState,\n viewsState,\n columnSizesState,\n } = this;\n\n const biReporters = multi.collections.map(\n (collection) =>\n new CollectionBIReporter({\n collection,\n reportBi: (ev) => {\n this.reportBi({\n ...ev,\n params: {\n ...collection._commonDynamicBiParams(),\n ...ev.params,\n },\n });\n },\n }),\n );\n\n // must call `initOptionalFeatures` before collection init because we want to allow features to customize the collection before collection.init\n const tableFeatures = featuresInitializers\n .filter((t): t is ToolbarFeatureInitializer => t != null)\n .map((tableFeatInit) => tableFeatInit(this));\n\n // should be initialized before collection.init() so the sort query will be updated before the time of the first request.\n this._initDefaultSortableColumn(hasMultiLevelSorting);\n\n const disposers = [\n // Must be registered before the per-flow layout reactions so the\n // `_cacheRestoredLayout` gate they read is set first (mobx fires\n // reactions in creation order).\n reaction(\n () => this.layoutState?.viewType,\n (next, prev) => {\n if (!next || !prev || next === prev) {\n return;\n }\n if (this._skipNextLayoutCoordinator) {\n this._skipNextLayoutCoordinator = false;\n this._cacheRestoredLayout = next;\n return;\n }\n this._flushColumnsToCache(prev);\n this._cacheRestoredLayout = this._tryRestoreColumnsFromCache(next)\n ? next\n : undefined;\n },\n ),\n this.collectionFieldsSource?.init(), // the fields source should be initialized and its beforeInitialFetch promise listener registered before customColumnsState?._tableInit() because custom columns might use data extensions\n customColumnsState?._tableInit(),\n viewsState?.init(),\n columnSizesState?.init(),\n // register table feature first as they might register to the collection `beforeInitialFetch`\n ...tableFeatures.map((t) => t.init()),\n reaction(\n () => this.selectedOrderedColumnsOrAll,\n (columns) => {\n collection.query._columns.replace(columns.map((c) => c.id));\n },\n {\n fireImmediately: true,\n },\n ),\n multi.init({ skipFilterListeners }),\n ...biReporters.map((b) => b.init()),\n panels.init(),\n sidePanel.init(),\n bulk.init(),\n tagsCollectionState?.init(),\n addEventListener(\n collection.bulkSelect.events,\n 'openModal',\n this.bulk.modals.actionModal.modal.open,\n ),\n addEventListener(\n collection.bulkSelect.events,\n 'closeModal',\n this.bulk.modals.actionModal.modal.close,\n ),\n addEventListener(this.collection.emitter, 'resultUpdated', () => {\n this.broadcast({\n message: this.container.translate(\n 'cairo.a11y.liveRegion.resultsFound',\n { num: this.collection.result.total },\n ),\n });\n }),\n ];\n\n const startTime = performance.now();\n\n initTask.runOnce(async () => {\n this.toolbarBIReporter.loadStart();\n\n multi.initTask.runOnce();\n customColumnsState?.initTask.runOnce();\n\n tableFeatures.forEach(({ initTask }) => {\n if (initTask) {\n initTask.runOnce();\n }\n });\n\n try {\n await Promise.all([\n multi.initTask.status.promise,\n tagsCollectionState?.initTask.status.promise?.catch(() => null), // resilience to failed request\n this.collectionFieldsSource?.initTask.status.promise?.catch(\n () => null,\n ), // resilience to failed request\n customColumnsState?.initTask.status.promise,\n columnSizesState?.initTask.status.promise,\n ...tableFeatures.map((t) => t.initTask?.status.promise),\n ]);\n\n this.toolbarBIReporter.loadEnd(startTime);\n } catch (e) {\n throw e;\n }\n });\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n\n setFilterTagsPropsIfChanged(filtersProps: FilterProps<any>[] | null) {\n if (this.filtersProps !== filtersProps) {\n this.filtersProps = filtersProps;\n }\n }\n\n _toStoredColumn = (column: Column) => {\n const { id, defaultHidden, hideable, hiddenFromCustomColumnsSelection } =\n column;\n\n return {\n id,\n isSelected:\n !hideable || hiddenFromCustomColumnsSelection || !defaultHidden,\n };\n };\n\n setNewColumns(tableColumns: TableColumn<T>[]) {\n this._userColumns = simplifyColumns(tableColumns);\n }\n\n addFeatureColumn(featureColumn: TableColumn<T>) {\n this._featureColumns.push(simplifyColumn(featureColumn));\n\n this._adjustSelectedColumns();\n }\n\n setExtendedColumns(columns: Column[]) {\n this._extendedColumns = columns;\n this._adjustSelectedColumns();\n }\n\n broadcast(params: LiveRegionState) {\n this.liveRegionRef.current?.broadcast(params);\n }\n\n setToolbarFiltersStateInitialized(value: boolean) {\n this.toolbarFiltersStateInitialized = value;\n }\n\n updateColumnWidth(columnId: string, width: number) {\n this.columnSizesState?.updateColumnWidth(columnId, width);\n }\n\n _initDefaultSortableColumn(hasMultiLevelSorting = false) {\n const {\n columns,\n collection: { query },\n } = this;\n\n const defaultSortableColumns = columns.filter(\n (col): col is Column & { defaultSortOrder: SortOrder } =>\n col.sortable === true && col.id != null && col.defaultSortOrder != null,\n );\n\n if (defaultSortableColumns.length && !query.sort.value.length) {\n const sortQuery = defaultSortableColumns.map((column) => ({\n field: column.id,\n direction: column.defaultSortOrder,\n }));\n\n query.sort.setSortQuery(\n hasMultiLevelSorting ? sortQuery : sortQuery.slice(0, 1),\n );\n }\n }\n\n _adjustSelectedColumns = () => {\n const {\n selectedColumns,\n customColumnsState,\n customColumnsProps,\n customColumnsStateInitialized,\n } = this;\n\n // as long as consumer rendered `<CustomColumns/>` at least once, use `mergeNewColumns` strategy when re-rendering new columns prop\n if (customColumnsProps != null || customColumnsStateInitialized) {\n // if `customColumns` is not set yet - do nothing\n if (customColumnsState) {\n const { initTask } = customColumnsState;\n const mergedColumns = customColumnsState.mergeNewColumns();\n runInAction(() => {\n selectedColumns.defaultValue = this.columns.map((col) => {\n const { id, isSelected } = this._toStoredColumn(col);\n return { id, isSelected };\n });\n });\n if (initTask.status.isSuccess && customColumnsState._touched) {\n selectedColumns.refresh(mergedColumns);\n } else {\n selectedColumns.setValue(mergedColumns);\n }\n }\n } else {\n const allColumns = this.columns.map(({ id }) => ({\n id,\n isSelected: true,\n }));\n selectedColumns.defaultValue = allColumns;\n selectedColumns.setValue(allColumns);\n }\n };\n\n _flushColumnsToCache(layout: ViewType) {\n this._layoutColumnsCache[layout] = this.selectedColumns.value.map(\n ({ id, isSelected }) => ({ id, isSelected }),\n );\n }\n\n _tryRestoreColumnsFromCache(layout: ViewType): boolean {\n const cached = this._layoutColumnsCache[layout];\n if (!cached) {\n return false;\n }\n // Merge against current columns — mirrors `_fetchFromStorage`.\n const merged = this.columns.map((column) => {\n const cachedEntry = cached.find((c) => c.id === column.id);\n if (cachedEntry == null) {\n return this._toStoredColumn(column);\n }\n const { id, hideable, hiddenFromCustomColumnsSelection } = column;\n return {\n id,\n isSelected:\n cachedEntry.isSelected ||\n !hideable ||\n hiddenFromCustomColumnsSelection === true,\n };\n });\n this.selectedColumns.setValue(\n this.customColumnsState?.dragAndDrop\n ? merged.sort(indexOfCompareFn(cached, (e) => e?.id))\n : merged,\n );\n return true;\n }\n\n _clearColumnsCache() {\n this._layoutColumnsCache = {};\n }\n\n _adjustSortWithNewColumns(tableColumns: TableColumn<T>[]) {\n const {\n collection: { query },\n } = this;\n const tableColumnsIds = new Set(tableColumns.map((column) => column.id));\n\n const staleSortEntries = query.sort.value.filter(\n ({ field }) => !tableColumnsIds.has(field),\n );\n\n // Runs on every column add/duplicate, where the sort is still valid.\n // re-sorting there clears the loaded rows and refetches from page 1.\n if (staleSortEntries.length === 0) {\n return;\n }\n\n staleSortEntries.forEach((s) => {\n query.sort.value.remove(s);\n });\n query.sort.events.emit('change');\n this.collection.scheduleSort({ clearResult: true });\n }\n\n closeSidePanel = () => {\n this.sidePanel.close();\n };\n\n openFiltersPanel() {\n this.panels.openSidePanel('filters');\n }\n\n retryErrorState = action(() => {\n const { initTask, multi } = this;\n\n if (initTask.status.isError) {\n initTask.runOnce();\n } else {\n multi.retryErrorState();\n }\n });\n\n onSelectionStarted = () => {\n this.bulk._selectionStartTime = performance.now();\n };\n\n _onSelectAllCheckboxClick() {}\n\n get activeFiltersEntries() {\n return Array.from(\n this.multi.collections\n .flatMap(({ query }) =>\n query.activeFiltersEntries.filter(\n ([_, filter]) => filter !== query.search,\n ),\n )\n .reduce(\n (map, entry) => map.set(entry[0], entry),\n new Map<string, [string, Filter<unknown>]>(),\n )\n .values(),\n );\n }\n\n onSelectionChanged: Required<TableProps>['onSelectionChanged'] = action(\n (_selectedIds, change) => {\n if (change == null) {\n return;\n }\n\n const { panels, bulk } = this;\n\n panels.closeSidePanel();\n\n switch (change.type) {\n case 'ALL':\n bulk.toggleSelectAll({ location: 'Checkbox' });\n break;\n case 'NONE':\n bulk.deselectAll({ location: 'Checkbox' });\n break;\n case 'SINGLE_TOGGLE':\n if (change.value) {\n bulk.selectOne(change.id);\n } else {\n bulk.deselectOne(change.id);\n }\n break;\n }\n },\n );\n\n openCustomFieldModal = ({\n customOrigin,\n onSave,\n initialField,\n lockedProperties,\n }: Pick<\n OpenFieldModalOptions,\n 'customOrigin' | 'onSave' | 'initialField' | 'lockedProperties'\n > = {}) => {\n return this.collectionFieldsSource?.openFieldModal({\n customOrigin,\n onSave,\n initialField,\n lockedProperties,\n });\n };\n\n openManageTagsModal = () => {\n return this.tagsCollectionState?.openManageTagsModal();\n };\n\n onAddItemActionComplete = async (items: T[]) => {\n await this._resetQueryAndAddItems(items);\n\n this.toolbarBIReporter.newItemCreationEnd(items);\n };\n\n _resetQueryAndAddItems = async (items: T[]) => {\n const { collection } = this;\n const { query } = collection;\n\n query.resetFilters();\n query.resetSorting();\n\n await collection.clearResultAndMoveToStart({ force: true });\n\n collection._optimisticActions?.createMany(items, {\n submit: async () => items,\n });\n\n collection.scrollableContent?.scrollTo?.({\n top: 0,\n behavior: 'smooth',\n });\n };\n\n getPageFeaturedActions(): MoreActionItemFactory[] {\n const { collectionFieldsSource, tagsCollectionState } = this;\n return [collectionFieldsSource, tagsCollectionState]\n .filter(\n (e): e is CollectionFieldsSourceState | TagsCollectionState<T, F> =>\n e != null,\n )\n .filter((e) => !e.props?.disableDefaultPageAction)\n .flatMap((e) => e.featuredPageActions);\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAeA,IAAAC,QAAA,GAAAD,OAAA;AAYA,IAAAE,MAAA,GAAAF,OAAA;AAMkBG,OAAA,CAAAC,QAAA,GAAAF,MAAA,CAAAE,QAAA;AAWlB,IAAAC,gBAAA,GAAAL,OAAA;AACA,IAAAM,iBAAA,GAAAN,OAAA;AAGA,IAAAO,kBAAA,GAAAP,OAAA;AAMA,IAAAQ,gBAAA,GAAAR,OAAA;AAGA,IAAAS,UAAA,GAAAT,OAAA;AACA,IAAAU,uBAAA,GAAAV,OAAA;AACA,IAAAW,KAAA,GAAAX,OAAA;AAUA,IAAAY,aAAA,GAAAZ,OAAA;AAEA,IAAAa,iBAAA,GAAAb,OAAA;AAqBO,MAAMc,sBAAsB,CAAuC;EAsGxEC,WAAWA,CAACC,MAA0C,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,2BApG7B,IAAAC,sBAAa,EAGrC,CAAC;IAAA,IAAAF,gBAAA,CAAAC,OAAA,oBACgB,IAAIE,kBAAS,CAAC,CAAC;IAAA,IAAAH,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,8BAOL;MAC5BG,iBAAiB,EAAE,IAAIC,iBAAQ,CAAuB,IAAI,CAAC;MAC3DC,qBAAqB,EAAE,IAAID,iBAAQ,CAGzB,IAAI,CAAC;MACfE,YAAY,EAAE,IAAIF,iBAAQ,CAAsB,IAAI,CAAC;MACrDG,WAAW,EAAE,IAAIH,iBAAQ,CAA0B,IAAI,CAAC;MACxDI,YAAY,EAAE,IAAIJ,iBAAQ,CAAsB,IAAI,CAAC;MACrDK,WAAW,EAAE,IAAIL,iBAAQ,CAA0B,IAAI;IACzD,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;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,wBAYwB,EAAE;IAAE;IAAA,IAAAD,gBAAA,CAAAC,OAAA,2BACDU,gBAAU,CAACC,KAAK,CAAC,CAAC;IAAE;IAAA,IAAAZ,gBAAA,CAAAC,OAAA,4BACnB,EAAE;IAAE;IAAA,IAAAD,gBAAA,CAAAC,OAAA,0BAChBY,SAAS;IAAA,IAAAb,gBAAA,CAAAC,OAAA,8BAC4B,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA,yCAC1B,KAAK;IAAA,IAAAD,gBAAA,CAAAC,OAAA,4BACO,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA,6BACS,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA,yBACN;MACrDa,OAAO,EAAE;IACX,CAAC;IAAA,IAAAd,gBAAA,CAAAC,OAAA,kCAC4D,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA,8BAC5C,IAAIc,GAAG,CAAkC,CAAC;IAAA,IAAAf,gBAAA,CAAAC,OAAA,+BACP,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA,+BACM,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA,0CACrC,KAAK;IAAA,IAAAD,gBAAA,CAAAC,OAAA,gBACA,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,wBAEA,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA,sBACmB,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA,iCACX,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA,8BACF,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA,0BAC/C,IAAII,iBAAQ,CAA8B,CAAC,CAAC,CAAC;IAAA,IAAAL,gBAAA,CAAAC,OAAA,gCACT,CAAC,CAAC;IAAA,IAAAD,gBAAA,CAAAC,OAAA,0CACkB,CAAC,CAAC;IAAA,IAAAD,gBAAA,CAAAC,OAAA,sBAC9D,IAAII,iBAAQ,CAIvBQ,SAAS,CAAC;IAAA,IAAAb,gBAAA,CAAAC,OAAA,0BACK,EAAE;IAAA,IAAAD,gBAAA,CAAAC,OAAA,4BACA,GAAG,IAAI,CAACe,cAAc,IAAI;IAAA,IAAAhB,gBAAA,CAAAC,OAAA,6BAEzB,IAAAU,gBAAU,EAG3B;MACDM,MAAM,EAAE,IAAI;MACZC,GAAG,EAAE;IACP,CAAC,CAAC;IAAA,IAAAlB,gBAAA,CAAAC,OAAA,kCACsC,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA,iCACpB,CAAC;IAAA,IAAAD,gBAAA,CAAAC,OAAA,2BAGrBY,SAAS;IAAA,IAAAb,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;IASb;IAAA,IAAAD,gBAAA,CAAAC,OAAA,+BAGI,CAAC,CAAC;IACN;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAEA;IACA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,sCAC6B,KAAK;IAAA,IAAAD,gBAAA,CAAAC,OAAA,2BAEhB,KAAK;IAAA,IAAAD,gBAAA,CAAAC,OAAA,8BAEoBY,SAAS;IAmSpD;AACF;AACA;AACA;AACA;IAJE,IAAAb,gBAAA,CAAAC,OAAA,8BAKqB,KAAK;IAAA,IAAAD,gBAAA,CAAAC,OAAA,iCA6EF,MAEnB;MAAA,IAAAkB,gBAAA,EAAAC,iBAAA;MACH,MAAM;QACJC,UAAU,EAAE;UACVC,MAAM,EAAE;YAAEC;UAAY;QACxB;MACF,CAAC,GAAG,IAAI;MAER,OAAO;QACLC,SAAS,GAAAL,gBAAA,GAAE,IAAI,CAACM,UAAU,cAAAN,gBAAA,GAAfA,gBAAA,CAAiBO,KAAK,CAACC,WAAW,qBAAlCR,gBAAA,CAAoCS,EAAE;QACjDC,QAAQ,EAAE,IAAI,CAACC,iBAAiB,CAAC,CAAC;QAClCC,gBAAgB,EAAE,CAAAX,iBAAA,GAAAG,WAAW,CAACS,IAAI,aAAhBZ,iBAAA,CAAkBa,MAAM,GACtCC,IAAI,CAACC,SAAS,CAACZ,WAAW,CAACS,IAAI,CAAC,GAChCnB,SAAS;QACbuB,cAAc,EAAEF,IAAI,CAACC,SAAS,CAACZ,WAAW,CAACc,UAAU,CAAC;QACtDC,qBAAqB,EAAE,IAAI,CAACjB,UAAU,CAACC,MAAM,CAACiB;MAChD,CAAC;IACH,CAAC;IAAA,IAAAvC,gBAAA,CAAAC,OAAA,2BAyJkBuC,MAAc,IAAK;MACpC,MAAM;QAAEZ,EAAE;QAAEa,aAAa;QAAEC,QAAQ;QAAEC;MAAiC,CAAC,GACrEH,MAAM;MAER,OAAO;QACLZ,EAAE;QACFgB,UAAU,EACR,CAACF,QAAQ,IAAIC,gCAAgC,IAAI,CAACF;MACtD,CAAC;IACH,CAAC;IAAA,IAAAzC,gBAAA,CAAAC,OAAA,kCAoDwB,MAAM;MAC7B,MAAM;QACJ4C,eAAe;QACfC,kBAAkB;QAClBC,kBAAkB;QAClBC;MACF,CAAC,GAAG,IAAI;;MAER;MACA,IAAID,kBAAkB,IAAI,IAAI,IAAIC,6BAA6B,EAAE;QAC/D;QACA,IAAIF,kBAAkB,EAAE;UACtB,MAAM;YAAEG;UAAS,CAAC,GAAGH,kBAAkB;UACvC,MAAMI,aAAa,GAAGJ,kBAAkB,CAACK,eAAe,CAAC,CAAC;UAC1D,IAAAC,iBAAW,EAAC,MAAM;YAChBP,eAAe,CAACQ,YAAY,GAAG,IAAI,CAACC,OAAO,CAACC,GAAG,CAAEC,GAAG,IAAK;cACvD,MAAM;gBAAE5B,EAAE;gBAAEgB;cAAW,CAAC,GAAG,IAAI,CAACa,eAAe,CAACD,GAAG,CAAC;cACpD,OAAO;gBAAE5B,EAAE;gBAAEgB;cAAW,CAAC;YAC3B,CAAC,CAAC;UACJ,CAAC,CAAC;UACF,IAAIK,QAAQ,CAACS,MAAM,CAACC,SAAS,IAAIb,kBAAkB,CAACc,QAAQ,EAAE;YAC5Df,eAAe,CAACgB,OAAO,CAACX,aAAa,CAAC;UACxC,CAAC,MAAM;YACLL,eAAe,CAACiB,QAAQ,CAACZ,aAAa,CAAC;UACzC;QACF;MACF,CAAC,MAAM;QACL,MAAMa,UAAU,GAAG,IAAI,CAACT,OAAO,CAACC,GAAG,CAAC,CAAC;UAAE3B;QAAG,CAAC,MAAM;UAC/CA,EAAE;UACFgB,UAAU,EAAE;QACd,CAAC,CAAC,CAAC;QACHC,eAAe,CAACQ,YAAY,GAAGU,UAAU;QACzClB,eAAe,CAACiB,QAAQ,CAACC,UAAU,CAAC;MACtC;IACF,CAAC;IAAA,IAAA/D,gBAAA,CAAAC,OAAA,0BA+DgB,MAAM;MACrB,IAAI,CAAC+D,SAAS,CAACC,KAAK,CAAC,CAAC;IACxB,CAAC;IAAA,IAAAjE,gBAAA,CAAAC,OAAA,2BAMiB,IAAAiE,YAAM,EAAC,MAAM;MAC7B,MAAM;QAAEjB,QAAQ;QAAEkB;MAAM,CAAC,GAAG,IAAI;MAEhC,IAAIlB,QAAQ,CAACS,MAAM,CAACU,OAAO,EAAE;QAC3BnB,QAAQ,CAACoB,OAAO,CAAC,CAAC;MACpB,CAAC,MAAM;QACLF,KAAK,CAACG,eAAe,CAAC,CAAC;MACzB;IACF,CAAC,CAAC;IAAA,IAAAtE,gBAAA,CAAAC,OAAA,8BAEmB,MAAM;MACzB,IAAI,CAACsE,IAAI,CAACC,mBAAmB,GAAGC,WAAW,CAACC,GAAG,CAAC,CAAC;IACnD,CAAC;IAAA,IAAA1E,gBAAA,CAAAC,OAAA,8BAoBgE,IAAAiE,YAAM,EACrE,CAACS,YAAY,EAAEC,MAAM,KAAK;MACxB,IAAIA,MAAM,IAAI,IAAI,EAAE;QAClB;MACF;MAEA,MAAM;QAAEC,MAAM;QAAEN;MAAK,CAAC,GAAG,IAAI;MAE7BM,MAAM,CAACC,cAAc,CAAC,CAAC;MAEvB,QAAQF,MAAM,CAACG,IAAI;QACjB,KAAK,KAAK;UACRR,IAAI,CAACS,eAAe,CAAC;YAAEC,QAAQ,EAAE;UAAW,CAAC,CAAC;UAC9C;QACF,KAAK,MAAM;UACTV,IAAI,CAACW,WAAW,CAAC;YAAED,QAAQ,EAAE;UAAW,CAAC,CAAC;UAC1C;QACF,KAAK,eAAe;UAClB,IAAIL,MAAM,CAACO,KAAK,EAAE;YAChBZ,IAAI,CAACa,SAAS,CAACR,MAAM,CAAChD,EAAE,CAAC;UAC3B,CAAC,MAAM;YACL2C,IAAI,CAACc,WAAW,CAACT,MAAM,CAAChD,EAAE,CAAC;UAC7B;UACA;MACJ;IACF,CACF,CAAC;IAAA,IAAA5B,gBAAA,CAAAC,OAAA,gCAEsB,CAAC;MACtBqF,YAAY;MACZC,MAAM;MACNC,YAAY;MACZC;IAIF,CAAC,GAAG,CAAC,CAAC,KAAK;MAAA,IAAAC,qBAAA;MACT,QAAAA,qBAAA,GAAO,IAAI,CAACC,sBAAsB,qBAA3BD,qBAAA,CAA6BE,cAAc,CAAC;QACjDN,YAAY;QACZC,MAAM;QACNC,YAAY;QACZC;MACF,CAAC,CAAC;IACJ,CAAC;IAAA,IAAAzF,gBAAA,CAAAC,OAAA,+BAEqB,MAAM;MAAA,IAAA4F,qBAAA;MAC1B,QAAAA,qBAAA,GAAO,IAAI,CAACC,mBAAmB,qBAAxBD,qBAAA,CAA0BE,mBAAmB,CAAC,CAAC;IACxD,CAAC;IAAA,IAAA/F,gBAAA,CAAAC,OAAA,mCAEyB,MAAO+F,KAAU,IAAK;MAC9C,MAAM,IAAI,CAACC,sBAAsB,CAACD,KAAK,CAAC;MAExC,IAAI,CAACE,iBAAiB,CAACC,kBAAkB,CAACH,KAAK,CAAC;IAClD,CAAC;IAAA,IAAAhG,gBAAA,CAAAC,OAAA,kCAEwB,MAAO+F,KAAU,IAAK;MAAA,IAAAI,qBAAA,EAAAC,qBAAA;MAC7C,MAAM;QAAEhF;MAAW,CAAC,GAAG,IAAI;MAC3B,MAAM;QAAEiF;MAAM,CAAC,GAAGjF,UAAU;MAE5BiF,KAAK,CAACC,YAAY,CAAC,CAAC;MACpBD,KAAK,CAACE,YAAY,CAAC,CAAC;MAEpB,MAAMnF,UAAU,CAACoF,yBAAyB,CAAC;QAAEC,KAAK,EAAE;MAAK,CAAC,CAAC;MAE3D,CAAAN,qBAAA,GAAA/E,UAAU,CAACsF,kBAAkB,aAA7BP,qBAAA,CAA+BQ,UAAU,CAACZ,KAAK,EAAE;QAC/Ca,MAAM,EAAE,MAAAA,CAAA,KAAYb;MACtB,CAAC,CAAC;MAEF,CAAAK,qBAAA,GAAAhF,UAAU,CAACyF,iBAAiB,aAA5BT,qBAAA,CAA8BU,QAAQ,YAAtCV,qBAAA,CAA8BU,QAAQ,CAAG;QACvC7F,GAAG,EAAE,CAAC;QACN8F,QAAQ,EAAE;MACZ,CAAC,CAAC;IACJ,CAAC;IA3yBC,IAAI,CAAC3F,UAAU,GAAGtB,MAAM,CAACsB,UAAU;IACnC,IAAI,CAAC4F,SAAS,GAAGlH,MAAM,CAACkH,SAAS;IACjC,IAAI,CAACC,aAAa,GAAGnH,MAAM,CAACmH,aAAa;IAEzC,IAAI,CAACC,OAAO,GAAG,IAAIC,0BAAY,CAAC,IAAI,CAAC;IAErC,IAAI,CAACC,cAAc,GAAG,IAAIC,uBAAc,CAAC;MACvCC,aAAa,EAAE,IAAI,CAACL,aAAa;MACjC7F,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BmG,eAAe,EAAE,IAAI,CAACP,SAAS,CAACO;IAClC,CAAC,CAAC;IAEF,IAAI,CAACrD,KAAK,GAAG,IAAIsD,+BAAsB,CAAI;MACzCC,WAAW,EAAE,CAAC,IAAI,CAACrG,UAAU;IAC/B,CAAC,CAAC;IAEF,IAAI,CAACsG,gBAAgB,GAAG,IAAIC,oBAAS,CAAC7H,MAAM,CAAC;IAC7C,IAAI,CAAC8H,WAAW,GAAG,IAAID,oBAAS,CAAC7H,MAAM,CAAC;IAExC,IAAI,CAAC8E,MAAM,GAAG,IAAIiD,gCAAe,CAAC;MAChCb,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBc,cAAc,EAAE,IAAI,CAAC1G,UAAU,CAAC2G;IAClC,CAAC,CAAC;IAEF,IAAI,CAAC9B,iBAAiB,GAAG,IAAI+B,oCAAiB,CAAO;MACnDd,OAAO,EAAE,IAAI;MACb9F,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3B6G,QAAQ,EAAGC,EAAE,IAAK;QAChB,IAAI,CAACD,QAAQ,CAAC;UACZ,GAAGC,EAAE;UACLpI,MAAM,EAAE;YACN,GAAG,IAAI,CAACqI,sBAAsB,CAAC,CAAC;YAChC,GAAGD,EAAE,CAACpI;UACR;QACF,CAAC,CAAC;MACJ;IACF,CAAC,CAAC;IAEF,IAAI,CAACwE,IAAI,GAAG,IAAI8D,8CAAsB,CAAC;MACrCnC,iBAAiB,EAAE,IAAI,CAACA,iBAAiB;MACzCrB,MAAM,EAAE,IAAI,CAACA,MAAM;MACnBV,KAAK,EAAE,IAAI,CAACA,KAAK;MACjBmE,SAAS,EAAE,IAAI,CAACrB,SAAS,CAACqB,SAAS;MACnCC,WAAW,EAAEA,CAAA,KAAM;QAAA,IAAAC,qBAAA;QACjB,CAAAA,qBAAA,OAAI,CAACnH,UAAU,CAACyF,iBAAiB,aAAjC0B,qBAAA,CAAmCzB,QAAQ,CAAC;UAC1C7F,GAAG,EAAE,CAAC;UACNuH,IAAI,EAAE;QACR,CAAC,CAAC;MACJ;IACF,CAAC,CAAC;IAEF,IAAI,CAACC,SAAS,GAAG,CACf,IAAI,CAACzB,SAAS,CAAC0B,WAAW,CAACC,WAAW,EACtC,IAAI,CAACvH,UAAU,CAAC2G,SAAS,CAC1B,CAACa,IAAI,CAAC,GAAG,CAAC;IAEX,MAAM;MAAEC;IAAY,CAAC,GAAG,IAAI,CAAC7B,SAAS,CAAC8B,gBAAgB,CAAC;MACtDD,WAAW,EAAE;QACXJ,SAAS,EAAE,IAAI,CAACA;MAClB;IACF,CAAC,CAAC;IAEF,IAAI,CAACI,WAAW,GAAGA,WAAW;IAE9B,MAAME,YAAY,GAAGjJ,MAAM,CAACmI,QAAQ,IAAI,IAAI,CAACjB,SAAS,CAACiB,QAAQ;IAE/D,IAAI,CAACA,QAAQ,GAAIC,EAAE,IAAK;MACtBa,YAAY,CAAC;QACX,GAAGb,EAAE;QACLpI,MAAM,EAAE;UACN,GAAG,IAAI,CAACqI,sBAAsB,CAAC,CAAC;UAChC,GAAGD,EAAE,CAACpI;QACR;MACF,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,CAACkJ,gBAAgB,GAAG,IAAIC,kCAAgB,CAAC;MAC3CjC,SAAS,EAAE,IAAI,CAACA,SAAS;MACzB6B,WAAW,EAAE,IAAI,CAACA,WAAW;MAC7BK,IAAI,EAAE,IAAI,CAACT;IACb,CAAC,CAAC;IAEF,IAAAU,oBAAc,EAAC,IAAI,EAAE;MACnBC,kBAAkB,EAAE1I,gBAAU,CAAC2I,GAAG;MAClCC,YAAY,EAAE5I,gBAAU,CAAC2I,GAAG;MAC5BE,gBAAgB,EAAE7I,gBAAU,CAAC2I,GAAG;MAChChG,OAAO,EAAEmG,cAAQ;MACjBzG,6BAA6B,EAAErC,gBAAU,CAAC2I,GAAG;MAC7CI,UAAU,EAAE/I,gBAAU,CAAC2I,GAAG;MAC1BK,qBAAqB,EAAEhJ,gBAAU,CAAC2I,GAAG;MACrCvG,kBAAkB,EAAEpC,gBAAU,CAAC2I,GAAG;MAClCM,YAAY,EAAEjJ,gBAAU,CAAC2I,GAAG;MAC5BO,wBAAwB,EAAEJ,cAAQ;MAClCK,wBAAwB,EAAEL,cAAQ;MAClCM,iBAAiB,EAAEN,cAAQ;MAC3BO,cAAc,EAAEP,cAAQ;MACxBQ,cAAc,EAAER,cAAQ;MACxBS,uBAAuB,EAAET,cAAQ;MACjCU,aAAa,EAAEV,cAAQ;MACvBW,2BAA2B,EAAElG,YAAM;MACnCmG,0BAA0B,EAAEnG,YAAM;MAClCoG,qBAAqB,EAAE3J,gBAAU,CAAC2I,GAAG;MACrCiB,eAAe,EAAE5J,gBAAU,CAAC2I,GAAG;MAC/BkB,8BAA8B,EAAE7J,gBAAU,CAAC2I,GAAG;MAC9CmB,cAAc,EAAEhB,cAAQ;MACxBiB,kBAAkB,EAAEjB,cAAQ;MAC5BkB,aAAa,EAAEzG,YAAM;MACrB0G,gBAAgB,EAAE1G,YAAM;MACxB2G,kBAAkB,EAAE3G,YAAM;MAC1BkE,sBAAsB,EAAElE,YAAM;MAC9B4G,yBAAyB,EAAE5G,YAAM;MACjC6G,iCAAiC,EAAE7G,YAAM;MACzC8G,oBAAoB,EAAEvB,cAAQ;MAC9BwB,eAAe,EAAEtK,gBAAU,CAAC2I,GAAG;MAC/B4B,kBAAkB,EAAEvK,gBAAU,CAAC2I;IACjC,CAAC,CAAC;EACJ;EAEA,IAAIa,aAAaA,CAAA,EAAG;IAClB,MAAM;MAAExC,gBAAgB;MAAEE,WAAW;MAAEsD;IAAe,CAAC,GAAG,IAAI;IAE9D,IAAIA,cAAc,IAAIxD,gBAAgB,CAACyD,IAAI,CAACnK,MAAM,EAAE;MAClD,OAAO;QACL,GAAG0G,gBAAgB,CAACyD;MACtB,CAAC;IACH;IAEA,IAAIzD,gBAAgB,CAACyD,IAAI,CAAC3C,IAAI,IAAIZ,WAAW,CAACuD,IAAI,CAAC3C,IAAI,EAAE;MACvD,MAAMvH,GAAG,GAAG2G,WAAW,CAACuD,IAAI,CAACC,MAAM;MACnC,MAAMA,MAAM,GAAGnK,GAAG,GAAGyG,gBAAgB,CAACyD,IAAI,CAACnK,MAAM;MACjD,MAAMwH,IAAI,GAAGZ,WAAW,CAACuD,IAAI,CAAC3C,IAAI;MAClC,MAAM6C,KAAK,GAAG7C,IAAI,GAAGZ,WAAW,CAACuD,IAAI,CAACG,KAAK;MAC3C,OAAO;QACL9C,IAAI;QACJ6C,KAAK;QACLpK,GAAG;QACHmK,MAAM;QACNpK,MAAM,EAAEoK,MAAM,GAAGnK,GAAG;QACpBqK,KAAK,EAAED,KAAK,GAAG7C;MACjB,CAAC;IACH;IAEA,OAAO5H,SAAS;EAClB;EAEA,IAAI2K,YAAYA,CAAA,EAAG;IAAA,IAAAC,mBAAA;IACjB,QAAAA,mBAAA,GAAO,IAAI,CAACtB,aAAa,qBAAlBsB,mBAAA,CAAoBvK,GAAG;EAChC;;EAEA;AACF;AACA;EACE,IAAIwJ,kBAAkBA,CAAA,EAAG;IACvB,MAAM;MACJ7C,WAAW;MACX6D,iBAAiB;MACjB1K,cAAc;MACdmK,cAAc;MACdxD;IACF,CAAC,GAAG,IAAI;IAER,IAAIwD,cAAc,IAAIxD,gBAAgB,CAACyD,IAAI,CAACnK,MAAM,EAAE;MAClD,OAAO0G,gBAAgB,CAACyD,IAAI,CAACnK,MAAM;IACrC;IAEA,IACE4G,WAAW,CAACuD,IAAI,CAACnK,MAAM,IAAI,IAAI,IAC/B4G,WAAW,CAACuD,IAAI,CAAClK,GAAG,IAAI,IAAI,IAC5BwK,iBAAiB,CAACzK,MAAM,IAAI,IAAI,IAChCyK,iBAAiB,CAACxK,GAAG,IAAI,IAAI,EAC7B;MACA,OAAO,CAAC;IACV;IAEA,IAAIyK,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,MAAM,EAAE;MACnC,OAAO,GAAG;IACZ;IAEA,MAAMC,gBAAgB,GAAGjE,WAAW,CAACuD,IAAI,CAAClK,GAAG,GAAGwK,iBAAiB,CAACxK,GAAG;IAErE,OACEwK,iBAAiB,CAACzK,MAAM,GACxB6K,gBAAgB,GAChBjE,WAAW,CAACuD,IAAI,CAACnK,MAAM,GACvBD,cAAc;EAElB;EAEA,IAAI8I,wBAAwBA,CAAA,EAAG;IAC7B,MAAM;MAAEjC,WAAW;MAAEyC;IAAsB,CAAC,GAAG,IAAI;IACnD,IAAIzC,WAAW,CAACuD,IAAI,CAACnK,MAAM,IAAI,IAAI,EAAE;MACnC,OAAO,IAAI;IACb;IAEA,OAAO4G,WAAW,CAACuD,IAAI,CAACnK,MAAM,GAAGqJ,qBAAqB;EACxD;EAEA,IAAItG,SAASA,CAAA,EAAG;IACd,OAAO,IAAI,CAACa,MAAM,CAACb,SAAS;EAC9B;EAEA,IAAI+H,mBAAmBA,CAAA,EAAG;IACxB,OAAO,IAAI,CAAClH,MAAM,CAACkH,mBAAmB;EACxC;EAEA,IAAIhC,iBAAiBA,CAAA,EAAG;IACtB,MAAM;MAAE5F,KAAK;MAAElB;IAAS,CAAC,GAAG,IAAI;IAEhC,OACEkB,KAAK,CAAC4F,iBAAiB,IACvB9G,QAAQ,CAACS,MAAM,CAACsI,SAAS,IACzB/I,QAAQ,CAACS,MAAM,CAACuI,MAAM;EAE1B;EAEA,IAAIjC,cAAcA,CAAA,EAAG;IACnB,MAAM;MACJD,iBAAiB;MACjB5F,KAAK,EAAE;QAAE+H,iBAAiB;QAAElC;MAAe;IAC7C,CAAC,GAAG,IAAI;IACR,OAAOA,cAAc,IAAI,CAACD,iBAAiB,IAAI,CAACmC,iBAAiB;EACnE;EAEA,IAAIC,WAAWA,CAAA,EAAG;IAChB,MAAM;MAAElJ,QAAQ;MAAEkB;IAAM,CAAC,GAAG,IAAI;IAChC,OAAOlB,QAAQ,CAACkJ,WAAW,IAAIhI,KAAK,CAACgI,WAAW;EAClD;EAEA,IAAIlC,cAAcA,CAAA,EAAG;IACnB,MAAM;MACJF,iBAAiB;MACjB5F,KAAK,EAAE;QAAE+H,iBAAiB;QAAEjC;MAAe,CAAC;MAC5ChH;IACF,CAAC,GAAG,IAAI;IAER,OACE,CAACgH,cAAc,IAAIhH,QAAQ,CAACS,MAAM,CAACU,OAAO,KAC1C,CAAC2F,iBAAiB,IAClB,CAACmC,iBAAiB;EAEtB;EAEA,IAAIhC,uBAAuBA,CAAA,EAAG;IAC5B,MAAM;MAAE5J;IAAsB,CAAC,GAAG,IAAI,CAAC8L,kBAAkB;IACzD,OAAO9L,qBAAqB,CAAC6E,KAAK,IAAI,IAAI;EAC5C;EAEA,IAAIkH,gBAAgBA,CAAA,EAAG;IAAA,IAAAC,UAAA;IACrB,QAAAA,UAAA,GAAO,IAAI,CAACC,IAAI,qBAATD,UAAA,CAAWD,gBAAgB;EACpC;EAEA,IAAIxC,wBAAwBA,CAAA,EAAG;IAAA,IAAA2C,qBAAA;IAC7B,MAAM;MAAE7G,sBAAsB;MAAEyG;IAAmB,CAAC,GAAG,IAAI;IAE3D,IAAIzG,sBAAsB,YAAtBA,sBAAsB,CAAE1C,QAAQ,CAACS,MAAM,CAACsI,SAAS,EAAE;MACrD,OAAO,KAAK;IACd;IAEA,OAAO,CAAC,GAAAQ,qBAAA,GAACJ,kBAAkB,CAAC9L,qBAAqB,CAAC6E,KAAK,aAA9CqH,qBAAA,CAAgDC,KAAK,CAACC,IAAI,CAACzK,MAAM;EAC5E;EAEA,IAAIwI,cAAcA,CAAA,EAAG;IACnB,OAAO,IAAI,CAACF,eAAe,IAAI,IAAI;EACrC;EAEA,IAAIoC,2BAA2BA,CAAA,EAAG;IAAA,IAAAC,qBAAA;IAChC,QAAAA,qBAAA,GAAO,IAAI,CAACP,gBAAgB,qBAArBO,qBAAA,CAAuBD,2BAA2B;EAC3D;EAEA,IAAIE,oBAAoBA,CAAA,EAAG;IAAA,IAAAC,sBAAA;IACzB,QAAAA,sBAAA,GAAO,IAAI,CAACT,gBAAgB,qBAArBS,sBAAA,CAAuBD,oBAAoB;EACpD;EAEA,IAAIvJ,OAAOA,CAAA,EAAa;IACtB,MAAM;MAAEiG,YAAY;MAAEwD,eAAe;MAAEvD;IAAiB,CAAC,GAAG,IAAI;IAChE;IACA;IACA;IACA;IACA,MAAMwD,YAAY,GAAG,IAAIjM,GAAG,CAACyI,gBAAgB,CAACjG,GAAG,CAAE0J,CAAC,IAAK,CAACA,CAAC,CAACrL,EAAE,EAAEqL,CAAC,CAAC,CAAC,CAAC;IACpE,MAAMC,MAAM,GAAG,CAAC,GAAG3D,YAAY,EAAE,GAAGwD,eAAe,CAAC,CAACxJ,GAAG,CAAEf,MAAM,IAAK;MACnE,MAAM2K,QAAQ,GAAGH,YAAY,CAACI,GAAG,CAAC5K,MAAM,CAACZ,EAAE,CAAC;MAC5C,OAAOuL,QAAQ,GAAG;QAAE,GAAGA,QAAQ;QAAE,GAAG3K;MAAO,CAAC,GAAGA,MAAM;IACvD,CAAC,CAAC;IACF,MAAM6K,SAAS,GAAG,IAAIC,GAAG,CAACJ,MAAM,CAAC3J,GAAG,CAAE0J,CAAC,IAAKA,CAAC,CAACrL,EAAE,CAAC,CAAC;IAClD,OAAO,CAAC,GAAGsL,MAAM,EAAE,GAAG1D,gBAAgB,CAAC+D,MAAM,CAAEN,CAAC,IAAK,CAACI,SAAS,CAACG,GAAG,CAACP,CAAC,CAACrL,EAAE,CAAC,CAAC,CAAC;EAC7E;EASA,IAAI6L,2BAA2BA,CAAA,EAAG;IAChC,MAAM;MAAEnK,OAAO;MAAER,kBAAkB;MAAEmG;IAAiB,CAAC,GAAG,IAAI;IAE9D,MAAMyE,WAAW,GAAG5K,kBAAkB,GAClCA,kBAAkB,CAAC6K,sBAAsB,GACzCrK,OAAO;IAEX,OAAO,CAAA2F,gBAAgB,oBAAhBA,gBAAgB,CAAE2E,UAAU,CAACF,WAAW,CAAC,KAAIA,WAAW;EACjE;EAEAtF,sBAAsBA,CAAC9B,KAAK,GAAG,IAAI,CAACjF,UAAU,CAACC,MAAM,CAACC,WAAW,EAAE;IAAA,IAAAsM,qBAAA,EAAAC,iBAAA,EAAAC,kBAAA;IACjE,MAAM;MAAE1M,UAAU;MAAEI;IAAW,CAAC,GAAG,IAAI;IAEvC,OAAO;MACLyF,aAAa,EAAE,IAAI,CAACA,aAAa;MACjC,GAAG7F,UAAU,CAAC+G,sBAAsB,CAAC9B,KAAK,CAAC;MAC3C0H,UAAU,EAAE,IAAI,CAAClM,iBAAiB,CAAC,CAAC;MACpC,IAAIL,UAAU,IAAI;QAAEE,WAAW,GAAAkM,qBAAA,GAAEpM,UAAU,CAACC,KAAK,CAACC,WAAW,qBAA5BkM,qBAAA,CAA8BjM;MAAG,CAAC,CAAC;MACpE,IAAI,CAAAH,UAAU,aAAAqM,iBAAA,GAAVrM,UAAU,CAAEC,KAAK,qBAAjBoM,iBAAA,CAAmBnM,WAAW,KAAI;QACpCsM,YAAY,EAAExM,UAAU,CAACC,KAAK,CAACC,WAAW,CAACuM;MAC7C,CAAC,CAAC;MACF,IAAI,CAAAzM,UAAU,aAAAsM,kBAAA,GAAVtM,UAAU,CAAEC,KAAK,cAAAqM,kBAAA,GAAjBA,kBAAA,CAAmBpM,WAAW,qBAA9BoM,kBAAA,CAAgCI,OAAO,KAAI;QAC7CC,gBAAgB,EAAE,IAAI,CAACC,oBAAoB,CACzC5M,UAAU,CAACC,KAAK,CAACC,WACnB;MACF,CAAC,CAAC;MACF2M,mBAAmB,EAAE,IAAI,CAACb,2BAA2B,CAClDlK,GAAG,CAAEC,GAAG,IAAKA,GAAG,CAAC5B,EAAE,IAAI4B,GAAG,CAAC+K,KAAK,IAAI/K,GAAG,CAACgL,IAAI,CAAC,CAC7C3F,IAAI,CAAC,GAAG,CAAC;MACZ4F,UAAU,EAAE,IAAI,CAAChB,2BAA2B,CAACxL,MAAM;MACnDyM,gBAAgB,EAAErN,UAAU,CAACiF,KAAK,CAACqI;IACrC,CAAC;EACH;EAEAN,oBAAoBA,CAACO,IAAoB,EAAE;IACzC,IAAIR,gBAAgB,GAAG,CAAC;IAExB,IAAIQ,IAAI,CAACT,OAAO,EAAE;MAChB,KAAK,MAAMU,UAAU,IAAIC,MAAM,CAACC,IAAI,CAACH,IAAI,CAACT,OAAO,CAAC,EAAE;QAClD,MAAMZ,MAAM,GAAGqB,IAAI,CAACT,OAAO,CAACU,UAAU,CAAC;QAEvC,IAAItB,MAAM,IAAIA,MAAM,CAACpI,KAAK,EAAE;UAC1B,IAAI6J,KAAK,CAACC,OAAO,CAAC1B,MAAM,CAACpI,KAAK,CAAC,EAAE;YAC/BiJ,gBAAgB,IAAIb,MAAM,CAACpI,KAAK,CAAClD,MAAM;UACzC,CAAC,MAAM,IAAIsL,MAAM,CAACpI,KAAK,EAAE;YACvBiJ,gBAAgB,IAAI,CAAC;UACvB;QACF;MACF;IACF;IAEA,OAAOA,gBAAgB;EACzB;EAEAtM,iBAAiBA,CAAA,EAAG;IAClB,MAAM;MACJyI,eAAe;MACflJ,UAAU,EAAE;QACVC,MAAM,EAAE;UAAEC,WAAW,EAAE+E;QAAM;MAC/B;IACF,CAAC,GAAG,IAAI;IAER,MAAM4I,IAAI,GACR3E,eAAe,IACfuE,MAAM,CAACK,OAAO,CAAC7I,KAAK,CAAC8I,UAAU,CAAC,CAC7B7B,MAAM,CAAC,CAAC,CAAC8B,GAAG,CAAC,KAAKA,GAAG,KAAK9E,eAAe,CAACgD,MAAM,CAACiB,IAAI,CAAC,CACtDc,OAAO,CAAC,CAAC,GAAGnK,KAAK,CAAC,KACjB6J,KAAK,CAACC,OAAO,CAAC9J,KAAK,CAAC,GAChBA,KAAK,CAAC5B,GAAG,CAACgH,eAAe,CAACgD,MAAM,CAACgC,OAAO,CAAC,GACzCpK,KACN,CAAC;IAEL,OAAO+J,IAAI,oBAAJA,IAAI,CAAG,CAAC,CAAC;EAClB;EAsBAM,gBAAgBA,CAAIjC,MAAS,EAAE;IAAA,IAAAkC,kBAAA;IAC7B,OAAO,EAAAA,kBAAA,OAAI,CAACC,YAAY,qBAAjBD,kBAAA,CAAmBE,mBAAmB,CAACpC,MAAM,CAAC,KAAIA,MAAM;EACjE;EAEAqC,IAAIA,CAAC;IACHC,oBAAoB;IACpBC,oBAAoB;IACpBC;EACsC,CAAC,EAAE;IAAA,IAAAC,sBAAA;IACzC,MAAM;MACJ3O,UAAU;MACV8C,KAAK;MACLlB,QAAQ;MACR4B,MAAM;MACNb,SAAS;MACT8B,mBAAmB;MACnBvB,IAAI;MACJzB,kBAAkB;MAClBrB,UAAU;MACVwH;IACF,CAAC,GAAG,IAAI;IAER,MAAMgH,WAAW,GAAG9L,KAAK,CAACuD,WAAW,CAACnE,GAAG,CACtClC,UAAU,IACT,IAAI6O,6BAAoB,CAAC;MACvB7O,UAAU;MACV6G,QAAQ,EAAGC,EAAE,IAAK;QAChB,IAAI,CAACD,QAAQ,CAAC;UACZ,GAAGC,EAAE;UACLpI,MAAM,EAAE;YACN,GAAGsB,UAAU,CAAC+G,sBAAsB,CAAC,CAAC;YACtC,GAAGD,EAAE,CAACpI;UACR;QACF,CAAC,CAAC;MACJ;IACF,CAAC,CACL,CAAC;;IAED;IACA,MAAMoQ,aAAa,GAAGN,oBAAoB,CACvCtC,MAAM,CAAE6C,CAAC,IAAqCA,CAAC,IAAI,IAAI,CAAC,CACxD7M,GAAG,CAAE8M,aAAa,IAAKA,aAAa,CAAC,IAAI,CAAC,CAAC;;IAE9C;IACA,IAAI,CAAChG,0BAA0B,CAACyF,oBAAoB,CAAC;IAErD,MAAMQ,SAAS,GAAG;IAChB;IACA;IACA;IACA,IAAAC,cAAQ,EACN;MAAA,IAAAC,iBAAA;MAAA,QAAAA,iBAAA,GAAM,IAAI,CAACC,WAAW,qBAAhBD,iBAAA,CAAkBE,QAAQ;IAAA,GAChC,CAACC,IAAI,EAAEC,IAAI,KAAK;MACd,IAAI,CAACD,IAAI,IAAI,CAACC,IAAI,IAAID,IAAI,KAAKC,IAAI,EAAE;QACnC;MACF;MACA,IAAI,IAAI,CAACC,0BAA0B,EAAE;QACnC,IAAI,CAACA,0BAA0B,GAAG,KAAK;QACvC,IAAI,CAACC,oBAAoB,GAAGH,IAAI;QAChC;MACF;MACA,IAAI,CAACI,oBAAoB,CAACH,IAAI,CAAC;MAC/B,IAAI,CAACE,oBAAoB,GAAG,IAAI,CAACE,2BAA2B,CAACL,IAAI,CAAC,GAC9DA,IAAI,GACJ9P,SAAS;IACf,CACF,CAAC,GAAAmP,sBAAA,GACD,IAAI,CAACrK,sBAAsB,qBAA3BqK,sBAAA,CAA6BJ,IAAI,CAAC,CAAC,EAAE;IACrC9M,kBAAkB,oBAAlBA,kBAAkB,CAAEmO,UAAU,CAAC,CAAC,EAChCxP,UAAU,oBAAVA,UAAU,CAAEmO,IAAI,CAAC,CAAC,EAClB3G,gBAAgB,oBAAhBA,gBAAgB,CAAE2G,IAAI,CAAC,CAAC;IACxB;IACA,GAAGO,aAAa,CAAC5M,GAAG,CAAE6M,CAAC,IAAKA,CAAC,CAACR,IAAI,CAAC,CAAC,CAAC,EACrC,IAAAW,cAAQ,EACN,MAAM,IAAI,CAAC9C,2BAA2B,EACrCnK,OAAO,IAAK;MACXjC,UAAU,CAACiF,KAAK,CAAC4K,QAAQ,CAACC,OAAO,CAAC7N,OAAO,CAACC,GAAG,CAAE0J,CAAC,IAAKA,CAAC,CAACrL,EAAE,CAAC,CAAC;IAC7D,CAAC,EACD;MACEwP,eAAe,EAAE;IACnB,CACF,CAAC,EACDjN,KAAK,CAACyL,IAAI,CAAC;MAAEG;IAAoB,CAAC,CAAC,EACnC,GAAGE,WAAW,CAAC1M,GAAG,CAAE8N,CAAC,IAAKA,CAAC,CAACzB,IAAI,CAAC,CAAC,CAAC,EACnC/K,MAAM,CAAC+K,IAAI,CAAC,CAAC,EACb5L,SAAS,CAAC4L,IAAI,CAAC,CAAC,EAChBrL,IAAI,CAACqL,IAAI,CAAC,CAAC,EACX9J,mBAAmB,oBAAnBA,mBAAmB,CAAE8J,IAAI,CAAC,CAAC,EAC3B,IAAA0B,sBAAgB,EACdjQ,UAAU,CAACkQ,UAAU,CAACC,MAAM,EAC5B,WAAW,EACX,IAAI,CAACjN,IAAI,CAACkN,MAAM,CAACC,WAAW,CAACC,KAAK,CAACC,IACrC,CAAC,EACD,IAAAN,sBAAgB,EACdjQ,UAAU,CAACkQ,UAAU,CAACC,MAAM,EAC5B,YAAY,EACZ,IAAI,CAACjN,IAAI,CAACkN,MAAM,CAACC,WAAW,CAACC,KAAK,CAAC1N,KACrC,CAAC,EACD,IAAAqN,sBAAgB,EAAC,IAAI,CAACjQ,UAAU,CAACwQ,OAAO,EAAE,eAAe,EAAE,MAAM;MAC/D,IAAI,CAACC,SAAS,CAAC;QACbC,OAAO,EAAE,IAAI,CAAC9K,SAAS,CAACqB,SAAS,CAC/B,oCAAoC,EACpC;UAAE0J,GAAG,EAAE,IAAI,CAAC3Q,UAAU,CAACC,MAAM,CAACiB;QAAM,CACtC;MACF,CAAC,CAAC;IACJ,CAAC,CAAC,CACH;IAED,MAAM0P,SAAS,GAAGxN,WAAW,CAACC,GAAG,CAAC,CAAC;IAEnCzB,QAAQ,CAACoB,OAAO,CAAC,YAAY;MAC3B,IAAI,CAAC6B,iBAAiB,CAACgM,SAAS,CAAC,CAAC;MAElC/N,KAAK,CAAClB,QAAQ,CAACoB,OAAO,CAAC,CAAC;MACxBvB,kBAAkB,YAAlBA,kBAAkB,CAAEG,QAAQ,CAACoB,OAAO,CAAC,CAAC;MAEtC8L,aAAa,CAACgC,OAAO,CAAC,CAAC;QAAElP;MAAS,CAAC,KAAK;QACtC,IAAIA,QAAQ,EAAE;UACZA,QAAQ,CAACoB,OAAO,CAAC,CAAC;QACpB;MACF,CAAC,CAAC;MAEF,IAAI;QAAA,IAAA+N,qBAAA,EAAAC,sBAAA;QACF,MAAMC,OAAO,CAACC,GAAG,CAAC,CAChBpO,KAAK,CAAClB,QAAQ,CAACS,MAAM,CAAC8O,OAAO,EAC7B1M,mBAAmB,aAAAsM,qBAAA,GAAnBtM,mBAAmB,CAAE7C,QAAQ,CAACS,MAAM,CAAC8O,OAAO,qBAA5CJ,qBAAA,CAA8CK,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;QAAA,CAAAJ,sBAAA,GACjE,IAAI,CAAC1M,sBAAsB,cAAA0M,sBAAA,GAA3BA,sBAAA,CAA6BpP,QAAQ,CAACS,MAAM,CAAC8O,OAAO,qBAApDH,sBAAA,CAAsDI,KAAK,CACzD,MAAM,IACR,CAAC,EAAE;QACH3P,kBAAkB,oBAAlBA,kBAAkB,CAAEG,QAAQ,CAACS,MAAM,CAAC8O,OAAO,EAC3CvJ,gBAAgB,oBAAhBA,gBAAgB,CAAEhG,QAAQ,CAACS,MAAM,CAAC8O,OAAO,EACzC,GAAGrC,aAAa,CAAC5M,GAAG,CAAE6M,CAAC;UAAA,IAAAsC,WAAA;UAAA,QAAAA,WAAA,GAAKtC,CAAC,CAACnN,QAAQ,qBAAVyP,WAAA,CAAYhP,MAAM,CAAC8O,OAAO;QAAA,EAAC,CACxD,CAAC;QAEF,IAAI,CAACtM,iBAAiB,CAACyM,OAAO,CAACV,SAAS,CAAC;MAC3C,CAAC,CAAC,OAAOW,CAAC,EAAE;QACV,MAAMA,CAAC;MACT;IACF,CAAC,CAAC;IAEF,OAAO,MAAM;MACXtC,SAAS,CAAC6B,OAAO,CAAEU,CAAC,IAAKA,CAAC,oBAADA,CAAC,CAAG,CAAC,CAAC;IACjC,CAAC;EACH;EAEAzI,2BAA2BA,CAACR,YAAuC,EAAE;IACnE,IAAI,IAAI,CAACA,YAAY,KAAKA,YAAY,EAAE;MACtC,IAAI,CAACA,YAAY,GAAGA,YAAY;IAClC;EACF;EAaAe,aAAaA,CAACmI,YAA8B,EAAE;IAC5C,IAAI,CAACvJ,YAAY,GAAG,IAAAwJ,gCAAe,EAACD,YAAY,CAAC;EACnD;EAEAlI,gBAAgBA,CAACoI,aAA6B,EAAE;IAC9C,IAAI,CAACjG,eAAe,CAACkG,IAAI,CAAC,IAAAC,+BAAc,EAACF,aAAa,CAAC,CAAC;IAExD,IAAI,CAACG,sBAAsB,CAAC,CAAC;EAC/B;EAEAtI,kBAAkBA,CAACvH,OAAiB,EAAE;IACpC,IAAI,CAACkG,gBAAgB,GAAGlG,OAAO;IAC/B,IAAI,CAAC6P,sBAAsB,CAAC,CAAC;EAC/B;EAEArB,SAASA,CAAC/R,MAAuB,EAAE;IAAA,IAAAqT,qBAAA;IACjC,CAAAA,qBAAA,OAAI,CAACC,aAAa,CAACvS,OAAO,aAA1BsS,qBAAA,CAA4BtB,SAAS,CAAC/R,MAAM,CAAC;EAC/C;EAEAgL,iCAAiCA,CAAC5F,KAAc,EAAE;IAChD,IAAI,CAACqF,8BAA8B,GAAGrF,KAAK;EAC7C;EAEAmO,iBAAiBA,CAACC,QAAgB,EAAEhI,KAAa,EAAE;IAAA,IAAAiI,qBAAA;IACjD,CAAAA,qBAAA,OAAI,CAACvK,gBAAgB,aAArBuK,qBAAA,CAAuBF,iBAAiB,CAACC,QAAQ,EAAEhI,KAAK,CAAC;EAC3D;EAEAlB,0BAA0BA,CAACyF,oBAAoB,GAAG,KAAK,EAAE;IACvD,MAAM;MACJxM,OAAO;MACPjC,UAAU,EAAE;QAAEiF;MAAM;IACtB,CAAC,GAAG,IAAI;IAER,MAAMmN,sBAAsB,GAAGnQ,OAAO,CAACiK,MAAM,CAC1C/J,GAAG,IACFA,GAAG,CAACkQ,QAAQ,KAAK,IAAI,IAAIlQ,GAAG,CAAC5B,EAAE,IAAI,IAAI,IAAI4B,GAAG,CAACmQ,gBAAgB,IAAI,IACvE,CAAC;IAED,IAAIF,sBAAsB,CAACxR,MAAM,IAAI,CAACqE,KAAK,CAACtE,IAAI,CAACmD,KAAK,CAAClD,MAAM,EAAE;MAC7D,MAAM2R,SAAS,GAAGH,sBAAsB,CAAClQ,GAAG,CAAEf,MAAM,KAAM;QACxDqR,KAAK,EAAErR,MAAM,CAACZ,EAAE;QAChBkS,SAAS,EAAEtR,MAAM,CAACmR;MACpB,CAAC,CAAC,CAAC;MAEHrN,KAAK,CAACtE,IAAI,CAAC+R,YAAY,CACrBjE,oBAAoB,GAAG8D,SAAS,GAAGA,SAAS,CAACI,KAAK,CAAC,CAAC,EAAE,CAAC,CACzD,CAAC;IACH;EACF;EAsCAjD,oBAAoBA,CAACkD,MAAgB,EAAE;IACrC,IAAI,CAACC,mBAAmB,CAACD,MAAM,CAAC,GAAG,IAAI,CAACpR,eAAe,CAACsC,KAAK,CAAC5B,GAAG,CAC/D,CAAC;MAAE3B,EAAE;MAAEgB;IAAW,CAAC,MAAM;MAAEhB,EAAE;MAAEgB;IAAW,CAAC,CAC7C,CAAC;EACH;EAEAoO,2BAA2BA,CAACiD,MAAgB,EAAW;IAAA,IAAAE,qBAAA;IACrD,MAAMC,MAAM,GAAG,IAAI,CAACF,mBAAmB,CAACD,MAAM,CAAC;IAC/C,IAAI,CAACG,MAAM,EAAE;MACX,OAAO,KAAK;IACd;IACA;IACA,MAAMlH,MAAM,GAAG,IAAI,CAAC5J,OAAO,CAACC,GAAG,CAAEf,MAAM,IAAK;MAC1C,MAAM6R,WAAW,GAAGD,MAAM,CAACE,IAAI,CAAErH,CAAC,IAAKA,CAAC,CAACrL,EAAE,KAAKY,MAAM,CAACZ,EAAE,CAAC;MAC1D,IAAIyS,WAAW,IAAI,IAAI,EAAE;QACvB,OAAO,IAAI,CAAC5Q,eAAe,CAACjB,MAAM,CAAC;MACrC;MACA,MAAM;QAAEZ,EAAE;QAAEc,QAAQ;QAAEC;MAAiC,CAAC,GAAGH,MAAM;MACjE,OAAO;QACLZ,EAAE;QACFgB,UAAU,EACRyR,WAAW,CAACzR,UAAU,IACtB,CAACF,QAAQ,IACTC,gCAAgC,KAAK;MACzC,CAAC;IACH,CAAC,CAAC;IACF,IAAI,CAACE,eAAe,CAACiB,QAAQ,CAC3B,CAAAqQ,qBAAA,OAAI,CAACrR,kBAAkB,aAAvBqR,qBAAA,CAAyBI,WAAW,GAChCrH,MAAM,CAAClL,IAAI,CAAC,IAAAwS,kCAAgB,EAACJ,MAAM,EAAGxB,CAAC,IAAKA,CAAC,oBAADA,CAAC,CAAEhR,EAAE,CAAC,CAAC,GACnDsL,MACN,CAAC;IACD,OAAO,IAAI;EACb;EAEAuH,kBAAkBA,CAAA,EAAG;IACnB,IAAI,CAACP,mBAAmB,GAAG,CAAC,CAAC;EAC/B;EAEApJ,yBAAyBA,CAACgI,YAA8B,EAAE;IACxD,MAAM;MACJzR,UAAU,EAAE;QAAEiF;MAAM;IACtB,CAAC,GAAG,IAAI;IACR,MAAMoO,eAAe,GAAG,IAAIpH,GAAG,CAACwF,YAAY,CAACvP,GAAG,CAAEf,MAAM,IAAKA,MAAM,CAACZ,EAAE,CAAC,CAAC;IAExE,MAAM+S,gBAAgB,GAAGrO,KAAK,CAACtE,IAAI,CAACmD,KAAK,CAACoI,MAAM,CAC9C,CAAC;MAAEsG;IAAM,CAAC,KAAK,CAACa,eAAe,CAAClH,GAAG,CAACqG,KAAK,CAC3C,CAAC;;IAED;IACA;IACA,IAAIc,gBAAgB,CAAC1S,MAAM,KAAK,CAAC,EAAE;MACjC;IACF;IAEA0S,gBAAgB,CAACxC,OAAO,CAAEyC,CAAC,IAAK;MAC9BtO,KAAK,CAACtE,IAAI,CAACmD,KAAK,CAAC0P,MAAM,CAACD,CAAC,CAAC;IAC5B,CAAC,CAAC;IACFtO,KAAK,CAACtE,IAAI,CAACwP,MAAM,CAACsD,IAAI,CAAC,QAAQ,CAAC;IAChC,IAAI,CAACzT,UAAU,CAAC0T,YAAY,CAAC;MAAEC,WAAW,EAAE;IAAK,CAAC,CAAC;EACrD;EAMAC,gBAAgBA,CAAA,EAAG;IACjB,IAAI,CAACpQ,MAAM,CAACqQ,aAAa,CAAC,SAAS,CAAC;EACtC;EAgBAC,yBAAyBA,CAAA,EAAG,CAAC;EAE7B,IAAInK,oBAAoBA,CAAA,EAAG;IACzB,OAAOgE,KAAK,CAACoG,IAAI,CACf,IAAI,CAACjR,KAAK,CAACuD,WAAW,CACnB4H,OAAO,CAAC,CAAC;MAAEhJ;IAAM,CAAC,KACjBA,KAAK,CAAC0E,oBAAoB,CAACuC,MAAM,CAC/B,CAAC,CAAC8H,CAAC,EAAE9H,MAAM,CAAC,KAAKA,MAAM,KAAKjH,KAAK,CAACgP,MACpC,CACF,CAAC,CACAC,MAAM,CACL,CAAChS,GAAG,EAAEiS,KAAK,KAAKjS,GAAG,CAACkS,GAAG,CAACD,KAAK,CAAC,CAAC,CAAC,EAAEA,KAAK,CAAC,EACxC,IAAIzU,GAAG,CAAoC,CAC7C,CAAC,CACA2U,MAAM,CAAC,CACZ,CAAC;EACH;EA4EAC,sBAAsBA,CAAA,EAA4B;IAChD,MAAM;MAAEhQ,sBAAsB;MAAEG;IAAoB,CAAC,GAAG,IAAI;IAC5D,OAAO,CAACH,sBAAsB,EAAEG,mBAAmB,CAAC,CACjDyH,MAAM,CACJqF,CAAC,IACAA,CAAC,IAAI,IACT,CAAC,CACArF,MAAM,CAAEqF,CAAC;MAAA,IAAAgD,QAAA;MAAA,OAAK,GAAAA,QAAA,GAAChD,CAAC,CAACiD,KAAK,aAAPD,QAAA,CAASE,wBAAwB;IAAA,EAAC,CACjDxG,OAAO,CAAEsD,CAAC,IAAKA,CAAC,CAACmD,mBAAmB,CAAC;EAC1C;AACF;AAAC7W,OAAA,CAAAW,sBAAA,GAAAA,sBAAA","ignoreList":[]}
|
|
@@ -4,6 +4,7 @@ exports.__esModule = true;
|
|
|
4
4
|
exports.buildEditableFieldColumns = buildEditableFieldColumns;
|
|
5
5
|
exports.toValidationRules = toValidationRules;
|
|
6
6
|
var _bexCore = require("@wix/bex-core");
|
|
7
|
+
var _patternsFields = require("@wix/patterns-fields");
|
|
7
8
|
var _fieldTypeToCellType = require("./EditableTable/fieldTypeToCellType");
|
|
8
9
|
// Types whose editable cell needs typeConfig the projection can't supply yet
|
|
9
10
|
// (referenced collection, address shape). Until that lands, they render as a
|
|
@@ -66,6 +67,18 @@ function toValidationRules(field, translate) {
|
|
|
66
67
|
message: ''
|
|
67
68
|
});
|
|
68
69
|
}
|
|
70
|
+
// A pattern the platform refuses to run (uncompilable, over-long, or able to
|
|
71
|
+
// backtrack catastrophically) yields no rule, matching what the form inputs do.
|
|
72
|
+
const patternRegex = (0, _patternsFields.compilePattern)(v.pattern);
|
|
73
|
+
if (patternRegex) {
|
|
74
|
+
rules.push({
|
|
75
|
+
type: 'pattern',
|
|
76
|
+
value: patternRegex,
|
|
77
|
+
message: translate('cairo.editableTable.field.validation.pattern', {
|
|
78
|
+
fieldName: field.displayName
|
|
79
|
+
})
|
|
80
|
+
});
|
|
81
|
+
}
|
|
69
82
|
if ((_v$specificValues = v.specificValues) != null && _v$specificValues.length) {
|
|
70
83
|
rules.push({
|
|
71
84
|
type: 'specificValues',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bexCore","require","_fieldTypeToCellType","NEEDS_TYPE_CONFIG","Set","hasEditor","field","customCell","EditComponent","type","has","toValidationRules","translate","_v$numberRange","_v$numberRange2","_v$stringLengthRange","_v$stringLengthRange2","_v$specificValues","v","validation","rules","required","push","message","fieldName","displayName","numberRange","min","value","max","stringLengthRange","minLength","maxLength","specificValues","length","values","synthesizeCellConfig","definition","_definition$value","editableTable","valueValidate","validate","buildEditableFieldColumns","source","editableCellFor","canWrite","setCellValue","fields","map","_definition$capabilit","_field$capabilities","id","columnIdForField","resolveFieldTypeDefinition","undefined","sourceCell","cellType","FIELD_TYPE_TO_CELL_TYPE","editable","isSystem","typeConfig","title","name","isPrimary","hideable","sortable","capabilities","getValue","item","getCellValue","setValue"],"sources":["../../../src/state/buildEditableFieldColumns.ts"],"sourcesContent":["import type {\n Field,\n FieldsSource,\n FieldTypeDefinition,\n PatternsFieldType,\n Translate,\n ValidationRule,\n} from '@wix/bex-core';\nimport { resolveFieldTypeDefinition } from '@wix/bex-core';\nimport type { CellType, EditableColumn } from './EditableTable/types';\nimport { FIELD_TYPE_TO_CELL_TYPE } from './EditableTable/fieldTypeToCellType';\nimport type { EditableCellUpgrade } from './CollectionFieldsSourceState';\n\n// Types whose editable cell needs typeConfig the projection can't supply yet\n// (referenced collection, address shape). Until that lands, they render as a\n// read-only 'object' cell rather than a broken editor.\nconst NEEDS_TYPE_CONFIG = new Set<PatternsFieldType>([\n 'REFERENCE',\n 'MULTI_REFERENCE',\n 'ADDRESS',\n]);\n\n/**\n * Whether this column has a usable inline editor. Read-only cases:\n * `NEEDS_TYPE_CONFIG` types are downgraded to a display cell, `UNKNOWN` has no\n * editor, and a `CUSTOM` field is only editable through a definition that\n * supplies an EditComponent. Everything else keeps its cell type's own editor —\n * including OBJECT / ARRAY, whose cells edit as JSON.\n */\nfunction hasEditor(field: Field, customCell?: Omit<CellType, 'type'>): boolean {\n if (customCell) {\n return !!customCell.EditComponent;\n }\n return (\n field.type !== 'CUSTOM' &&\n field.type !== 'UNKNOWN' &&\n !NEEDS_TYPE_CONFIG.has(field.type)\n );\n}\n\nexport function toValidationRules(\n field: Field,\n translate: Translate,\n): ValidationRule[] {\n const v = field.validation;\n if (!v) {\n return [];\n }\n const rules: ValidationRule[] = [];\n if (v.required) {\n rules.push({\n type: 'required',\n message: translate('cairo.editableTable.field.validation.required', {\n fieldName: field.displayName,\n }),\n });\n }\n if (v.numberRange?.min != null) {\n rules.push({ type: 'min', value: v.numberRange.min, message: '' });\n }\n if (v.numberRange?.max != null) {\n rules.push({ type: 'max', value: v.numberRange.max, message: '' });\n }\n if (v.stringLengthRange?.minLength != null) {\n rules.push({\n type: 'minLength',\n value: v.stringLengthRange.minLength,\n message: '',\n });\n }\n if (v.stringLengthRange?.maxLength != null) {\n rules.push({\n type: 'maxLength',\n value: v.stringLengthRange.maxLength,\n message: '',\n });\n }\n if (v.specificValues?.length) {\n rules.push({\n type: 'specificValues',\n values: v.specificValues,\n message: translate(\n 'cairo.editableTable.field.validation.specificValues',\n { fieldName: field.displayName },\n ),\n });\n }\n return rules;\n}\n\n// The inline-custom cell config for a resolved definition: its editableTable\n// slot, with the definition's value-level validation layered in when the slot\n// doesn't validate itself.\nfunction synthesizeCellConfig(\n definition: FieldTypeDefinition,\n): Omit<CellType, 'type'> {\n const editableTable = definition.editableTable!;\n const valueValidate = definition.value?.validate;\n const validate =\n valueValidate &&\n ((value: unknown, rules?: ValidationRule[]) => valueValidate(value, rules));\n return { ...editableTable, validate };\n}\n\n/**\n * Projects a FieldsSource's fields into EditableTable columns: a cell type by\n * field type, value read/write through the source, validation from the field,\n * and the flags the header reads for its disable rules. A cell is editable only\n * when the source can write it back (setCellValue) and the field isn't a system\n * field. A CUSTOM field renders through its definition's editableTable slot as\n * an inline custom cell; without one it falls back to a read-only object cell.\n */\nexport function buildEditableFieldColumns(\n source: FieldsSource,\n translate: Translate,\n editableCellFor?: (field: Field) => EditableCellUpgrade | undefined,\n): EditableColumn<Record<string, unknown>>[] {\n const canWrite = typeof source.setCellValue === 'function';\n return source.fields.map((field) => {\n const id = source.columnIdForField(field);\n const definition = resolveFieldTypeDefinition(source, field);\n const customCell = definition?.editableTable\n ? synthesizeCellConfig(definition)\n : undefined;\n // A source-supplied cell wins over the downgrade: it carries the typeConfig\n // that made the type read-only here in the first place.\n const sourceCell = customCell\n ? undefined\n : NEEDS_TYPE_CONFIG.has(field.type)\n ? editableCellFor?.(field)\n : undefined;\n const cellType = customCell\n ? 'custom'\n : sourceCell?.cellType ??\n (NEEDS_TYPE_CONFIG.has(field.type)\n ? 'object'\n : FIELD_TYPE_TO_CELL_TYPE[field.type] ?? 'object');\n const validation = toValidationRules(field, translate);\n const editable =\n canWrite &&\n !field.isSystem &&\n (!!sourceCell || hasEditor(field, customCell));\n return {\n id,\n cellType,\n ...(customCell && { typeConfig: customCell }),\n ...(sourceCell && { typeConfig: sourceCell.typeConfig }),\n field,\n title: field.displayName,\n name: field.displayName,\n isPrimary: field.isPrimary,\n isSystem: field.isSystem,\n hideable: true,\n sortable:\n definition?.capabilities?.sortable ??\n field.capabilities?.sortable ??\n false,\n editable,\n validation: validation.length ? validation : undefined,\n getValue: (item) => source.getCellValue(item, field),\n setValue: editable\n ? (item, value) =>\n source.setCellValue!(item, field, value) as Record<string, unknown>\n : undefined,\n } as EditableColumn<Record<string, unknown>>;\n });\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_bexCore","require","_patternsFields","_fieldTypeToCellType","NEEDS_TYPE_CONFIG","Set","hasEditor","field","customCell","EditComponent","type","has","toValidationRules","translate","_v$numberRange","_v$numberRange2","_v$stringLengthRange","_v$stringLengthRange2","_v$specificValues","v","validation","rules","required","push","message","fieldName","displayName","numberRange","min","value","max","stringLengthRange","minLength","maxLength","patternRegex","compilePattern","pattern","specificValues","length","values","synthesizeCellConfig","definition","_definition$value","editableTable","valueValidate","validate","buildEditableFieldColumns","source","editableCellFor","canWrite","setCellValue","fields","map","_definition$capabilit","_field$capabilities","id","columnIdForField","resolveFieldTypeDefinition","undefined","sourceCell","cellType","FIELD_TYPE_TO_CELL_TYPE","editable","isSystem","typeConfig","title","name","isPrimary","hideable","sortable","capabilities","getValue","item","getCellValue","setValue"],"sources":["../../../src/state/buildEditableFieldColumns.ts"],"sourcesContent":["import type {\n Field,\n FieldsSource,\n FieldTypeDefinition,\n PatternsFieldType,\n Translate,\n ValidationRule,\n} from '@wix/bex-core';\nimport { resolveFieldTypeDefinition } from '@wix/bex-core';\nimport { compilePattern } from '@wix/patterns-fields';\nimport type { CellType, EditableColumn } from './EditableTable/types';\nimport { FIELD_TYPE_TO_CELL_TYPE } from './EditableTable/fieldTypeToCellType';\nimport type { EditableCellUpgrade } from './CollectionFieldsSourceState';\n\n// Types whose editable cell needs typeConfig the projection can't supply yet\n// (referenced collection, address shape). Until that lands, they render as a\n// read-only 'object' cell rather than a broken editor.\nconst NEEDS_TYPE_CONFIG = new Set<PatternsFieldType>([\n 'REFERENCE',\n 'MULTI_REFERENCE',\n 'ADDRESS',\n]);\n\n/**\n * Whether this column has a usable inline editor. Read-only cases:\n * `NEEDS_TYPE_CONFIG` types are downgraded to a display cell, `UNKNOWN` has no\n * editor, and a `CUSTOM` field is only editable through a definition that\n * supplies an EditComponent. Everything else keeps its cell type's own editor —\n * including OBJECT / ARRAY, whose cells edit as JSON.\n */\nfunction hasEditor(field: Field, customCell?: Omit<CellType, 'type'>): boolean {\n if (customCell) {\n return !!customCell.EditComponent;\n }\n return (\n field.type !== 'CUSTOM' &&\n field.type !== 'UNKNOWN' &&\n !NEEDS_TYPE_CONFIG.has(field.type)\n );\n}\n\nexport function toValidationRules(\n field: Field,\n translate: Translate,\n): ValidationRule[] {\n const v = field.validation;\n if (!v) {\n return [];\n }\n const rules: ValidationRule[] = [];\n if (v.required) {\n rules.push({\n type: 'required',\n message: translate('cairo.editableTable.field.validation.required', {\n fieldName: field.displayName,\n }),\n });\n }\n if (v.numberRange?.min != null) {\n rules.push({ type: 'min', value: v.numberRange.min, message: '' });\n }\n if (v.numberRange?.max != null) {\n rules.push({ type: 'max', value: v.numberRange.max, message: '' });\n }\n if (v.stringLengthRange?.minLength != null) {\n rules.push({\n type: 'minLength',\n value: v.stringLengthRange.minLength,\n message: '',\n });\n }\n if (v.stringLengthRange?.maxLength != null) {\n rules.push({\n type: 'maxLength',\n value: v.stringLengthRange.maxLength,\n message: '',\n });\n }\n // A pattern the platform refuses to run (uncompilable, over-long, or able to\n // backtrack catastrophically) yields no rule, matching what the form inputs do.\n const patternRegex = compilePattern(v.pattern);\n if (patternRegex) {\n rules.push({\n type: 'pattern',\n value: patternRegex,\n message: translate('cairo.editableTable.field.validation.pattern', {\n fieldName: field.displayName,\n }),\n });\n }\n if (v.specificValues?.length) {\n rules.push({\n type: 'specificValues',\n values: v.specificValues,\n message: translate(\n 'cairo.editableTable.field.validation.specificValues',\n { fieldName: field.displayName },\n ),\n });\n }\n return rules;\n}\n\n// The inline-custom cell config for a resolved definition: its editableTable\n// slot, with the definition's value-level validation layered in when the slot\n// doesn't validate itself.\nfunction synthesizeCellConfig(\n definition: FieldTypeDefinition,\n): Omit<CellType, 'type'> {\n const editableTable = definition.editableTable!;\n const valueValidate = definition.value?.validate;\n const validate =\n valueValidate &&\n ((value: unknown, rules?: ValidationRule[]) => valueValidate(value, rules));\n return { ...editableTable, validate };\n}\n\n/**\n * Projects a FieldsSource's fields into EditableTable columns: a cell type by\n * field type, value read/write through the source, validation from the field,\n * and the flags the header reads for its disable rules. A cell is editable only\n * when the source can write it back (setCellValue) and the field isn't a system\n * field. A CUSTOM field renders through its definition's editableTable slot as\n * an inline custom cell; without one it falls back to a read-only object cell.\n */\nexport function buildEditableFieldColumns(\n source: FieldsSource,\n translate: Translate,\n editableCellFor?: (field: Field) => EditableCellUpgrade | undefined,\n): EditableColumn<Record<string, unknown>>[] {\n const canWrite = typeof source.setCellValue === 'function';\n return source.fields.map((field) => {\n const id = source.columnIdForField(field);\n const definition = resolveFieldTypeDefinition(source, field);\n const customCell = definition?.editableTable\n ? synthesizeCellConfig(definition)\n : undefined;\n // A source-supplied cell wins over the downgrade: it carries the typeConfig\n // that made the type read-only here in the first place.\n const sourceCell = customCell\n ? undefined\n : NEEDS_TYPE_CONFIG.has(field.type)\n ? editableCellFor?.(field)\n : undefined;\n const cellType = customCell\n ? 'custom'\n : sourceCell?.cellType ??\n (NEEDS_TYPE_CONFIG.has(field.type)\n ? 'object'\n : FIELD_TYPE_TO_CELL_TYPE[field.type] ?? 'object');\n const validation = toValidationRules(field, translate);\n const editable =\n canWrite &&\n !field.isSystem &&\n (!!sourceCell || hasEditor(field, customCell));\n return {\n id,\n cellType,\n ...(customCell && { typeConfig: customCell }),\n ...(sourceCell && { typeConfig: sourceCell.typeConfig }),\n field,\n title: field.displayName,\n name: field.displayName,\n isPrimary: field.isPrimary,\n isSystem: field.isSystem,\n hideable: true,\n sortable:\n definition?.capabilities?.sortable ??\n field.capabilities?.sortable ??\n false,\n editable,\n validation: validation.length ? validation : undefined,\n getValue: (item) => source.getCellValue(item, field),\n setValue: editable\n ? (item, value) =>\n source.setCellValue!(item, field, value) as Record<string, unknown>\n : undefined,\n } as EditableColumn<Record<string, unknown>>;\n });\n}\n"],"mappings":";;;;;AAQA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AAEA,IAAAE,oBAAA,GAAAF,OAAA;AAGA;AACA;AACA;AACA,MAAMG,iBAAiB,GAAG,IAAIC,GAAG,CAAoB,CACnD,WAAW,EACX,iBAAiB,EACjB,SAAS,CACV,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,SAASA,CAACC,KAAY,EAAEC,UAAmC,EAAW;EAC7E,IAAIA,UAAU,EAAE;IACd,OAAO,CAAC,CAACA,UAAU,CAACC,aAAa;EACnC;EACA,OACEF,KAAK,CAACG,IAAI,KAAK,QAAQ,IACvBH,KAAK,CAACG,IAAI,KAAK,SAAS,IACxB,CAACN,iBAAiB,CAACO,GAAG,CAACJ,KAAK,CAACG,IAAI,CAAC;AAEtC;AAEO,SAASE,iBAAiBA,CAC/BL,KAAY,EACZM,SAAoB,EACF;EAAA,IAAAC,cAAA,EAAAC,eAAA,EAAAC,oBAAA,EAAAC,qBAAA,EAAAC,iBAAA;EAClB,MAAMC,CAAC,GAAGZ,KAAK,CAACa,UAAU;EAC1B,IAAI,CAACD,CAAC,EAAE;IACN,OAAO,EAAE;EACX;EACA,MAAME,KAAuB,GAAG,EAAE;EAClC,IAAIF,CAAC,CAACG,QAAQ,EAAE;IACdD,KAAK,CAACE,IAAI,CAAC;MACTb,IAAI,EAAE,UAAU;MAChBc,OAAO,EAAEX,SAAS,CAAC,+CAA+C,EAAE;QAClEY,SAAS,EAAElB,KAAK,CAACmB;MACnB,CAAC;IACH,CAAC,CAAC;EACJ;EACA,IAAI,EAAAZ,cAAA,GAAAK,CAAC,CAACQ,WAAW,qBAAbb,cAAA,CAAec,GAAG,KAAI,IAAI,EAAE;IAC9BP,KAAK,CAACE,IAAI,CAAC;MAAEb,IAAI,EAAE,KAAK;MAAEmB,KAAK,EAAEV,CAAC,CAACQ,WAAW,CAACC,GAAG;MAAEJ,OAAO,EAAE;IAAG,CAAC,CAAC;EACpE;EACA,IAAI,EAAAT,eAAA,GAAAI,CAAC,CAACQ,WAAW,qBAAbZ,eAAA,CAAee,GAAG,KAAI,IAAI,EAAE;IAC9BT,KAAK,CAACE,IAAI,CAAC;MAAEb,IAAI,EAAE,KAAK;MAAEmB,KAAK,EAAEV,CAAC,CAACQ,WAAW,CAACG,GAAG;MAAEN,OAAO,EAAE;IAAG,CAAC,CAAC;EACpE;EACA,IAAI,EAAAR,oBAAA,GAAAG,CAAC,CAACY,iBAAiB,qBAAnBf,oBAAA,CAAqBgB,SAAS,KAAI,IAAI,EAAE;IAC1CX,KAAK,CAACE,IAAI,CAAC;MACTb,IAAI,EAAE,WAAW;MACjBmB,KAAK,EAAEV,CAAC,CAACY,iBAAiB,CAACC,SAAS;MACpCR,OAAO,EAAE;IACX,CAAC,CAAC;EACJ;EACA,IAAI,EAAAP,qBAAA,GAAAE,CAAC,CAACY,iBAAiB,qBAAnBd,qBAAA,CAAqBgB,SAAS,KAAI,IAAI,EAAE;IAC1CZ,KAAK,CAACE,IAAI,CAAC;MACTb,IAAI,EAAE,WAAW;MACjBmB,KAAK,EAAEV,CAAC,CAACY,iBAAiB,CAACE,SAAS;MACpCT,OAAO,EAAE;IACX,CAAC,CAAC;EACJ;EACA;EACA;EACA,MAAMU,YAAY,GAAG,IAAAC,8BAAc,EAAChB,CAAC,CAACiB,OAAO,CAAC;EAC9C,IAAIF,YAAY,EAAE;IAChBb,KAAK,CAACE,IAAI,CAAC;MACTb,IAAI,EAAE,SAAS;MACfmB,KAAK,EAAEK,YAAY;MACnBV,OAAO,EAAEX,SAAS,CAAC,8CAA8C,EAAE;QACjEY,SAAS,EAAElB,KAAK,CAACmB;MACnB,CAAC;IACH,CAAC,CAAC;EACJ;EACA,KAAAR,iBAAA,GAAIC,CAAC,CAACkB,cAAc,aAAhBnB,iBAAA,CAAkBoB,MAAM,EAAE;IAC5BjB,KAAK,CAACE,IAAI,CAAC;MACTb,IAAI,EAAE,gBAAgB;MACtB6B,MAAM,EAAEpB,CAAC,CAACkB,cAAc;MACxBb,OAAO,EAAEX,SAAS,CAChB,qDAAqD,EACrD;QAAEY,SAAS,EAAElB,KAAK,CAACmB;MAAY,CACjC;IACF,CAAC,CAAC;EACJ;EACA,OAAOL,KAAK;AACd;;AAEA;AACA;AACA;AACA,SAASmB,oBAAoBA,CAC3BC,UAA+B,EACP;EAAA,IAAAC,iBAAA;EACxB,MAAMC,aAAa,GAAGF,UAAU,CAACE,aAAc;EAC/C,MAAMC,aAAa,IAAAF,iBAAA,GAAGD,UAAU,CAACZ,KAAK,qBAAhBa,iBAAA,CAAkBG,QAAQ;EAChD,MAAMA,QAAQ,GACZD,aAAa,KACZ,CAACf,KAAc,EAAER,KAAwB,KAAKuB,aAAa,CAACf,KAAK,EAAER,KAAK,CAAC,CAAC;EAC7E,OAAO;IAAE,GAAGsB,aAAa;IAAEE;EAAS,CAAC;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,yBAAyBA,CACvCC,MAAoB,EACpBlC,SAAoB,EACpBmC,eAAmE,EACxB;EAC3C,MAAMC,QAAQ,GAAG,OAAOF,MAAM,CAACG,YAAY,KAAK,UAAU;EAC1D,OAAOH,MAAM,CAACI,MAAM,CAACC,GAAG,CAAE7C,KAAK,IAAK;IAAA,IAAA8C,qBAAA,EAAAC,mBAAA;IAClC,MAAMC,EAAE,GAAGR,MAAM,CAACS,gBAAgB,CAACjD,KAAK,CAAC;IACzC,MAAMkC,UAAU,GAAG,IAAAgB,mCAA0B,EAACV,MAAM,EAAExC,KAAK,CAAC;IAC5D,MAAMC,UAAU,GAAGiC,UAAU,YAAVA,UAAU,CAAEE,aAAa,GACxCH,oBAAoB,CAACC,UAAU,CAAC,GAChCiB,SAAS;IACb;IACA;IACA,MAAMC,UAAU,GAAGnD,UAAU,GACzBkD,SAAS,GACTtD,iBAAiB,CAACO,GAAG,CAACJ,KAAK,CAACG,IAAI,CAAC,GACjCsC,eAAe,oBAAfA,eAAe,CAAGzC,KAAK,CAAC,GACxBmD,SAAS;IACb,MAAME,QAAQ,GAAGpD,UAAU,GACvB,QAAQ,GACR,CAAAmD,UAAU,oBAAVA,UAAU,CAAEC,QAAQ,MACnBxD,iBAAiB,CAACO,GAAG,CAACJ,KAAK,CAACG,IAAI,CAAC,GAC9B,QAAQ,GACRmD,4CAAuB,CAACtD,KAAK,CAACG,IAAI,CAAC,IAAI,QAAQ,CAAC;IACxD,MAAMU,UAAU,GAAGR,iBAAiB,CAACL,KAAK,EAAEM,SAAS,CAAC;IACtD,MAAMiD,QAAQ,GACZb,QAAQ,IACR,CAAC1C,KAAK,CAACwD,QAAQ,KACd,CAAC,CAACJ,UAAU,IAAIrD,SAAS,CAACC,KAAK,EAAEC,UAAU,CAAC,CAAC;IAChD,OAAO;MACL+C,EAAE;MACFK,QAAQ;MACR,IAAIpD,UAAU,IAAI;QAAEwD,UAAU,EAAExD;MAAW,CAAC,CAAC;MAC7C,IAAImD,UAAU,IAAI;QAAEK,UAAU,EAAEL,UAAU,CAACK;MAAW,CAAC,CAAC;MACxDzD,KAAK;MACL0D,KAAK,EAAE1D,KAAK,CAACmB,WAAW;MACxBwC,IAAI,EAAE3D,KAAK,CAACmB,WAAW;MACvByC,SAAS,EAAE5D,KAAK,CAAC4D,SAAS;MAC1BJ,QAAQ,EAAExD,KAAK,CAACwD,QAAQ;MACxBK,QAAQ,EAAE,IAAI;MACdC,QAAQ,EACN,CAAA5B,UAAU,aAAAY,qBAAA,GAAVZ,UAAU,CAAE6B,YAAY,qBAAxBjB,qBAAA,CAA0BgB,QAAQ,OAAAf,mBAAA,GAClC/C,KAAK,CAAC+D,YAAY,qBAAlBhB,mBAAA,CAAoBe,QAAQ,KAC5B,KAAK;MACPP,QAAQ;MACR1C,UAAU,EAAEA,UAAU,CAACkB,MAAM,GAAGlB,UAAU,GAAGsC,SAAS;MACtDa,QAAQ,EAAGC,IAAI,IAAKzB,MAAM,CAAC0B,YAAY,CAACD,IAAI,EAAEjE,KAAK,CAAC;MACpDmE,QAAQ,EAAEZ,QAAQ,GACd,CAACU,IAAI,EAAE3C,KAAK,KACVkB,MAAM,CAACG,YAAY,CAAEsB,IAAI,EAAEjE,KAAK,EAAEsB,KAAK,CAA4B,GACrE6B;IACN,CAAC;EACH,CAAC,CAAC;AACJ","ignoreList":[]}
|