@wix/patterns 1.494.0 → 1.496.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.js +13 -12
- package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.js.map +1 -1
- package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.st.css.js +2 -2
- package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js +5 -5
- package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +4 -4
- package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionToolbarFilters/CollectionToolbarFiltersState.js +12 -2
- package/dist/cjs/components/CollectionToolbarFilters/CollectionToolbarFiltersState.js.map +1 -1
- package/dist/cjs/components/CollectionToolbarFilters/useFiltersSyncProps.js +16 -1
- package/dist/cjs/components/CollectionToolbarFilters/useFiltersSyncProps.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/CustomFieldModal/CustomFieldFormPiiFields.st.css.js +3 -3
- package/dist/cjs/components/CustomFieldModal/CustomFieldFormPiiFields.st.css.js.map +1 -1
- package/dist/cjs/components/DragHandle/DragHandle.st.css.js +2 -2
- package/dist/cjs/components/DragHandle/DragHandle.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/EditableCell.js +47 -9
- package/dist/cjs/components/EditableTable/EditableCell.js.map +1 -1
- package/dist/cjs/components/EditableTable/EditableCell.st.css +31 -39
- package/dist/cjs/components/EditableTable/EditableCell.st.css.js +6 -10
- package/dist/cjs/components/EditableTable/EditableCell.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/EditableCell.uni.driver.js +2 -2
- package/dist/cjs/components/EditableTable/EditableCell.uni.driver.js.map +1 -1
- package/dist/cjs/components/EditableTable/EditableTableContextMenu.js +13 -10
- package/dist/cjs/components/EditableTable/EditableTableContextMenu.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/HeaderFieldActions.js +4 -3
- package/dist/cjs/components/EditableTable/HeaderFieldActions.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/JsonInputEdit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/JsonInputEdit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/color/Edit.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/color/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css.js +8 -8
- package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css.js +7 -7
- package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/multiReference/View.js +3 -1
- package/dist/cjs/components/EditableTable/cellTypes/multiReference/View.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/multiReference/index.js +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/multiReference/index.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/reference/EmptyReferenceView.st.css.js +6 -6
- package/dist/cjs/components/EditableTable/cellTypes/reference/EmptyReferenceView.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js +4 -4
- package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css.js +4 -4
- package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js +5 -5
- package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js.map +1 -1
- package/dist/cjs/components/EmptyState/EmptyStateBase.st.css.js +2 -2
- package/dist/cjs/components/EmptyState/EmptyStateBase.st.css.js.map +1 -1
- package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js +2 -2
- package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js.map +1 -1
- package/dist/cjs/components/EntityPageFields/EntityPageCustomField.js +2 -2
- package/dist/cjs/components/EntityPageFields/EntityPageCustomField.js.map +1 -1
- package/dist/cjs/components/EntityPageFields/EntityPageField.st.css.js +3 -3
- package/dist/cjs/components/EntityPageFields/EntityPageField.st.css.js.map +1 -1
- package/dist/cjs/components/Fade/Fade.st.css.js +2 -2
- package/dist/cjs/components/Fade/Fade.st.css.js.map +1 -1
- package/dist/cjs/components/FieldActions/FieldActions.js +18 -14
- package/dist/cjs/components/FieldActions/FieldActions.js.map +1 -1
- package/dist/cjs/components/FieldActions/headerActionTypes.js.map +1 -1
- package/dist/cjs/components/FiltersPanel/FilterRevealAnchor.js +51 -0
- package/dist/cjs/components/FiltersPanel/FilterRevealAnchor.js.map +1 -0
- package/dist/cjs/components/FiltersPanel/FiltersPanel.js +13 -15
- package/dist/cjs/components/FiltersPanel/FiltersPanel.js.map +1 -1
- package/dist/cjs/components/FiltersPanel/FiltersPanelState.js +50 -0
- package/dist/cjs/components/FiltersPanel/FiltersPanelState.js.map +1 -1
- package/dist/cjs/components/Heading/Heading.st.css.js +2 -2
- package/dist/cjs/components/Heading/Heading.st.css.js.map +1 -1
- package/dist/cjs/components/ImportButton/ImportButtonModalLayout.js +27 -17
- package/dist/cjs/components/ImportButton/ImportButtonModalLayout.js.map +1 -1
- package/dist/cjs/components/ImportButton/ImportStepConfiguration.js +33 -37
- package/dist/cjs/components/ImportButton/ImportStepConfiguration.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/ImportButton/createImportFieldValidator.js +22 -0
- package/dist/cjs/components/ImportButton/createImportFieldValidator.js.map +1 -0
- 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/ScrollableContent/ScrollableContent.st.css.js +2 -2
- package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
- package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js +10 -10
- package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js.map +1 -1
- package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
- package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
- package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
- package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
- package/dist/cjs/components/Table/AddFieldColumnHeader.st.css.js +6 -6
- package/dist/cjs/components/Table/AddFieldColumnHeader.st.css.js.map +1 -1
- package/dist/cjs/components/Table/NumberCell.st.css.js +2 -2
- package/dist/cjs/components/Table/NumberCell.st.css.js.map +1 -1
- package/dist/cjs/components/TableFolders/TableFolders.uni.driver.js +8 -0
- package/dist/cjs/components/TableFolders/TableFolders.uni.driver.js.map +1 -1
- package/dist/cjs/components/TableFolders/TableFoldersContent.js +26 -10
- package/dist/cjs/components/TableFolders/TableFoldersContent.js.map +1 -1
- package/dist/cjs/components/TableFolders/buildFoldersMobileColumns.js +37 -0
- package/dist/cjs/components/TableFolders/buildFoldersMobileColumns.js.map +1 -0
- package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +3 -3
- package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
- package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
- package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
- package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
- package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js.map +1 -1
- package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
- package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
- package/dist/cjs/components/common.st.css.js +4 -4
- package/dist/cjs/components/common.st.css.js.map +1 -1
- package/dist/cjs/hooks/useBuildAccordionItems.js +45 -24
- package/dist/cjs/hooks/useBuildAccordionItems.js.map +1 -1
- package/dist/cjs/state/CollectionFieldsSourceState.js +6 -4
- package/dist/cjs/state/CollectionFieldsSourceState.js.map +1 -1
- package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js +3 -3
- package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
- package/dist/cjs/state/CollectionPage/MobilePrimaryActionBar.st.css.js +2 -2
- package/dist/cjs/state/CollectionPage/MobilePrimaryActionBar.st.css.js.map +1 -1
- package/dist/cjs/state/CollectionPage/TitleBadges.st.css.js +4 -4
- package/dist/cjs/state/CollectionPage/TitleBadges.st.css.js.map +1 -1
- package/dist/cjs/state/EditableTable/CellValueState.js +27 -6
- package/dist/cjs/state/EditableTable/CellValueState.js.map +1 -1
- package/dist/cjs/state/EditableTable/EditableTableState.js +2 -0
- package/dist/cjs/state/EditableTable/EditableTableState.js.map +1 -1
- package/dist/cjs/state/EditableTable/types.js.map +1 -1
- package/dist/cjs/state/EditableTable/utils.js +0 -52
- 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 +1 -0
- package/dist/cjs/state/ToolbarCollectionState.js.map +1 -1
- package/dist/cjs/state/buildEditableFieldColumns.js +2 -81
- package/dist/cjs/state/buildEditableFieldColumns.js.map +1 -1
- package/dist/cjs/styles.global.css +2 -2
- package/dist/cjs/{components/CollectionTable → utils}/buildMobileColumns.js +41 -22
- package/dist/cjs/utils/buildMobileColumns.js.map +1 -0
- package/dist/cjs/utils/fieldValidation.js +136 -0
- package/dist/cjs/utils/fieldValidation.js.map +1 -0
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/docs/CustomFieldType.md +4 -2
- package/dist/docs/ImportButton.md +11 -1
- package/dist/dts-bundle/components/EditableTable.d.ts +4 -0
- package/dist/dts-bundle/components/LayoutSwitch.d.ts +4 -0
- package/dist/dts-bundle/index.json +37 -37
- package/dist/dts-bundle/index.txt +8 -8
- package/dist/dts-bundle/types/CellType.d.ts +13 -7
- package/dist/dts-bundle/types/Column.d.ts +4 -0
- package/dist/dts-bundle/types/EntityPageState.d.ts +4 -0
- package/dist/dts-bundle/types/SchemaSource.d.ts +7 -2
- package/dist/dts-bundle/types/SchemaSourceInput.d.ts +7 -2
- package/dist/dts-bundle/types/UseCmsSchemaSourceDeps.d.ts +7 -2
- package/dist/esm/components/CardContainer/CardContainer.st.css.js +2 -2
- package/dist/esm/components/CardContainer/CardContainer.st.css.js.map +1 -1
- package/dist/esm/components/CmsFieldManagement/CmsFieldForm.st.css.js +2 -2
- package/dist/esm/components/CmsFieldManagement/CmsFieldModal.st.css.js +2 -2
- package/dist/esm/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js +2 -2
- package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
- package/dist/esm/components/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/CollectionTableWSRTable.js +2 -2
- package/dist/esm/components/CollectionTable/CollectionTableWSRTable.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/SearchOrCustomFilter.st.css.js +2 -2
- package/dist/esm/components/CollectionToolbarFilters/CollectionToolbarFiltersState.js +10 -2
- package/dist/esm/components/CollectionToolbarFilters/CollectionToolbarFiltersState.js.map +1 -1
- package/dist/esm/components/CollectionToolbarFilters/useFiltersSyncProps.js +17 -2
- package/dist/esm/components/CollectionToolbarFilters/useFiltersSyncProps.js.map +1 -1
- package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
- package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
- package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
- package/dist/esm/components/CustomFieldModal/CustomFieldFormPiiFields.st.css.js +2 -2
- package/dist/esm/components/CustomFieldModal/CustomFieldFormPiiFields.st.css.js.map +1 -1
- package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
- package/dist/esm/components/EditableTable/EditableCell.js +10 -4
- package/dist/esm/components/EditableTable/EditableCell.js.map +1 -1
- package/dist/esm/components/EditableTable/EditableCell.st.css +31 -39
- package/dist/esm/components/EditableTable/EditableCell.st.css.js +3 -3
- package/dist/esm/components/EditableTable/EditableCell.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/EditableCell.uni.driver.js +2 -2
- package/dist/esm/components/EditableTable/EditableCell.uni.driver.js.map +1 -1
- package/dist/esm/components/EditableTable/EditableTableContextMenu.js +6 -1
- package/dist/esm/components/EditableTable/EditableTableContextMenu.js.map +1 -1
- package/dist/esm/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
- package/dist/esm/components/EditableTable/HeaderActionsPopover.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/HeaderFieldActions.js +3 -3
- package/dist/esm/components/EditableTable/HeaderFieldActions.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/JsonInputEdit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/address/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/address/Edit.st.css.js.map +1 -1
- 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/boolean/View.st.css.js.map +1 -1
- 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/Edit.st.css.js.map +1 -1
- 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/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/multiReference/View.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/multiReference/View.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/multiReference/index.js +1 -0
- package/dist/esm/components/EditableTable/cellTypes/multiReference/index.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/number/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/reference/EmptyReferenceView.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/time/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/time/Edit.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js +2 -2
- package/dist/esm/components/EmptyState/EmptyStateBase.st.css.js +2 -2
- package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js +2 -2
- package/dist/esm/components/EntityPageFields/EntityPageCustomField.js +2 -2
- package/dist/esm/components/EntityPageFields/EntityPageCustomField.js.map +1 -1
- package/dist/esm/components/EntityPageFields/EntityPageField.st.css.js +2 -2
- package/dist/esm/components/Fade/Fade.st.css.js +2 -2
- package/dist/esm/components/FieldActions/FieldActions.js +7 -2
- package/dist/esm/components/FieldActions/FieldActions.js.map +1 -1
- package/dist/esm/components/FiltersPanel/FilterRevealAnchor.js +29 -0
- package/dist/esm/components/FiltersPanel/FilterRevealAnchor.js.map +1 -0
- package/dist/esm/components/FiltersPanel/FiltersPanel.js +2 -5
- package/dist/esm/components/FiltersPanel/FiltersPanel.js.map +1 -1
- package/dist/esm/components/FiltersPanel/FiltersPanelState.js +46 -0
- package/dist/esm/components/FiltersPanel/FiltersPanelState.js.map +1 -1
- package/dist/esm/components/Heading/Heading.st.css.js +2 -2
- package/dist/esm/components/ImportButton/ImportButtonModalLayout.js +10 -2
- package/dist/esm/components/ImportButton/ImportButtonModalLayout.js.map +1 -1
- package/dist/esm/components/ImportButton/ImportStepConfiguration.js +14 -14
- package/dist/esm/components/ImportButton/ImportStepConfiguration.js.map +1 -1
- package/dist/esm/components/ImportButton/ImportStepUpload.st.css.js +2 -2
- package/dist/esm/components/ImportButton/createImportFieldValidator.js +15 -0
- package/dist/esm/components/ImportButton/createImportFieldValidator.js.map +1 -0
- package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
- package/dist/esm/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
- package/dist/esm/components/LoadingRow/LoadingRow.st.css.js +3 -3
- package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
- package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
- package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
- package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
- package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
- package/dist/esm/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
- package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
- package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
- package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
- package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
- 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/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
- package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
- package/dist/esm/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
- package/dist/esm/components/Table/AddFieldColumnHeader.st.css.js +2 -2
- package/dist/esm/components/Table/AddFieldColumnHeader.st.css.js.map +1 -1
- package/dist/esm/components/Table/NumberCell.st.css.js +2 -2
- package/dist/esm/components/Table/NumberCell.st.css.js.map +1 -1
- package/dist/esm/components/TableFolders/TableFolders.uni.driver.js +11 -0
- package/dist/esm/components/TableFolders/TableFolders.uni.driver.js.map +1 -1
- package/dist/esm/components/TableFolders/TableFoldersContent.js +17 -2
- package/dist/esm/components/TableFolders/TableFoldersContent.js.map +1 -1
- package/dist/esm/components/TableFolders/buildFoldersMobileColumns.js +17 -0
- package/dist/esm/components/TableFolders/buildFoldersMobileColumns.js.map +1 -0
- package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
- package/dist/esm/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
- 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/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
- package/dist/esm/components/common.st.css.js +2 -2
- package/dist/esm/components/common.st.css.js.map +1 -1
- package/dist/esm/hooks/useBuildAccordionItems.js +24 -10
- package/dist/esm/hooks/useBuildAccordionItems.js.map +1 -1
- package/dist/esm/state/CollectionFieldsSourceState.js +6 -4
- package/dist/esm/state/CollectionFieldsSourceState.js.map +1 -1
- package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
- package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
- package/dist/esm/state/CollectionPage/MobilePrimaryActionBar.st.css.js +2 -2
- package/dist/esm/state/CollectionPage/MobilePrimaryActionBar.st.css.js.map +1 -1
- package/dist/esm/state/CollectionPage/TitleBadges.st.css.js +2 -2
- package/dist/esm/state/EditableTable/CellValueState.js +29 -5
- package/dist/esm/state/EditableTable/CellValueState.js.map +1 -1
- package/dist/esm/state/EditableTable/EditableTableState.js +3 -1
- package/dist/esm/state/EditableTable/EditableTableState.js.map +1 -1
- package/dist/esm/state/EditableTable/utils.js +0 -48
- 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/FormPage/FormPageHeader.st.css.js.map +1 -1
- package/dist/esm/state/ToolbarCollectionState.js +1 -0
- package/dist/esm/state/ToolbarCollectionState.js.map +1 -1
- package/dist/esm/state/buildEditableFieldColumns.js +2 -73
- package/dist/esm/state/buildEditableFieldColumns.js.map +1 -1
- package/dist/esm/styles.global.css +2 -2
- package/dist/esm/{components/CollectionTable → utils}/buildMobileColumns.js +23 -8
- package/dist/esm/utils/buildMobileColumns.js.map +1 -0
- package/dist/esm/utils/fieldValidation.js +121 -0
- package/dist/esm/utils/fieldValidation.js.map +1 -0
- package/dist/esm/version.js +1 -1
- package/dist/examples/ImportButton/platformized-import.tsx +2 -2
- package/dist/types/components/CardContainer/CardContainer.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/CollectionTableWSRTable.d.ts +6 -0
- package/dist/types/components/CollectionTable/CollectionTableWSRTable.d.ts.map +1 -1
- package/dist/types/components/CollectionToolbarFilters/CollectionToolbarFiltersState.d.ts +4 -3
- package/dist/types/components/CollectionToolbarFilters/CollectionToolbarFiltersState.d.ts.map +1 -1
- package/dist/types/components/CollectionToolbarFilters/useFiltersSyncProps.d.ts.map +1 -1
- package/dist/types/components/CollectionViewsDropdown/ViewsDropdown.st.css.d.ts.map +1 -1
- package/dist/types/components/CustomFieldModal/CustomFieldFormPiiFields.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/EditableCell.d.ts.map +1 -1
- package/dist/types/components/EditableTable/EditableCell.st.css.d.ts +1 -5
- package/dist/types/components/EditableTable/EditableCell.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/EditableCell.uni.driver.d.ts +5 -5
- package/dist/types/components/EditableTable/EditableCell.uni.driver.d.ts.map +1 -1
- package/dist/types/components/EditableTable/EditableTableContextMenu.d.ts.map +1 -1
- package/dist/types/components/EditableTable/HeaderActionsPopover.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/HeaderFieldActions.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/address/Edit.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/boolean/View.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/date/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/multiReference/View.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/multiReference/index.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/text/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/time/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/FieldActions/FieldActions.d.ts +2 -2
- package/dist/types/components/FieldActions/FieldActions.d.ts.map +1 -1
- package/dist/types/components/FieldActions/headerActionTypes.d.ts +2 -2
- package/dist/types/components/FieldActions/headerActionTypes.d.ts.map +1 -1
- package/dist/types/components/FiltersPanel/FilterRevealAnchor.d.ts +12 -0
- package/dist/types/components/FiltersPanel/FilterRevealAnchor.d.ts.map +1 -0
- package/dist/types/components/FiltersPanel/FiltersPanel.d.ts.map +1 -1
- package/dist/types/components/FiltersPanel/FiltersPanelState.d.ts +12 -0
- package/dist/types/components/FiltersPanel/FiltersPanelState.d.ts.map +1 -1
- package/dist/types/components/ImportButton/ImportButtonModalLayout.d.ts.map +1 -1
- package/dist/types/components/ImportButton/ImportStepConfiguration.d.ts.map +1 -1
- package/dist/types/components/ImportButton/createImportFieldValidator.d.ts +3 -0
- package/dist/types/components/ImportButton/createImportFieldValidator.d.ts.map +1 -0
- package/dist/types/components/InputOverflow/InputOverflow.st.css.d.ts.map +1 -1
- package/dist/types/components/NestedTable/NestedTableRow.st.css.d.ts.map +1 -1
- package/dist/types/components/ScrollableContent/ScrollableContent.st.css.d.ts.map +1 -1
- package/dist/types/components/SkeletonCard/SkeletonCard.st.css.d.ts.map +1 -1
- package/dist/types/components/SlidingModal/SlidingModal.st.css.d.ts.map +1 -1
- package/dist/types/components/Table/AddFieldColumnHeader.st.css.d.ts.map +1 -1
- package/dist/types/components/Table/NumberCell.st.css.d.ts.map +1 -1
- package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts +9 -1
- package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts.map +1 -1
- package/dist/types/components/TableFolders/TableFoldersContent.d.ts.map +1 -1
- package/dist/types/components/TableFolders/buildFoldersMobileColumns.d.ts +4 -0
- package/dist/types/components/TableFolders/buildFoldersMobileColumns.d.ts.map +1 -0
- package/dist/types/components/TabsFilter/TabsFilter.st.css.d.ts.map +1 -1
- package/dist/types/components/ToolbarItemBox/ToolbarItemBox.st.css.d.ts.map +1 -1
- package/dist/types/components/common.st.css.d.ts.map +1 -1
- package/dist/types/hooks/useBuildAccordionItems.d.ts.map +1 -1
- package/dist/types/state/CollectionFieldsSourceState.d.ts.map +1 -1
- package/dist/types/state/CollectionPage/CollectionPageHeader.st.css.d.ts.map +1 -1
- package/dist/types/state/CollectionPage/MobilePrimaryActionBar.st.css.d.ts.map +1 -1
- package/dist/types/state/EditableTable/CellValueState.d.ts +2 -0
- package/dist/types/state/EditableTable/CellValueState.d.ts.map +1 -1
- package/dist/types/state/EditableTable/EditableTableState.d.ts.map +1 -1
- package/dist/types/state/EditableTable/types.d.ts +2 -5
- package/dist/types/state/EditableTable/types.d.ts.map +1 -1
- package/dist/types/state/EditableTable/utils.d.ts +1 -4
- package/dist/types/state/EditableTable/utils.d.ts.map +1 -1
- package/dist/types/state/FormPage/FormPageHeader.st.css.d.ts.map +1 -1
- package/dist/types/state/ToolbarCollectionState.d.ts.map +1 -1
- package/dist/types/state/buildEditableFieldColumns.d.ts +1 -2
- package/dist/types/state/buildEditableFieldColumns.d.ts.map +1 -1
- package/dist/types/testkit/enzyme.d.ts +4 -0
- package/dist/types/testkit/enzyme.d.ts.map +1 -1
- package/dist/types/testkit/jsdom.d.ts +4 -0
- package/dist/types/testkit/jsdom.d.ts.map +1 -1
- package/dist/types/testkit/playwright.d.ts +4 -0
- package/dist/types/testkit/playwright.d.ts.map +1 -1
- package/dist/types/testkit/puppeteer.d.ts +4 -0
- package/dist/types/testkit/puppeteer.d.ts.map +1 -1
- package/dist/types/utils/buildMobileColumns.d.ts +10 -0
- package/dist/types/utils/buildMobileColumns.d.ts.map +1 -0
- package/dist/types/utils/fieldValidation.d.ts +9 -0
- package/dist/types/utils/fieldValidation.d.ts.map +1 -0
- 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/CollectionTable/CollectionTableWSRTable.tsx +10 -1
- package/src/components/CollectionToolbar/CollectionToolbar.st.css.ts +2 -2
- package/src/components/CollectionToolbar/SearchOrCustomFilter.st.css.ts +2 -2
- package/src/components/CollectionToolbarFilters/CollectionToolbarFiltersState.ts +18 -7
- package/src/components/CollectionToolbarFilters/useFiltersSyncProps.ts +28 -5
- package/src/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.ts +2 -2
- package/src/components/CollectionViewsDropdown/ViewsDropdown.st.css.ts +2 -2
- package/src/components/CustomFieldModal/CustomFieldFormPiiFields.st.css.ts +2 -2
- package/src/components/DragHandle/DragHandle.st.css.ts +2 -2
- package/src/components/EditableTable/EditableCell.st.css +31 -39
- package/src/components/EditableTable/EditableCell.st.css.ts +3 -3
- package/src/components/EditableTable/EditableCell.tsx +26 -10
- package/src/components/EditableTable/EditableCell.uni.driver.ts +2 -2
- package/src/components/EditableTable/EditableTableContextMenu.tsx +6 -1
- package/src/components/EditableTable/HeaderActionsPopover.st.css.ts +2 -2
- package/src/components/EditableTable/HeaderFieldActions.tsx +4 -5
- package/src/components/EditableTable/cellTypes/CellViewLayout.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/JsonInputEdit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/address/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/boolean/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/boolean/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/color/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/date/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/date/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/datetime/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/datetime/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/email/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/email/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/multiReference/View.tsx +2 -1
- package/src/components/EditableTable/cellTypes/multiReference/index.ts +1 -0
- package/src/components/EditableTable/cellTypes/number/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/number/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/object/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/reference/EmptyReferenceView.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/EntityPageFields/EntityPageCustomField.tsx +2 -2
- package/src/components/EntityPageFields/EntityPageField.st.css.ts +2 -2
- package/src/components/Fade/Fade.st.css.ts +2 -2
- package/src/components/FieldActions/FieldActions.tsx +12 -4
- package/src/components/FieldActions/headerActionTypes.ts +2 -2
- package/src/components/FiltersPanel/FilterRevealAnchor.tsx +49 -0
- package/src/components/FiltersPanel/FiltersPanel.tsx +6 -8
- package/src/components/FiltersPanel/FiltersPanelState.ts +63 -0
- package/src/components/Heading/Heading.st.css.ts +2 -2
- package/src/components/ImportButton/ImportButtonModalLayout.tsx +15 -2
- package/src/components/ImportButton/ImportStepConfiguration.tsx +15 -28
- package/src/components/ImportButton/ImportStepUpload.st.css.ts +2 -2
- package/src/components/ImportButton/createImportFieldValidator.ts +20 -0
- 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/ScrollableContent/ScrollableContent.st.css.ts +2 -2
- package/src/components/SetupWidget/SetupWidget.st.css.ts +2 -2
- package/src/components/SkeletonCard/SkeletonCard.st.css.ts +2 -2
- package/src/components/SlidingModal/SlidingModal.st.css.ts +2 -2
- package/src/components/Table/AddFieldColumnHeader.st.css.ts +2 -2
- package/src/components/Table/NumberCell.st.css.ts +2 -2
- package/src/components/TableFolders/TableFolders.uni.driver.ts +19 -0
- package/src/components/TableFolders/TableFoldersContent.tsx +27 -2
- package/src/components/TableFolders/buildFoldersMobileColumns.ts +37 -0
- package/src/components/TabsFilter/TabsFilter.st.css.ts +2 -2
- package/src/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.ts +2 -2
- package/src/components/ToolbarItem/ToolbarItem.st.css.ts +2 -2
- package/src/components/ToolbarItemBox/ToolbarItemBox.st.css.ts +2 -2
- package/src/components/common.st.css.ts +2 -2
- package/src/hooks/useBuildAccordionItems.tsx +78 -58
- package/src/state/CollectionFieldsSourceState.ts +6 -4
- package/src/state/CollectionPage/CollectionPageHeader.st.css.ts +2 -2
- package/src/state/CollectionPage/MobilePrimaryActionBar.st.css.ts +2 -2
- package/src/state/CollectionPage/TitleBadges.st.css.ts +2 -2
- package/src/state/EditableTable/CellValueState.ts +34 -6
- package/src/state/EditableTable/EditableTableState.ts +6 -1
- package/src/state/EditableTable/types.ts +2 -5
- package/src/state/EditableTable/utils.ts +1 -75
- package/src/state/FormPage/FormPageHeader.st.css.ts +2 -2
- package/src/state/ToolbarCollectionState.ts +1 -0
- package/src/state/buildEditableFieldColumns.ts +2 -80
- package/src/styles.global.css +2 -2
- package/src/{components/CollectionTable → utils}/buildMobileColumns.tsx +46 -17
- package/src/utils/fieldValidation.ts +153 -0
- package/src/version.ts +1 -1
- package/dist/cjs/components/CollectionTable/buildMobileColumns.js.map +0 -1
- package/dist/cjs/components/CollectionTable/mobileColumnsUtils.js +0 -24
- package/dist/cjs/components/CollectionTable/mobileColumnsUtils.js.map +0 -1
- package/dist/esm/components/CollectionTable/buildMobileColumns.js.map +0 -1
- package/dist/esm/components/CollectionTable/mobileColumnsUtils.js +0 -15
- package/dist/esm/components/CollectionTable/mobileColumnsUtils.js.map +0 -1
- package/dist/types/components/CollectionTable/buildMobileColumns.d.ts +0 -4
- package/dist/types/components/CollectionTable/buildMobileColumns.d.ts.map +0 -1
- package/dist/types/components/CollectionTable/mobileColumnsUtils.d.ts +0 -17
- package/dist/types/components/CollectionTable/mobileColumnsUtils.d.ts.map +0 -1
- package/src/components/CollectionTable/mobileColumnsUtils.ts +0 -31
|
@@ -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","hadPendingInsert","dragAndDrop","pendingInsertPosition","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","_this$collectionField2","_viewsState$views$cur","_viewsState$views","_viewsState$views2","schemaSource","schemaParams","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$collectionField3","biReporters","CollectionBIReporter","tableFeatures","t","tableFeatInit","disposers","reaction","_this$layoutState","layoutState","viewType","next","prev","isOpen","currentPanelId","_getPanelUniqueId","_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$collectionField4","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","indexOfCompareFn","_clearColumnsCache","columnIds","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 ...this.collectionFieldsSource?.schemaSource?.schemaParams(),\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 // Grid does not support column customization, so its panel must not stay open.\n if (\n next === 'grid' &&\n this.panels.sidePanel.isOpen &&\n this.panels.sidePanel.currentPanelId ===\n this.panels._getPanelUniqueId('customColumns')\n ) {\n this.panels.closeSidePanel();\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 // Read before merging — `mergeNewColumns` consumes it. Only the\n // drag-and-drop merge honours the spot, so without it nothing was\n // placed and there is nothing to persist.\n const hadPendingInsert =\n customColumnsState.dragAndDrop != null &&\n customColumnsState.pendingInsertPosition != null;\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 // A spot the user picked is persisted even if they never touched the\n // custom-columns panel, so the column stays there after a reload.\n if (\n initTask.status.isSuccess &&\n (customColumnsState._touched || hadPendingInsert)\n ) {\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: { id?: string }[]) {\n const {\n collection: { query },\n _featureColumns,\n _extendedColumns,\n } = this;\n // Check against every column the toolbar shows, not only the layout's\n // `columns` prop: with a schema source, the columns come from the source\n // and that prop can be empty.\n const columnIds = new Set(\n [...tableColumns, ..._featureColumns, ..._extendedColumns].map(\n (column) => column.id,\n ),\n );\n\n const staleSortEntries = query.sort.value.filter(\n ({ field }) => !columnIds.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":"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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","hadPendingInsert","dragAndDrop","pendingInsertPosition","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","ref","forceRenderIndexes","_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","_this$collectionField2","_viewsState$views$cur","_viewsState$views","_viewsState$views2","schemaSource","schemaParams","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$collectionField3","biReporters","CollectionBIReporter","tableFeatures","t","tableFeatInit","disposers","reaction","_this$layoutState","layoutState","viewType","next","prev","isOpen","currentPanelId","_getPanelUniqueId","_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$collectionField4","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","indexOfCompareFn","_clearColumnsCache","columnIds","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 collectionFieldsSource: observable.ref,\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 ...this.collectionFieldsSource?.schemaSource?.schemaParams(),\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 // Grid does not support column customization, so its panel must not stay open.\n if (\n next === 'grid' &&\n this.panels.sidePanel.isOpen &&\n this.panels.sidePanel.currentPanelId ===\n this.panels._getPanelUniqueId('customColumns')\n ) {\n this.panels.closeSidePanel();\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 // Read before merging — `mergeNewColumns` consumes it. Only the\n // drag-and-drop merge honours the spot, so without it nothing was\n // placed and there is nothing to persist.\n const hadPendingInsert =\n customColumnsState.dragAndDrop != null &&\n customColumnsState.pendingInsertPosition != null;\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 // A spot the user picked is persisted even if they never touched the\n // custom-columns panel, so the column stays there after a reload.\n if (\n initTask.status.isSuccess &&\n (customColumnsState._touched || hadPendingInsert)\n ) {\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: { id?: string }[]) {\n const {\n collection: { query },\n _featureColumns,\n _extendedColumns,\n } = this;\n // Check against every column the toolbar shows, not only the layout's\n // `columns` prop: with a schema source, the columns come from the source\n // and that prop can be empty.\n const columnIds = new Set(\n [...tableColumns, ..._featureColumns, ..._extendedColumns].map(\n (column) => column.id,\n ),\n );\n\n const staleSortEntries = query.sort.value.filter(\n ({ field }) => !columnIds.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":"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","ignoreList":[]}
|
|
@@ -2,9 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
4
|
exports.buildEditableFieldColumns = buildEditableFieldColumns;
|
|
5
|
-
exports.toValidationRules = toValidationRules;
|
|
6
5
|
var _bexCore = require("@wix/bex-core");
|
|
7
|
-
var
|
|
6
|
+
var _fieldValidation = require("../utils/fieldValidation");
|
|
8
7
|
var _resolveFieldPresentation = require("../utils/resolveFieldPresentation");
|
|
9
8
|
var _fieldTypeToCellType = require("./EditableTable/fieldTypeToCellType");
|
|
10
9
|
// Types whose editable cell needs typeConfig the projection can't supply yet
|
|
@@ -25,84 +24,6 @@ function hasEditor(field, customCell) {
|
|
|
25
24
|
}
|
|
26
25
|
return field.type !== 'CUSTOM' && field.type !== 'UNKNOWN' && !NEEDS_TYPE_CONFIG.has(field.type);
|
|
27
26
|
}
|
|
28
|
-
function toValidationRules(field, translate) {
|
|
29
|
-
var _v$numberRange, _v$numberRange2, _v$stringLengthRange, _v$stringLengthRange2, _v$specificValues;
|
|
30
|
-
const v = field.validation;
|
|
31
|
-
if (!v) {
|
|
32
|
-
return [];
|
|
33
|
-
}
|
|
34
|
-
const rules = [];
|
|
35
|
-
if (v.required) {
|
|
36
|
-
rules.push({
|
|
37
|
-
type: 'required',
|
|
38
|
-
message: translate('cairo.editableTable.field.validation.required', {
|
|
39
|
-
fieldName: field.displayName
|
|
40
|
-
})
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
if (((_v$numberRange = v.numberRange) == null ? void 0 : _v$numberRange.min) != null) {
|
|
44
|
-
const min = v.numberRange.min;
|
|
45
|
-
rules.push({
|
|
46
|
-
type: 'min',
|
|
47
|
-
value: min,
|
|
48
|
-
message: translate('cairo.editableTable.field.validation.min', {
|
|
49
|
-
min
|
|
50
|
-
})
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
if (((_v$numberRange2 = v.numberRange) == null ? void 0 : _v$numberRange2.max) != null) {
|
|
54
|
-
const max = v.numberRange.max;
|
|
55
|
-
rules.push({
|
|
56
|
-
type: 'max',
|
|
57
|
-
value: max,
|
|
58
|
-
message: translate('cairo.editableTable.field.validation.max', {
|
|
59
|
-
max
|
|
60
|
-
})
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
if (((_v$stringLengthRange = v.stringLengthRange) == null ? void 0 : _v$stringLengthRange.minLength) != null) {
|
|
64
|
-
const minLength = v.stringLengthRange.minLength;
|
|
65
|
-
rules.push({
|
|
66
|
-
type: 'minLength',
|
|
67
|
-
value: minLength,
|
|
68
|
-
message: translate('cairo.editableTable.field.validation.minLength', {
|
|
69
|
-
minLength
|
|
70
|
-
})
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
if (((_v$stringLengthRange2 = v.stringLengthRange) == null ? void 0 : _v$stringLengthRange2.maxLength) != null) {
|
|
74
|
-
const maxLength = v.stringLengthRange.maxLength;
|
|
75
|
-
rules.push({
|
|
76
|
-
type: 'maxLength',
|
|
77
|
-
value: maxLength,
|
|
78
|
-
message: translate('cairo.editableTable.field.validation.maxLength', {
|
|
79
|
-
maxLength
|
|
80
|
-
})
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
// A pattern the platform refuses to run (uncompilable, over-long, or able to
|
|
84
|
-
// backtrack catastrophically) yields no rule, matching what the form inputs do.
|
|
85
|
-
const patternRegex = (0, _patternsFields.compilePattern)(v.pattern);
|
|
86
|
-
if (patternRegex) {
|
|
87
|
-
rules.push({
|
|
88
|
-
type: 'pattern',
|
|
89
|
-
value: patternRegex,
|
|
90
|
-
message: translate('cairo.editableTable.field.validation.pattern', {
|
|
91
|
-
fieldName: field.displayName
|
|
92
|
-
})
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
if ((_v$specificValues = v.specificValues) != null && _v$specificValues.length) {
|
|
96
|
-
rules.push({
|
|
97
|
-
type: 'specificValues',
|
|
98
|
-
values: v.specificValues,
|
|
99
|
-
message: translate('cairo.editableTable.field.validation.specificValues', {
|
|
100
|
-
fieldName: field.displayName
|
|
101
|
-
})
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
return rules;
|
|
105
|
-
}
|
|
106
27
|
|
|
107
28
|
// The inline-custom cell config for a resolved definition: its editableTable
|
|
108
29
|
// slot, with the definition's value-level validation layered in when the slot
|
|
@@ -137,7 +58,7 @@ function buildEditableFieldColumns(source, translate, editableCellFor) {
|
|
|
137
58
|
// that made the type read-only here in the first place.
|
|
138
59
|
const sourceCell = customCell ? undefined : NEEDS_TYPE_CONFIG.has(field.type) ? editableCellFor == null ? void 0 : editableCellFor(field) : undefined;
|
|
139
60
|
const cellType = customCell ? 'custom' : (sourceCell == null ? void 0 : sourceCell.cellType) ?? (NEEDS_TYPE_CONFIG.has(field.type) ? 'object' : _fieldTypeToCellType.FIELD_TYPE_TO_CELL_TYPE[field.type] ?? 'object');
|
|
140
|
-
const validation =
|
|
61
|
+
const validation = (0, _fieldValidation.buildFieldValidationRules)(field, translate);
|
|
141
62
|
const editable = canWrite && !field.isSystem && (!!sourceCell || hasEditor(field, customCell));
|
|
142
63
|
return {
|
|
143
64
|
id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bexCore","require","_patternsFields","_resolveFieldPresentation","_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","_resolveFieldPresenta","_definition$capabilit","_field$capabilities","id","columnIdForField","resolveFieldTypeDefinition","undefined","sourceCell","cellType","FIELD_TYPE_TO_CELL_TYPE","editable","isSystem","typeConfig","title","name","fieldTypeIcons","resolveFieldPresentation","typeDisplay","icons","isPrimary","infoTooltipProps","helpText","content","align","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 { resolveFieldPresentation } from '../utils/resolveFieldPresentation';\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). 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]);\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 const min = v.numberRange.min;\n rules.push({\n type: 'min',\n value: min,\n message: translate('cairo.editableTable.field.validation.min', { min }),\n });\n }\n if (v.numberRange?.max != null) {\n const max = v.numberRange.max;\n rules.push({\n type: 'max',\n value: max,\n message: translate('cairo.editableTable.field.validation.max', { max }),\n });\n }\n if (v.stringLengthRange?.minLength != null) {\n const minLength = v.stringLengthRange.minLength;\n rules.push({\n type: 'minLength',\n value: minLength,\n message: translate('cairo.editableTable.field.validation.minLength', {\n minLength,\n }),\n });\n }\n if (v.stringLengthRange?.maxLength != null) {\n const maxLength = v.stringLengthRange.maxLength;\n rules.push({\n type: 'maxLength',\n value: maxLength,\n message: translate('cairo.editableTable.field.validation.maxLength', {\n maxLength,\n }),\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 fieldTypeIcons: resolveFieldPresentation(source, field)?.typeDisplay\n ?.icons,\n isPrimary: field.isPrimary,\n isSystem: field.isSystem,\n // Also set by buildFieldColumns, and needed here too: this column reaches\n // the toolbar through simplifyColumn, which always emits the key, so it\n // would overwrite the display column's value with undefined.\n infoTooltipProps: field.helpText\n ? { content: field.helpText }\n : undefined,\n // The toolbar merges this column over the display column for the same\n // field, so without an explicit value the cell would take the display\n // column's align, which a custom type may set for its table cell.\n align: 'start',\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","_fieldValidation","_resolveFieldPresentation","_fieldTypeToCellType","NEEDS_TYPE_CONFIG","Set","hasEditor","field","customCell","EditComponent","type","has","synthesizeCellConfig","definition","_definition$value","editableTable","valueValidate","value","validate","rules","buildEditableFieldColumns","source","translate","editableCellFor","canWrite","setCellValue","fields","map","_resolveFieldPresenta","_definition$capabilit","_field$capabilities","id","columnIdForField","resolveFieldTypeDefinition","undefined","sourceCell","cellType","FIELD_TYPE_TO_CELL_TYPE","validation","buildFieldValidationRules","editable","isSystem","typeConfig","title","displayName","name","fieldTypeIcons","resolveFieldPresentation","typeDisplay","icons","isPrimary","infoTooltipProps","helpText","content","align","hideable","sortable","capabilities","length","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 { buildFieldValidationRules } from '../utils/fieldValidation';\nimport { resolveFieldPresentation } from '../utils/resolveFieldPresentation';\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). 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]);\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\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 = buildFieldValidationRules(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 fieldTypeIcons: resolveFieldPresentation(source, field)?.typeDisplay\n ?.icons,\n isPrimary: field.isPrimary,\n isSystem: field.isSystem,\n // Also set by buildFieldColumns, and needed here too: this column reaches\n // the toolbar through simplifyColumn, which always emits the key, so it\n // would overwrite the display column's value with undefined.\n infoTooltipProps: field.helpText\n ? { content: field.helpText }\n : undefined,\n // The toolbar merges this column over the display column for the same\n // field, so without an explicit value the cell would take the display\n // column's align, which a custom type may set for its table cell.\n align: 'start',\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":[]}
|