@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
|
@@ -5,16 +5,16 @@ exports.__esModule = true;
|
|
|
5
5
|
exports.useBuildAccordionItems = useBuildAccordionItems;
|
|
6
6
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
7
7
|
var _react = require("@wix/bex-core/react");
|
|
8
|
-
var _react2 =
|
|
8
|
+
var _react2 = _interopRequireDefault(require("react"));
|
|
9
9
|
var _designSystem = require("@wix/design-system");
|
|
10
10
|
var _CollectionFilter = require("../components/CollectionFilter");
|
|
11
11
|
var _FilterAccordionResetButton = require("../components/FiltersPanel/FilterAccordionResetButton");
|
|
12
12
|
var _FilterAccordionTitle = require("../components/FiltersPanel/FilterAccordionTitle");
|
|
13
|
+
var _FilterRevealAnchor = require("../components/FiltersPanel/FilterRevealAnchor");
|
|
13
14
|
var _fieldTypePrefixIcons = require("../utils/fieldTypePrefixIcons");
|
|
14
15
|
var _jsxFileName = "/home/builduser/work/843658b9f44192f0/packages/cairo/dist/cjs/hooks/useBuildAccordionItems.tsx";
|
|
15
|
-
function
|
|
16
|
-
|
|
17
|
-
return (0, _react2.useCallback)(filterElement => {
|
|
16
|
+
function createAccordionItemBuilder(state, showFieldTypeIcons) {
|
|
17
|
+
return filterElement => {
|
|
18
18
|
const {
|
|
19
19
|
type: Component,
|
|
20
20
|
props: filterProps
|
|
@@ -35,7 +35,7 @@ function useBuildAccordionItem(state, showFieldTypeIcons) {
|
|
|
35
35
|
__source: {
|
|
36
36
|
fileName: _jsxFileName,
|
|
37
37
|
lineNumber: 32,
|
|
38
|
-
columnNumber:
|
|
38
|
+
columnNumber: 7
|
|
39
39
|
}
|
|
40
40
|
}));
|
|
41
41
|
const titleElement = /*#__PURE__*/_react2.default.createElement(_FilterAccordionTitle.FilterAccordionTitle, {
|
|
@@ -46,7 +46,7 @@ function useBuildAccordionItem(state, showFieldTypeIcons) {
|
|
|
46
46
|
__source: {
|
|
47
47
|
fileName: _jsxFileName,
|
|
48
48
|
lineNumber: 38,
|
|
49
|
-
columnNumber:
|
|
49
|
+
columnNumber: 7
|
|
50
50
|
}
|
|
51
51
|
});
|
|
52
52
|
const titleWithIcon = showFieldTypeIcons ? /*#__PURE__*/_react2.default.createElement(_designSystem.Box, {
|
|
@@ -56,48 +56,69 @@ function useBuildAccordionItem(state, showFieldTypeIcons) {
|
|
|
56
56
|
__source: {
|
|
57
57
|
fileName: _jsxFileName,
|
|
58
58
|
lineNumber: 45,
|
|
59
|
-
columnNumber:
|
|
59
|
+
columnNumber: 7
|
|
60
60
|
}
|
|
61
61
|
}, (0, _fieldTypePrefixIcons.getFieldTypeIcon)({
|
|
62
62
|
fieldType,
|
|
63
63
|
size: 'medium'
|
|
64
64
|
}), titleElement) : titleElement;
|
|
65
|
-
const
|
|
65
|
+
const panel = state.panel;
|
|
66
|
+
const sectionKey = panel.getSectionKey(filterElement);
|
|
67
|
+
const open = panel.isSectionOpen(filterElement);
|
|
68
|
+
const request = panel.revealRequest;
|
|
69
|
+
const revealTitle = content => (request == null ? void 0 : request.sectionKey) === sectionKey ? /*#__PURE__*/_react2.default.createElement(_FilterRevealAnchor.FilterRevealAnchor, {
|
|
70
|
+
request: request,
|
|
71
|
+
scrollContainerRef: panel.scrollContainerRef,
|
|
72
|
+
open: open,
|
|
73
|
+
__self: this,
|
|
74
|
+
__source: {
|
|
75
|
+
fileName: _jsxFileName,
|
|
76
|
+
lineNumber: 59,
|
|
77
|
+
columnNumber: 9
|
|
78
|
+
}
|
|
79
|
+
}, content) : content;
|
|
80
|
+
const title = /*#__PURE__*/_react2.default.createElement(_designSystem.Box, {
|
|
66
81
|
width: "100%",
|
|
67
82
|
align: "space-between",
|
|
68
83
|
verticalAlign: "middle",
|
|
69
84
|
__self: this,
|
|
70
85
|
__source: {
|
|
71
86
|
fileName: _jsxFileName,
|
|
72
|
-
lineNumber:
|
|
73
|
-
columnNumber:
|
|
87
|
+
lineNumber: 71,
|
|
88
|
+
columnNumber: 7
|
|
74
89
|
}
|
|
75
|
-
}, titleWithIcon, /*#__PURE__*/_react2.default.createElement(_FilterAccordionResetButton.FilterAccordionResetButton, {
|
|
90
|
+
}, revealTitle(titleWithIcon), /*#__PURE__*/_react2.default.createElement(_FilterAccordionResetButton.FilterAccordionResetButton, {
|
|
76
91
|
state: state.toolbar,
|
|
77
|
-
filter:
|
|
92
|
+
filter: filter,
|
|
78
93
|
__self: this,
|
|
79
94
|
__source: {
|
|
80
95
|
fileName: _jsxFileName,
|
|
81
|
-
lineNumber:
|
|
82
|
-
columnNumber:
|
|
96
|
+
lineNumber: 73,
|
|
97
|
+
columnNumber: 9
|
|
83
98
|
}
|
|
84
|
-
}))
|
|
99
|
+
}));
|
|
100
|
+
const itemTitle = accordionItemProps && 'title' in accordionItemProps ? revealTitle(accordionItemProps.title) : title;
|
|
85
101
|
return {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
filter: filterProps.filter,
|
|
102
|
+
children: /*#__PURE__*/_react2.default.createElement(_CollectionFilter.CollectionFilter, {
|
|
103
|
+
filter: filter,
|
|
89
104
|
state: state,
|
|
90
105
|
__self: this,
|
|
91
106
|
__source: {
|
|
92
107
|
fileName: _jsxFileName,
|
|
93
|
-
lineNumber:
|
|
94
|
-
columnNumber:
|
|
108
|
+
lineNumber: 83,
|
|
109
|
+
columnNumber: 9
|
|
95
110
|
}
|
|
96
|
-
}, clonedElement)
|
|
111
|
+
}, clonedElement),
|
|
97
112
|
initiallyOpen,
|
|
98
|
-
...accordionItemProps
|
|
113
|
+
...accordionItemProps,
|
|
114
|
+
key: sectionKey,
|
|
115
|
+
open,
|
|
116
|
+
title: itemTitle,
|
|
117
|
+
onToggle: event => {
|
|
118
|
+
panel.toggleSection(filterElement, event);
|
|
119
|
+
}
|
|
99
120
|
};
|
|
100
|
-
}
|
|
121
|
+
};
|
|
101
122
|
}
|
|
102
123
|
function useBuildAccordionItems(state, searchTerm = '') {
|
|
103
124
|
const {
|
|
@@ -107,7 +128,7 @@ function useBuildAccordionItems(state, searchTerm = '') {
|
|
|
107
128
|
panelFilterElements
|
|
108
129
|
} = state;
|
|
109
130
|
const showFieldTypeIcons = state.toolbar.showFieldTypeIcons;
|
|
110
|
-
const buildAccordionItem =
|
|
131
|
+
const buildAccordionItem = createAccordionItemBuilder(state, showFieldTypeIcons);
|
|
111
132
|
const defaultSectionTitle = t('cairo.filtersPanel.sections.default.title');
|
|
112
133
|
const term = searchTerm.trim().toLowerCase();
|
|
113
134
|
const elements = term ? panelFilterElements.filter(el => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_react2","_interopRequireWildcard","_designSystem","_CollectionFilter","_FilterAccordionResetButton","_FilterAccordionTitle","_fieldTypePrefixIcons","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useBuildAccordionItem","state","showFieldTypeIcons","useCallback","filterElement","type","Component","props","filterProps","filter","initiallyOpen","popoverProps","accordionItemProps","fieldType","clonedElement","createElement","_extends2","appendTo","__self","__source","fileName","lineNumber","columnNumber","titleElement","FilterAccordionTitle","toolbar","titleWithIcon","Box","gap","verticalAlign","getFieldTypeIcon","size","title","width","align","FilterAccordionResetButton","children","CollectionFilter","useBuildAccordionItems","searchTerm","translate","useWixPatternsContainer","panelFilterElements","buildAccordionItem","defaultSectionTitle","term","trim","toLowerCase","elements","el","_el$props","_el$props2","label","section","sectionTitle","includes","groups","defaultGroup","reduce","accumulator","item","_item$props","groupItems","accordionSectionItemBuilder","items","values","flat","length"],"sources":["../../../src/hooks/useBuildAccordionItems.tsx"],"sourcesContent":["import { FiltersMap } from '@wix/bex-core';\nimport { useWixPatternsContainer } from '@wix/bex-core/react';\nimport React, { useCallback } from 'react';\nimport {\n AccordionProps,\n Box,\n accordionSectionItemBuilder,\n} from '@wix/design-system';\nimport { CollectionFilter } from '../components/CollectionFilter';\nimport { FilterElement } from '../components/CollectionToolbarFilters';\nimport { CollectionToolbarFiltersState } from '../components/CollectionToolbarFilters/CollectionToolbarFiltersState';\nimport { FilterAccordionResetButton } from '../components/FiltersPanel/FilterAccordionResetButton';\nimport { FilterAccordionTitle } from '../components/FiltersPanel/FilterAccordionTitle';\nimport { getFieldTypeIcon } from '../utils/fieldTypePrefixIcons';\n\nfunction useBuildAccordionItem<T, F extends FiltersMap>(\n state: CollectionToolbarFiltersState<T, F>,\n showFieldTypeIcons: boolean,\n) {\n return useCallback(\n (filterElement: FilterElement) => {\n const { type: Component, props: filterProps } = filterElement;\n const {\n filter,\n initiallyOpen,\n popoverProps,\n accordionItemProps,\n fieldType,\n } = filterProps;\n\n const clonedElement = (\n <Component\n {...filterProps}\n popoverProps={{ appendTo: 'window', ...popoverProps }}\n />\n );\n const titleElement = (\n <FilterAccordionTitle\n state={state.toolbar}\n filter={filter}\n filterProps={filterProps}\n />\n );\n const titleWithIcon = showFieldTypeIcons ? (\n <Box gap=\"SP1\" verticalAlign=\"middle\">\n {getFieldTypeIcon({ fieldType, size: 'medium' })}\n {titleElement}\n </Box>\n ) : (\n titleElement\n );\n\n const title = filterProps.filter ? (\n <Box width=\"100%\" align=\"space-between\" verticalAlign=\"middle\">\n {titleWithIcon}\n <FilterAccordionResetButton\n state={state.toolbar}\n filter={filterProps.filter}\n />\n </Box>\n ) : (\n titleWithIcon\n );\n\n return {\n title,\n children: filterProps.filter ? (\n <CollectionFilter filter={filterProps.filter} state={state}>\n {clonedElement}\n </CollectionFilter>\n ) : (\n clonedElement\n ),\n initiallyOpen,\n ...accordionItemProps,\n };\n },\n [showFieldTypeIcons],\n );\n}\n\nexport function useBuildAccordionItems<T, F extends FiltersMap>(\n state: CollectionToolbarFiltersState<T, F>,\n searchTerm: string = '',\n) {\n const { translate: t } = useWixPatternsContainer();\n const { panelFilterElements } = state;\n const showFieldTypeIcons = state.toolbar.showFieldTypeIcons;\n const buildAccordionItem = useBuildAccordionItem(state, showFieldTypeIcons);\n\n const defaultSectionTitle = t('cairo.filtersPanel.sections.default.title');\n\n const term = searchTerm.trim().toLowerCase();\n const elements = term\n ? panelFilterElements.filter((el) => {\n const label = (el.props?.accordionItemProps?.label ?? '').toLowerCase();\n const section = (el.props?.sectionTitle ?? '').toLowerCase();\n return label.includes(term) || section.includes(term);\n })\n : panelFilterElements;\n\n const { groups, defaultGroup } = elements.reduce<{\n groups: Record<string, NonNullable<AccordionProps['items']>>;\n defaultGroup: NonNullable<AccordionProps['items']>;\n }>(\n (accumulator, item) => {\n const sectionTitle = item.props?.sectionTitle;\n\n if (!sectionTitle) {\n return {\n ...accumulator,\n defaultGroup: [...accumulator.defaultGroup, buildAccordionItem(item)],\n };\n }\n\n const groupItems = accumulator.groups[sectionTitle]\n ? [...accumulator.groups[sectionTitle], buildAccordionItem(item)]\n : [\n accordionSectionItemBuilder({ title: sectionTitle }),\n buildAccordionItem(item),\n ];\n\n return {\n ...accumulator,\n groups: {\n ...accumulator.groups,\n [sectionTitle]: groupItems,\n },\n };\n },\n {\n groups: {},\n defaultGroup: [],\n },\n );\n\n const items = Object.values(groups).flat();\n\n if (!items.length) {\n return defaultGroup;\n }\n\n return [\n ...items,\n ...(defaultGroup.length\n ? [\n accordionSectionItemBuilder({ title: defaultSectionTitle }),\n ...defaultGroup,\n ]\n : []),\n ];\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","require","_react2","_interopRequireDefault","_designSystem","_CollectionFilter","_FilterAccordionResetButton","_FilterAccordionTitle","_FilterRevealAnchor","_fieldTypePrefixIcons","_jsxFileName","createAccordionItemBuilder","state","showFieldTypeIcons","filterElement","type","Component","props","filterProps","filter","initiallyOpen","popoverProps","accordionItemProps","fieldType","clonedElement","default","createElement","_extends2","appendTo","__self","__source","fileName","lineNumber","columnNumber","titleElement","FilterAccordionTitle","toolbar","titleWithIcon","Box","gap","verticalAlign","getFieldTypeIcon","size","panel","sectionKey","getSectionKey","open","isSectionOpen","request","revealRequest","revealTitle","content","FilterRevealAnchor","scrollContainerRef","title","width","align","FilterAccordionResetButton","itemTitle","children","CollectionFilter","key","onToggle","event","toggleSection","useBuildAccordionItems","searchTerm","translate","t","useWixPatternsContainer","panelFilterElements","buildAccordionItem","defaultSectionTitle","term","trim","toLowerCase","elements","el","_el$props","_el$props2","label","section","sectionTitle","includes","groups","defaultGroup","reduce","accumulator","item","_item$props","groupItems","accordionSectionItemBuilder","items","Object","values","flat","length"],"sources":["../../../src/hooks/useBuildAccordionItems.tsx"],"sourcesContent":["import { FiltersMap } from '@wix/bex-core';\nimport { useWixPatternsContainer } from '@wix/bex-core/react';\nimport React from 'react';\nimport {\n AccordionProps,\n Box,\n accordionSectionItemBuilder,\n} from '@wix/design-system';\nimport { CollectionFilter } from '../components/CollectionFilter';\nimport { FilterElement } from '../components/CollectionToolbarFilters';\nimport { CollectionToolbarFiltersState } from '../components/CollectionToolbarFilters/CollectionToolbarFiltersState';\nimport { FilterAccordionResetButton } from '../components/FiltersPanel/FilterAccordionResetButton';\nimport { FilterAccordionTitle } from '../components/FiltersPanel/FilterAccordionTitle';\nimport { FilterRevealAnchor } from '../components/FiltersPanel/FilterRevealAnchor';\nimport { getFieldTypeIcon } from '../utils/fieldTypePrefixIcons';\n\nfunction createAccordionItemBuilder<T, F extends FiltersMap>(\n state: CollectionToolbarFiltersState<T, F>,\n showFieldTypeIcons: boolean,\n) {\n return (filterElement: FilterElement) => {\n const { type: Component, props: filterProps } = filterElement;\n const {\n filter,\n initiallyOpen,\n popoverProps,\n accordionItemProps,\n fieldType,\n } = filterProps;\n\n const clonedElement = (\n <Component\n {...filterProps}\n popoverProps={{ appendTo: 'window', ...popoverProps }}\n />\n );\n const titleElement = (\n <FilterAccordionTitle\n state={state.toolbar}\n filter={filter}\n filterProps={filterProps}\n />\n );\n const titleWithIcon = showFieldTypeIcons ? (\n <Box gap=\"SP1\" verticalAlign=\"middle\">\n {getFieldTypeIcon({ fieldType, size: 'medium' })}\n {titleElement}\n </Box>\n ) : (\n titleElement\n );\n\n const panel = state.panel;\n const sectionKey = panel.getSectionKey(filterElement);\n const open = panel.isSectionOpen(filterElement);\n const request = panel.revealRequest;\n const revealTitle = (content: React.ReactNode) =>\n request?.sectionKey === sectionKey ? (\n <FilterRevealAnchor\n request={request}\n scrollContainerRef={panel.scrollContainerRef}\n open={open}\n >\n {content}\n </FilterRevealAnchor>\n ) : (\n content\n );\n\n const title = (\n <Box width=\"100%\" align=\"space-between\" verticalAlign=\"middle\">\n {revealTitle(titleWithIcon)}\n <FilterAccordionResetButton state={state.toolbar} filter={filter} />\n </Box>\n );\n\n const itemTitle =\n accordionItemProps && 'title' in accordionItemProps\n ? revealTitle(accordionItemProps.title)\n : title;\n return {\n children: (\n <CollectionFilter filter={filter} state={state}>\n {clonedElement}\n </CollectionFilter>\n ),\n initiallyOpen,\n ...accordionItemProps,\n key: sectionKey,\n open,\n title: itemTitle,\n onToggle: (event: React.MouseEvent<HTMLElement>) => {\n panel.toggleSection(filterElement, event);\n },\n };\n };\n}\n\nexport function useBuildAccordionItems<T, F extends FiltersMap>(\n state: CollectionToolbarFiltersState<T, F>,\n searchTerm: string = '',\n) {\n const { translate: t } = useWixPatternsContainer();\n const { panelFilterElements } = state;\n const showFieldTypeIcons = state.toolbar.showFieldTypeIcons;\n const buildAccordionItem = createAccordionItemBuilder(\n state,\n showFieldTypeIcons,\n );\n\n const defaultSectionTitle = t('cairo.filtersPanel.sections.default.title');\n\n const term = searchTerm.trim().toLowerCase();\n const elements = term\n ? panelFilterElements.filter((el) => {\n const label = (el.props?.accordionItemProps?.label ?? '').toLowerCase();\n const section = (el.props?.sectionTitle ?? '').toLowerCase();\n return label.includes(term) || section.includes(term);\n })\n : panelFilterElements;\n\n const { groups, defaultGroup } = elements.reduce<{\n groups: Record<string, NonNullable<AccordionProps['items']>>;\n defaultGroup: NonNullable<AccordionProps['items']>;\n }>(\n (accumulator, item) => {\n const sectionTitle = item.props?.sectionTitle;\n\n if (!sectionTitle) {\n return {\n ...accumulator,\n defaultGroup: [...accumulator.defaultGroup, buildAccordionItem(item)],\n };\n }\n\n const groupItems = accumulator.groups[sectionTitle]\n ? [...accumulator.groups[sectionTitle], buildAccordionItem(item)]\n : [\n accordionSectionItemBuilder({ title: sectionTitle }),\n buildAccordionItem(item),\n ];\n\n return {\n ...accumulator,\n groups: {\n ...accumulator.groups,\n [sectionTitle]: groupItems,\n },\n };\n },\n {\n groups: {},\n defaultGroup: [],\n },\n );\n\n const items = Object.values(groups).flat();\n\n if (!items.length) {\n return defaultGroup;\n }\n\n return [\n ...items,\n ...(defaultGroup.length\n ? [\n accordionSectionItemBuilder({ title: defaultSectionTitle }),\n ...defaultGroup,\n ]\n : []),\n ];\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -103,10 +103,12 @@ class CollectionFieldsSourceState {
|
|
|
103
103
|
* again (e.g. on re-render) is a no-op.
|
|
104
104
|
*/
|
|
105
105
|
static setOnTable(toolbar, source) {
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
106
|
+
(0, _mobx.runInAction)(() => {
|
|
107
|
+
toolbar.collectionFieldsSource ?? (toolbar.collectionFieldsSource = new CollectionFieldsSourceState({
|
|
108
|
+
...source,
|
|
109
|
+
toolbar
|
|
110
|
+
}));
|
|
111
|
+
});
|
|
110
112
|
}
|
|
111
113
|
buildFilters() {
|
|
112
114
|
return (0, _buildFieldFilters.buildFieldFilters)(this.toolbar, this.fieldsSource, this.filterConfig, this.components.ReferenceFieldFilter);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_mobx","require","_bexCore","_schemaFieldsContainer","_buildFieldColumns","_handleFieldsSourceLoadError","_buildFieldFilters","_CustomFieldsPanelState","CollectionFieldsSourceState","constructor","params","_defineProperty2","default","TaskState","fieldsSource","toolbar","featuredPageActions","props","filterConfig","columnOverrides","schemaSource","editableCellFor","components","errorCode","customFieldsPanel","CustomFieldsPanelState","container","reportBi","closeSidePanel","createFieldActionsMenu","openFieldModal","opts","openCustomFieldModal","fieldId","origin","customOrigin","onSave","initialField","lockedProperties","fieldActionsMenu","fieldActionHandlers","createFieldActionHandlers","setOnTable","source","collectionFieldsSource","buildFilters","buildFieldFilters","ReferenceFieldFilter","registerFilters","registerFieldFilters","buildColumns","firstBuild","initTask","status","isSuccess","buildFieldColumns","syncColumns","columns","hasBuiltColumns","setExtendedColumns","mergeFields","fields","_this$fieldsSource$me","_this$fieldsSource","call","init","_fieldsContainerOf","_this$initTask$status","_this$toolbar$customC2","fieldsContainerOf","runOnce","load","promise","catch","handleLoadError","modal","customFieldModal","modalState","disposers","reaction","filterableFields","fireImmediately","isOpen","confirming","isLoading","isClosedAndSettled","_this$toolbar$customC","customColumnsState","clearPendingInsertPosition","events","addEventListener","_this$initTask$status2","forEach","d","handleFieldsSourceLoadError","error","reload","retryLoad","reset","exports"],"sources":["../../../src/state/CollectionFieldsSourceState.ts"],"sourcesContent":["import { reaction } from 'mobx';\nimport type { ComponentType } from 'react';\nimport { addEventListener, TaskState } from '@wix/bex-core';\nimport type {\n FieldsSource,\n CustomFieldOrigin,\n Field,\n OpenFieldModalOptions,\n Schema,\n SchemaSource,\n WixPatternsErrorCode,\n} from '@wix/bex-core';\nimport type { Column } from '../model';\nimport { fieldsContainerOf } from '../model/schemaFieldsContainer';\nimport type { ToolbarCollectionState } from './ToolbarCollectionState';\nimport { buildFieldColumns, ColumnOverridesContext } from './buildFieldColumns';\nimport { handleFieldsSourceLoadError } from './handleFieldsSourceLoadError';\nimport {\n buildFieldFilters,\n registerFieldFilters,\n type FieldFilterConfig,\n} from './buildFieldFilters';\nimport type {\n FilterElement,\n CollectionToolbarFiltersProps,\n} from '../components/CollectionToolbarFilters';\nimport type { MoreActionItemFactory } from '../components/MoreActions/MoreActionsBase';\nimport {\n CustomFieldsPanelState,\n type FieldActionsMenuBuilder,\n} from './CustomFields/CustomFieldsPanelState';\nimport type { FieldActionHandlersConfig } from '../components/FieldActions';\nimport type { CustomColumnsBaseProps } from '../components/CustomColumns/CustomColumns';\nimport type { ReferenceFieldFilterProps } from '../components/ReferenceFieldFilter/ReferenceFieldFilter';\n\n/** A cell type plus the config its editor needs, for a field the default\n * type→cell mapping can't fully resolve on its own. */\nexport interface EditableCellUpgrade {\n cellType: string;\n typeConfig: unknown;\n}\n\n/** Builds the raw field-management for one field (handlers + registry metadata). */\ntype FieldActionHandlersBuilder = (args: {\n fieldId: string;\n origin: CustomFieldOrigin;\n location: string;\n}) => FieldActionHandlersConfig | null;\n\n/**\n * Components the source attaches at construction time so the table chunk can\n * render them via `source.components.X` instead of statically importing them.\n * Each source's rendering file (dataExtensionRendering / schemaRendering) is\n * the only place these are imported — those files are reachable only from the\n * source's feature module, so the components ship in that chunk, not the\n * table chunk.\n */\nexport interface FieldsSourceComponents {\n FieldManagementModals: ComponentType<{ source: CollectionFieldsSourceState }>;\n CustomColumns: ComponentType<CustomColumnsBaseProps>;\n CollectionToolbarFilters: ComponentType<CollectionToolbarFiltersProps>;\n /** Filters a reference field by the referenced items. Omit it and reference\n * fields get no filter — which is what a source with no reference fields\n * wants, since the component pulls the referenced-item avatar in with it. */\n ReferenceFieldFilter?: ComponentType<ReferenceFieldFilterProps>;\n}\n\n/**\n * The source-specific behavior a collection supplies on top of its FieldsSource\n * (data) — column tweaks, filter behavior, the manage-fields panel, page actions,\n * field actions, and the field-management modal states. A source builds one of\n * these (dataExtensionRendering / schemaRendering); it is spread onto\n * CollectionFieldsSourceState, which owns the pieces directly. The collection\n * renders these with shared, source-neutral components.\n */\nexport interface FieldsSourceRendering {\n /** The schema behind this source, when it has one. The collection initializes\n * the fields container the schema carries; the components read it off the\n * same object for React context. */\n schemaSource?: SchemaSource<any>;\n /**\n * Lets a source replace any column property the shared builder produces,\n * including the render function for media types. Called per field.\n */\n columnOverrides?(field: Field, ctx: ColumnOverridesContext): Partial<Column>;\n /**\n * The editable cell for a field whose editor needs `typeConfig` only the\n * source can supply (a reference cell's referenced collection). Called per\n * field when building editable columns; `undefined` keeps the default mapping\n * for that field type, which for those types is a read-only display.\n */\n editableCellFor?(field: Field): EditableCellUpgrade | undefined;\n /** Per-source filter behavior (text operators, decimal, type icon). */\n filterConfig: FieldFilterConfig;\n /**\n * Builds the source's per-field actions menu for the panel it belongs to. The\n * spine builds the panel and passes it in; the resulting menu drives both the\n * manage-fields panel and the customize-columns header.\n */\n createFieldActionsMenu: (\n panel: CustomFieldsPanelState,\n ) => FieldActionsMenuBuilder;\n /**\n * Builds the raw field-management for one field (handlers + registry metadata)\n * for the panel it belongs to, before grouping. The header merges these with\n * its table-intrinsic actions (sort / hide / filter). Omitted by sources with\n * no field actions.\n */\n createFieldActionHandlers?: (\n panel: CustomFieldsPanelState,\n ) => FieldActionHandlersBuilder;\n featuredPageActions: MoreActionItemFactory[];\n props?: { disableDefaultPageAction?: boolean };\n /** BI error code reported when the source's load fails. Default: 'InitCustomFieldsDataExtensionFailed'. */\n errorCode?: WixPatternsErrorCode;\n /** The source provides these so the table chunk renders them via DI rather\n * than static import. See FieldsSourceComponents. */\n components: FieldsSourceComponents;\n}\n\n/**\n * A collection's field source: the FieldsSource (data) plus the source's UI,\n * held as flat members. The toolbar holds one of these rather than a specific\n * source. It owns the load status (initTask); field and filter reads pass\n * through to the FieldsSource's own observables.\n */\nexport class CollectionFieldsSourceState {\n readonly fieldsSource: FieldsSource;\n /** The field-management state (modals + per-field menu). Built here from the\n * source's config so every source gets the same panel. */\n readonly customFieldsPanel: CustomFieldsPanelState;\n readonly featuredPageActions: MoreActionItemFactory[];\n readonly props?: { disableDefaultPageAction?: boolean };\n readonly filterConfig: FieldFilterConfig;\n readonly openFieldModal: (opts?: OpenFieldModalOptions) => void;\n readonly fieldActionsMenu: FieldActionsMenuBuilder;\n readonly fieldActionHandlers?: FieldActionHandlersBuilder;\n readonly components: FieldsSourceComponents;\n /** Read by the source-driven components, which put its fields container in\n * React context. */\n readonly schemaSource?: SchemaSource<any>;\n /** Read by EditableTableState when it builds the source's editable columns. */\n readonly editableCellFor?: FieldsSourceRendering['editableCellFor'];\n private readonly columnOverrides?: FieldsSourceRendering['columnOverrides'];\n private readonly toolbar: ToolbarCollectionState<any, any>;\n private readonly errorCode: WixPatternsErrorCode;\n private hasBuiltColumns = false;\n\n constructor(\n params: {\n fieldsSource: FieldsSource;\n toolbar: ToolbarCollectionState<any, any>;\n } & FieldsSourceRendering,\n ) {\n this.fieldsSource = params.fieldsSource;\n this.toolbar = params.toolbar;\n this.featuredPageActions = params.featuredPageActions;\n this.props = params.props;\n this.filterConfig = params.filterConfig;\n this.columnOverrides = params.columnOverrides;\n this.schemaSource = params.schemaSource;\n this.editableCellFor = params.editableCellFor;\n this.components = params.components;\n this.errorCode = params.errorCode ?? 'InitCustomFieldsDataExtensionFailed';\n\n // The panel is generic — the source supplies only its config (the menu\n // factory); the table's container/reportBi wire it up. The panel builds all\n // three field-management modals (add/edit, archive, delete) itself.\n this.customFieldsPanel = new CustomFieldsPanelState({\n fieldsSource: params.fieldsSource,\n container: this.toolbar.container,\n reportBi: this.toolbar.reportBi,\n closeSidePanel: this.toolbar.closeSidePanel,\n createFieldActionsMenu: params.createFieldActionsMenu,\n });\n // Opening the add/edit modal and reading the per-field menu are the same for\n // every source, so derive them from the panel rather than per-source.\n this.openFieldModal = (opts) =>\n this.customFieldsPanel.openCustomFieldModal({\n fieldId: opts?.fieldId,\n origin: opts?.origin ?? 'external',\n customOrigin: opts?.customOrigin,\n onSave: opts?.onSave,\n initialField: opts?.initialField,\n lockedProperties: opts?.lockedProperties,\n });\n this.fieldActionsMenu = this.customFieldsPanel.fieldActionsMenu;\n this.fieldActionHandlers = params.createFieldActionHandlers?.(\n this.customFieldsPanel,\n );\n }\n\n /**\n * Attaches a source to a table's toolbar. Builds the wrapper once; calling it\n * again (e.g. on re-render) is a no-op.\n */\n static setOnTable(\n toolbar: ToolbarCollectionState<any, any>,\n source: { fieldsSource: FieldsSource } & FieldsSourceRendering,\n ) {\n toolbar.collectionFieldsSource ??= new CollectionFieldsSourceState({\n ...source,\n toolbar,\n });\n }\n\n readonly initTask = new TaskState();\n\n buildFilters(): FilterElement[] {\n return buildFieldFilters(\n this.toolbar,\n this.fieldsSource,\n this.filterConfig,\n this.components.ReferenceFieldFilter,\n );\n }\n\n /** Registers a filter state per filterable field on the collection query. */\n registerFilters() {\n registerFieldFilters(\n this.toolbar,\n this.fieldsSource,\n this.filterConfig,\n this.components.ReferenceFieldFilter,\n );\n }\n\n /**\n * Builds the columns from the fields, or null while the source is still\n * loading so existing columns are kept.\n */\n buildColumns(firstBuild: boolean): Column[] | null {\n if (!this.initTask.status.isSuccess) {\n return null;\n }\n return buildFieldColumns(this.fieldsSource, this.columnOverrides, {\n firstBuild,\n });\n }\n\n syncColumns() {\n const columns = this.buildColumns(!this.hasBuiltColumns);\n if (columns) {\n this.toolbar.setExtendedColumns(columns);\n this.hasBuiltColumns = true;\n }\n }\n\n /** Merges a returned fields map into the source (no refetch). No-ops for sources\n * that don't support in-place merging. The fields reaction rebuilds columns. */\n mergeFields(fields: Schema['fields']) {\n this.fieldsSource.mergeFields?.(fields);\n }\n\n init() {\n // Idempotent, and the field renderers can't translate until it resolves.\n fieldsContainerOf(this.schemaSource)?.init();\n this.initTask.runOnce(() => this.fieldsSource.load());\n this.initTask.status.promise?.catch(() => this.handleLoadError());\n\n const { modal } = this.customFieldsPanel.customFieldModal.modalState;\n\n const disposers = [\n // Push the columns once the source loads, and again whenever the field\n // list changes (add/edit/delete field). The first push starts every\n // column hidden; later pushes keep the user's selection.\n reaction(\n () =>\n [this.fieldsSource.fields, this.initTask.status.isSuccess] as const,\n () => this.syncColumns(),\n ),\n // Register a filter state per filterable field. filterableFields populates\n // inside the source's load (before initTask resolves), so the collection's\n // initial fetch still waits for these — matching the prior per-source timing.\n reaction(\n () => this.fieldsSource.filterableFields,\n () => this.registerFilters(),\n { fireImmediately: true },\n ),\n // Dismissing the modal doesn't cancel an in-flight field creation.\n // Keep its position until the request finishes, including on failure.\n reaction(\n () => !modal.isOpen && !modal.confirming.isLoading,\n (isClosedAndSettled) => {\n if (isClosedAndSettled) {\n this.toolbar.customColumnsState?.clearPendingInsertPosition();\n }\n },\n ),\n // Make custom-columns storage reconciliation wait until this source's\n // columns are built, so a stored hide/show selection for source fields\n // survives a reload. Covers any source.\n ...(this.toolbar.customColumnsState?.events\n ? [\n addEventListener(\n this.toolbar.customColumnsState.events,\n 'beforeInitialFetch',\n () => this.initTask.status.promise?.catch(() => {}),\n ),\n ]\n : []),\n ];\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n\n private handleLoadError() {\n handleFieldsSourceLoadError({\n container: this.toolbar.container,\n reportBi: this.toolbar.reportBi,\n error: this.initTask.status.error,\n errorCode: this.errorCode,\n reload: () => this.retryLoad(),\n });\n }\n\n /** Re-runs the source load after a failure (the retry toast). */\n private retryLoad() {\n this.initTask.reset();\n this.initTask.runOnce(() => this.fieldsSource.load());\n return this.initTask.status.promise;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_mobx","require","_bexCore","_schemaFieldsContainer","_buildFieldColumns","_handleFieldsSourceLoadError","_buildFieldFilters","_CustomFieldsPanelState","CollectionFieldsSourceState","constructor","params","_defineProperty2","default","TaskState","fieldsSource","toolbar","featuredPageActions","props","filterConfig","columnOverrides","schemaSource","editableCellFor","components","errorCode","customFieldsPanel","CustomFieldsPanelState","container","reportBi","closeSidePanel","createFieldActionsMenu","openFieldModal","opts","openCustomFieldModal","fieldId","origin","customOrigin","onSave","initialField","lockedProperties","fieldActionsMenu","fieldActionHandlers","createFieldActionHandlers","setOnTable","source","runInAction","collectionFieldsSource","buildFilters","buildFieldFilters","ReferenceFieldFilter","registerFilters","registerFieldFilters","buildColumns","firstBuild","initTask","status","isSuccess","buildFieldColumns","syncColumns","columns","hasBuiltColumns","setExtendedColumns","mergeFields","fields","_this$fieldsSource$me","_this$fieldsSource","call","init","_fieldsContainerOf","_this$initTask$status","_this$toolbar$customC2","fieldsContainerOf","runOnce","load","promise","catch","handleLoadError","modal","customFieldModal","modalState","disposers","reaction","filterableFields","fireImmediately","isOpen","confirming","isLoading","isClosedAndSettled","_this$toolbar$customC","customColumnsState","clearPendingInsertPosition","events","addEventListener","_this$initTask$status2","forEach","d","handleFieldsSourceLoadError","error","reload","retryLoad","reset","exports"],"sources":["../../../src/state/CollectionFieldsSourceState.ts"],"sourcesContent":["import { reaction, runInAction } from 'mobx';\nimport type { ComponentType } from 'react';\nimport { addEventListener, TaskState } from '@wix/bex-core';\nimport type {\n FieldsSource,\n CustomFieldOrigin,\n Field,\n OpenFieldModalOptions,\n Schema,\n SchemaSource,\n WixPatternsErrorCode,\n} from '@wix/bex-core';\nimport type { Column } from '../model';\nimport { fieldsContainerOf } from '../model/schemaFieldsContainer';\nimport type { ToolbarCollectionState } from './ToolbarCollectionState';\nimport { buildFieldColumns, ColumnOverridesContext } from './buildFieldColumns';\nimport { handleFieldsSourceLoadError } from './handleFieldsSourceLoadError';\nimport {\n buildFieldFilters,\n registerFieldFilters,\n type FieldFilterConfig,\n} from './buildFieldFilters';\nimport type {\n FilterElement,\n CollectionToolbarFiltersProps,\n} from '../components/CollectionToolbarFilters';\nimport type { MoreActionItemFactory } from '../components/MoreActions/MoreActionsBase';\nimport {\n CustomFieldsPanelState,\n type FieldActionsMenuBuilder,\n} from './CustomFields/CustomFieldsPanelState';\nimport type { FieldActionHandlersConfig } from '../components/FieldActions';\nimport type { CustomColumnsBaseProps } from '../components/CustomColumns/CustomColumns';\nimport type { ReferenceFieldFilterProps } from '../components/ReferenceFieldFilter/ReferenceFieldFilter';\n\n/** A cell type plus the config its editor needs, for a field the default\n * type→cell mapping can't fully resolve on its own. */\nexport interface EditableCellUpgrade {\n cellType: string;\n typeConfig: unknown;\n}\n\n/** Builds the raw field-management for one field (handlers + registry metadata). */\ntype FieldActionHandlersBuilder = (args: {\n fieldId: string;\n origin: CustomFieldOrigin;\n location: string;\n}) => FieldActionHandlersConfig | null;\n\n/**\n * Components the source attaches at construction time so the table chunk can\n * render them via `source.components.X` instead of statically importing them.\n * Each source's rendering file (dataExtensionRendering / schemaRendering) is\n * the only place these are imported — those files are reachable only from the\n * source's feature module, so the components ship in that chunk, not the\n * table chunk.\n */\nexport interface FieldsSourceComponents {\n FieldManagementModals: ComponentType<{ source: CollectionFieldsSourceState }>;\n CustomColumns: ComponentType<CustomColumnsBaseProps>;\n CollectionToolbarFilters: ComponentType<CollectionToolbarFiltersProps>;\n /** Filters a reference field by the referenced items. Omit it and reference\n * fields get no filter — which is what a source with no reference fields\n * wants, since the component pulls the referenced-item avatar in with it. */\n ReferenceFieldFilter?: ComponentType<ReferenceFieldFilterProps>;\n}\n\n/**\n * The source-specific behavior a collection supplies on top of its FieldsSource\n * (data) — column tweaks, filter behavior, the manage-fields panel, page actions,\n * field actions, and the field-management modal states. A source builds one of\n * these (dataExtensionRendering / schemaRendering); it is spread onto\n * CollectionFieldsSourceState, which owns the pieces directly. The collection\n * renders these with shared, source-neutral components.\n */\nexport interface FieldsSourceRendering {\n /** The schema behind this source, when it has one. The collection initializes\n * the fields container the schema carries; the components read it off the\n * same object for React context. */\n schemaSource?: SchemaSource<any>;\n /**\n * Lets a source replace any column property the shared builder produces,\n * including the render function for media types. Called per field.\n */\n columnOverrides?(field: Field, ctx: ColumnOverridesContext): Partial<Column>;\n /**\n * The editable cell for a field whose editor needs `typeConfig` only the\n * source can supply (a reference cell's referenced collection). Called per\n * field when building editable columns; `undefined` keeps the default mapping\n * for that field type, which for those types is a read-only display.\n */\n editableCellFor?(field: Field): EditableCellUpgrade | undefined;\n /** Per-source filter behavior (text operators, decimal, type icon). */\n filterConfig: FieldFilterConfig;\n /**\n * Builds the source's per-field actions menu for the panel it belongs to. The\n * spine builds the panel and passes it in; the resulting menu drives both the\n * manage-fields panel and the customize-columns header.\n */\n createFieldActionsMenu: (\n panel: CustomFieldsPanelState,\n ) => FieldActionsMenuBuilder;\n /**\n * Builds the raw field-management for one field (handlers + registry metadata)\n * for the panel it belongs to, before grouping. The header merges these with\n * its table-intrinsic actions (sort / hide / filter). Omitted by sources with\n * no field actions.\n */\n createFieldActionHandlers?: (\n panel: CustomFieldsPanelState,\n ) => FieldActionHandlersBuilder;\n featuredPageActions: MoreActionItemFactory[];\n props?: { disableDefaultPageAction?: boolean };\n /** BI error code reported when the source's load fails. Default: 'InitCustomFieldsDataExtensionFailed'. */\n errorCode?: WixPatternsErrorCode;\n /** The source provides these so the table chunk renders them via DI rather\n * than static import. See FieldsSourceComponents. */\n components: FieldsSourceComponents;\n}\n\n/**\n * A collection's field source: the FieldsSource (data) plus the source's UI,\n * held as flat members. The toolbar holds one of these rather than a specific\n * source. It owns the load status (initTask); field and filter reads pass\n * through to the FieldsSource's own observables.\n */\nexport class CollectionFieldsSourceState {\n readonly fieldsSource: FieldsSource;\n /** The field-management state (modals + per-field menu). Built here from the\n * source's config so every source gets the same panel. */\n readonly customFieldsPanel: CustomFieldsPanelState;\n readonly featuredPageActions: MoreActionItemFactory[];\n readonly props?: { disableDefaultPageAction?: boolean };\n readonly filterConfig: FieldFilterConfig;\n readonly openFieldModal: (opts?: OpenFieldModalOptions) => void;\n readonly fieldActionsMenu: FieldActionsMenuBuilder;\n readonly fieldActionHandlers?: FieldActionHandlersBuilder;\n readonly components: FieldsSourceComponents;\n /** Read by the source-driven components, which put its fields container in\n * React context. */\n readonly schemaSource?: SchemaSource<any>;\n /** Read by EditableTableState when it builds the source's editable columns. */\n readonly editableCellFor?: FieldsSourceRendering['editableCellFor'];\n private readonly columnOverrides?: FieldsSourceRendering['columnOverrides'];\n private readonly toolbar: ToolbarCollectionState<any, any>;\n private readonly errorCode: WixPatternsErrorCode;\n private hasBuiltColumns = false;\n\n constructor(\n params: {\n fieldsSource: FieldsSource;\n toolbar: ToolbarCollectionState<any, any>;\n } & FieldsSourceRendering,\n ) {\n this.fieldsSource = params.fieldsSource;\n this.toolbar = params.toolbar;\n this.featuredPageActions = params.featuredPageActions;\n this.props = params.props;\n this.filterConfig = params.filterConfig;\n this.columnOverrides = params.columnOverrides;\n this.schemaSource = params.schemaSource;\n this.editableCellFor = params.editableCellFor;\n this.components = params.components;\n this.errorCode = params.errorCode ?? 'InitCustomFieldsDataExtensionFailed';\n\n // The panel is generic — the source supplies only its config (the menu\n // factory); the table's container/reportBi wire it up. The panel builds all\n // three field-management modals (add/edit, archive, delete) itself.\n this.customFieldsPanel = new CustomFieldsPanelState({\n fieldsSource: params.fieldsSource,\n container: this.toolbar.container,\n reportBi: this.toolbar.reportBi,\n closeSidePanel: this.toolbar.closeSidePanel,\n createFieldActionsMenu: params.createFieldActionsMenu,\n });\n // Opening the add/edit modal and reading the per-field menu are the same for\n // every source, so derive them from the panel rather than per-source.\n this.openFieldModal = (opts) =>\n this.customFieldsPanel.openCustomFieldModal({\n fieldId: opts?.fieldId,\n origin: opts?.origin ?? 'external',\n customOrigin: opts?.customOrigin,\n onSave: opts?.onSave,\n initialField: opts?.initialField,\n lockedProperties: opts?.lockedProperties,\n });\n this.fieldActionsMenu = this.customFieldsPanel.fieldActionsMenu;\n this.fieldActionHandlers = params.createFieldActionHandlers?.(\n this.customFieldsPanel,\n );\n }\n\n /**\n * Attaches a source to a table's toolbar. Builds the wrapper once; calling it\n * again (e.g. on re-render) is a no-op.\n */\n static setOnTable(\n toolbar: ToolbarCollectionState<any, any>,\n source: { fieldsSource: FieldsSource } & FieldsSourceRendering,\n ) {\n runInAction(() => {\n toolbar.collectionFieldsSource ??= new CollectionFieldsSourceState({\n ...source,\n toolbar,\n });\n });\n }\n\n readonly initTask = new TaskState();\n\n buildFilters(): FilterElement[] {\n return buildFieldFilters(\n this.toolbar,\n this.fieldsSource,\n this.filterConfig,\n this.components.ReferenceFieldFilter,\n );\n }\n\n /** Registers a filter state per filterable field on the collection query. */\n registerFilters() {\n registerFieldFilters(\n this.toolbar,\n this.fieldsSource,\n this.filterConfig,\n this.components.ReferenceFieldFilter,\n );\n }\n\n /**\n * Builds the columns from the fields, or null while the source is still\n * loading so existing columns are kept.\n */\n buildColumns(firstBuild: boolean): Column[] | null {\n if (!this.initTask.status.isSuccess) {\n return null;\n }\n return buildFieldColumns(this.fieldsSource, this.columnOverrides, {\n firstBuild,\n });\n }\n\n syncColumns() {\n const columns = this.buildColumns(!this.hasBuiltColumns);\n if (columns) {\n this.toolbar.setExtendedColumns(columns);\n this.hasBuiltColumns = true;\n }\n }\n\n /** Merges a returned fields map into the source (no refetch). No-ops for sources\n * that don't support in-place merging. The fields reaction rebuilds columns. */\n mergeFields(fields: Schema['fields']) {\n this.fieldsSource.mergeFields?.(fields);\n }\n\n init() {\n // Idempotent, and the field renderers can't translate until it resolves.\n fieldsContainerOf(this.schemaSource)?.init();\n this.initTask.runOnce(() => this.fieldsSource.load());\n this.initTask.status.promise?.catch(() => this.handleLoadError());\n\n const { modal } = this.customFieldsPanel.customFieldModal.modalState;\n\n const disposers = [\n // Push the columns once the source loads, and again whenever the field\n // list changes (add/edit/delete field). The first push starts every\n // column hidden; later pushes keep the user's selection.\n reaction(\n () =>\n [this.fieldsSource.fields, this.initTask.status.isSuccess] as const,\n () => this.syncColumns(),\n ),\n // Register a filter state per filterable field. filterableFields populates\n // inside the source's load (before initTask resolves), so the collection's\n // initial fetch still waits for these — matching the prior per-source timing.\n reaction(\n () => this.fieldsSource.filterableFields,\n () => this.registerFilters(),\n { fireImmediately: true },\n ),\n // Dismissing the modal doesn't cancel an in-flight field creation.\n // Keep its position until the request finishes, including on failure.\n reaction(\n () => !modal.isOpen && !modal.confirming.isLoading,\n (isClosedAndSettled) => {\n if (isClosedAndSettled) {\n this.toolbar.customColumnsState?.clearPendingInsertPosition();\n }\n },\n ),\n // Make custom-columns storage reconciliation wait until this source's\n // columns are built, so a stored hide/show selection for source fields\n // survives a reload. Covers any source.\n ...(this.toolbar.customColumnsState?.events\n ? [\n addEventListener(\n this.toolbar.customColumnsState.events,\n 'beforeInitialFetch',\n () => this.initTask.status.promise?.catch(() => {}),\n ),\n ]\n : []),\n ];\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n\n private handleLoadError() {\n handleFieldsSourceLoadError({\n container: this.toolbar.container,\n reportBi: this.toolbar.reportBi,\n error: this.initTask.status.error,\n errorCode: this.errorCode,\n reload: () => this.retryLoad(),\n });\n }\n\n /** Re-runs the source load after a failure (the retry toast). */\n private retryLoad() {\n this.initTask.reset();\n this.initTask.runOnce(() => this.fieldsSource.load());\n return this.initTask.status.promise;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,15 +5,15 @@ exports.vars = exports.style = exports.stVars = exports.st = exports.namespace =
|
|
|
5
5
|
var _stylableEsmRuntime = require("../../stylable-esm-runtime.js");
|
|
6
6
|
// @ts-nocheck
|
|
7
7
|
|
|
8
|
-
var _namespace_ = "
|
|
8
|
+
var _namespace_ = "CollectionPageHeader1806512227";
|
|
9
9
|
var _style_ = _stylableEsmRuntime.classesRuntime.bind(null, _namespace_);
|
|
10
10
|
var cssStates = exports.cssStates = _stylableEsmRuntime.statesRuntime.bind(null, _namespace_);
|
|
11
11
|
var style = exports.style = _style_;
|
|
12
12
|
var st = exports.st = _style_;
|
|
13
13
|
var namespace = exports.namespace = _namespace_;
|
|
14
14
|
var classes = exports.classes = {
|
|
15
|
-
"root": "
|
|
16
|
-
"mobileMoreActions": "
|
|
15
|
+
"root": "CollectionPageHeader1806512227__root",
|
|
16
|
+
"mobileMoreActions": "CollectionPageHeader1806512227__mobileMoreActions"
|
|
17
17
|
};
|
|
18
18
|
var keyframes = exports.keyframes = {};
|
|
19
19
|
var layers = exports.layers = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/state/CollectionPage/CollectionPageHeader.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"
|
|
1
|
+
{"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/state/CollectionPage/CollectionPageHeader.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"CollectionPageHeader1806512227\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"CollectionPageHeader1806512227__root\",\"mobileMoreActions\":\"CollectionPageHeader1806512227__mobileMoreActions\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {\"wds-page-header-title-actions-gap\":\"--wds-page-header-title-actions-gap\"}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,gCAAgC;AAClD,IAAIC,OAAO,GAAGC,kCAAc,CAACC,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AAE7C,IAAII,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,iCAAa,CAACH,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AACrD,IAAIO,KAAK,GAAAF,OAAA,CAAAE,KAAA,GAAGN,OAAO;AACnB,IAAIO,EAA0C,GAAAH,OAAA,CAAAG,EAAA,GAAGP,OAAO;AAExD,IAAIQ,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGT,WAAW;AAC3B,IAAIU,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EAAC,MAAM,EAAC,sCAAsC;EAAC,mBAAmB,EAAC;AAAmD,CAAC;AACrI,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG;EAAC,mCAAmC,EAAC;AAAqC,CAAC","ignoreList":[]}
|
|
@@ -5,14 +5,14 @@ exports.vars = exports.style = exports.stVars = exports.st = exports.namespace =
|
|
|
5
5
|
var _stylableEsmRuntime = require("../../stylable-esm-runtime.js");
|
|
6
6
|
// @ts-nocheck
|
|
7
7
|
|
|
8
|
-
var _namespace_ = "
|
|
8
|
+
var _namespace_ = "MobilePrimaryActionBar921216690";
|
|
9
9
|
var _style_ = _stylableEsmRuntime.classesRuntime.bind(null, _namespace_);
|
|
10
10
|
var cssStates = exports.cssStates = _stylableEsmRuntime.statesRuntime.bind(null, _namespace_);
|
|
11
11
|
var style = exports.style = _style_;
|
|
12
12
|
var st = exports.st = _style_;
|
|
13
13
|
var namespace = exports.namespace = _namespace_;
|
|
14
14
|
var classes = exports.classes = {
|
|
15
|
-
"root": "
|
|
15
|
+
"root": "MobilePrimaryActionBar921216690__root"
|
|
16
16
|
};
|
|
17
17
|
var keyframes = exports.keyframes = {};
|
|
18
18
|
var layers = exports.layers = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/state/CollectionPage/MobilePrimaryActionBar.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"
|
|
1
|
+
{"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/state/CollectionPage/MobilePrimaryActionBar.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"MobilePrimaryActionBar921216690\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"MobilePrimaryActionBar921216690__root\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {\"wds-space-300\":\"--wds-space-300\",\"wds-space-400\":\"--wds-space-400\"}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,iCAAiC;AACnD,IAAIC,OAAO,GAAGC,kCAAc,CAACC,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AAE7C,IAAII,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,iCAAa,CAACH,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AACrD,IAAIO,KAAK,GAAAF,OAAA,CAAAE,KAAA,GAAGN,OAAO;AACnB,IAAIO,EAA0C,GAAAH,OAAA,CAAAG,EAAA,GAAGP,OAAO;AAExD,IAAIQ,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGT,WAAW;AAC3B,IAAIU,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EAAC,MAAM,EAAC;AAAuC,CAAC;AAC9D,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG;EAAC,eAAe,EAAC,iBAAiB;EAAC,eAAe,EAAC;AAAiB,CAAC","ignoreList":[]}
|
|
@@ -5,16 +5,16 @@ exports.vars = exports.style = exports.stVars = exports.st = exports.namespace =
|
|
|
5
5
|
var _stylableEsmRuntime = require("../../stylable-esm-runtime.js");
|
|
6
6
|
// @ts-nocheck
|
|
7
7
|
|
|
8
|
-
var _namespace_ = "
|
|
8
|
+
var _namespace_ = "TitleBadges1040141928";
|
|
9
9
|
var _style_ = _stylableEsmRuntime.classesRuntime.bind(null, _namespace_);
|
|
10
10
|
var cssStates = exports.cssStates = _stylableEsmRuntime.statesRuntime.bind(null, _namespace_);
|
|
11
11
|
var style = exports.style = _style_;
|
|
12
12
|
var st = exports.st = _style_;
|
|
13
13
|
var namespace = exports.namespace = _namespace_;
|
|
14
14
|
var classes = exports.classes = {
|
|
15
|
-
"root": "
|
|
16
|
-
"tooltip": "
|
|
17
|
-
"tooltipTrigger": "
|
|
15
|
+
"root": "TitleBadges1040141928__root",
|
|
16
|
+
"tooltip": "TitleBadges1040141928__tooltip",
|
|
17
|
+
"tooltipTrigger": "TitleBadges1040141928__tooltipTrigger"
|
|
18
18
|
};
|
|
19
19
|
var keyframes = exports.keyframes = {};
|
|
20
20
|
var layers = exports.layers = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/state/CollectionPage/TitleBadges.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"
|
|
1
|
+
{"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/state/CollectionPage/TitleBadges.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"TitleBadges1040141928\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"TitleBadges1040141928__root\",\"tooltip\":\"TitleBadges1040141928__tooltip\",\"tooltipTrigger\":\"TitleBadges1040141928__tooltipTrigger\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,uBAAuB;AACzC,IAAIC,OAAO,GAAGC,kCAAc,CAACC,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AAE7C,IAAII,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,iCAAa,CAACH,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AACrD,IAAIO,KAAK,GAAAF,OAAA,CAAAE,KAAA,GAAGN,OAAO;AACnB,IAAIO,EAA0C,GAAAH,OAAA,CAAAG,EAAA,GAAGP,OAAO;AAExD,IAAIQ,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGT,WAAW;AAC3B,IAAIU,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EAAC,MAAM,EAAC,6BAA6B;EAAC,SAAS,EAAC,gCAAgC;EAAC,gBAAgB,EAAC;AAAuC,CAAC;AACxJ,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG,CAAC,CAAC","ignoreList":[]}
|
|
@@ -7,6 +7,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
7
7
|
var _mobx = require("mobx");
|
|
8
8
|
var _cellTypes = require("../../components/EditableTable/cellTypes");
|
|
9
9
|
var _utils = require("./utils");
|
|
10
|
+
var _fieldValidation = require("../../utils/fieldValidation");
|
|
10
11
|
const builtInCellTypeMap = new Map(_cellTypes.builtInCellTypes.map(ct => [ct.type, ct]));
|
|
11
12
|
class CellValueState {
|
|
12
13
|
constructor(parent, extraCellTypes = new Map()) {
|
|
@@ -28,6 +29,7 @@ class CellValueState {
|
|
|
28
29
|
commitHandler: _mobx.action,
|
|
29
30
|
applyBulkRawValues: _mobx.action,
|
|
30
31
|
applyBulkValues: _mobx.action,
|
|
32
|
+
revalidatePendingCells: _mobx.action,
|
|
31
33
|
flushDrafts: _mobx.action,
|
|
32
34
|
flushRow: _mobx.action,
|
|
33
35
|
dropRowCellState: _mobx.action
|
|
@@ -75,7 +77,7 @@ class CellValueState {
|
|
|
75
77
|
errors: pending.errors
|
|
76
78
|
};
|
|
77
79
|
}
|
|
78
|
-
return
|
|
80
|
+
return _fieldValidation.validResult;
|
|
79
81
|
}
|
|
80
82
|
|
|
81
83
|
/** Normalize like commitHandler does, then validate, so a value commit
|
|
@@ -85,11 +87,11 @@ class CellValueState {
|
|
|
85
87
|
var _this$_parent$collect;
|
|
86
88
|
const column = this._parent._columnMap.get(columnId);
|
|
87
89
|
if (!column) {
|
|
88
|
-
return
|
|
90
|
+
return _fieldValidation.validResult;
|
|
89
91
|
}
|
|
90
92
|
const resolved = this.resolveCellTypeByColumnId(column.id);
|
|
91
93
|
const normalized = resolved.normalizeOnCommit ? resolved.normalizeOnCommit(value) : value;
|
|
92
|
-
return (0,
|
|
94
|
+
return (0, _fieldValidation.validateFieldValue)(normalized, column.validation, resolved.validate, (_this$_parent$collect = this._parent.collection) == null ? void 0 : _this$_parent$collect.translate);
|
|
93
95
|
}
|
|
94
96
|
isCellEditable(rowKey, columnId) {
|
|
95
97
|
const column = this._parent._columnMap.get(columnId);
|
|
@@ -314,7 +316,8 @@ class CellValueState {
|
|
|
314
316
|
if (pendingKey) {
|
|
315
317
|
this._pendingCells.set(pendingKey, {
|
|
316
318
|
value,
|
|
317
|
-
errors: [error]
|
|
319
|
+
errors: [error],
|
|
320
|
+
isDeserializationError: true
|
|
318
321
|
});
|
|
319
322
|
}
|
|
320
323
|
} else {
|
|
@@ -349,7 +352,7 @@ class CellValueState {
|
|
|
349
352
|
continue;
|
|
350
353
|
}
|
|
351
354
|
const resolved = this.resolveCellTypeByColumnId(column.id);
|
|
352
|
-
const result = (0,
|
|
355
|
+
const result = (0, _fieldValidation.validateFieldValue)(value, column.validation, resolved.validate, (_this$_parent$collect3 = this._parent.collection) == null ? void 0 : _this$_parent$collect3.translate);
|
|
353
356
|
const pendingKey = this._pendingCellKey(rowKey, columnId);
|
|
354
357
|
if (result.valid) {
|
|
355
358
|
if (pendingKey) {
|
|
@@ -401,7 +404,7 @@ class CellValueState {
|
|
|
401
404
|
return;
|
|
402
405
|
}
|
|
403
406
|
const resolved = this.resolveCellTypeByColumnId(column.id);
|
|
404
|
-
const result = (0,
|
|
407
|
+
const result = (0, _fieldValidation.validateFieldValue)(value, column.validation, resolved.validate, (_this$_parent$collect4 = this._parent.collection) == null ? void 0 : _this$_parent$collect4.translate);
|
|
405
408
|
const pendingKey = this._pendingCellKey(rowKey, columnId);
|
|
406
409
|
if (result.valid && pendingKey) {
|
|
407
410
|
this._pendingCells.delete(pendingKey);
|
|
@@ -417,6 +420,24 @@ class CellValueState {
|
|
|
417
420
|
});
|
|
418
421
|
}
|
|
419
422
|
}
|
|
423
|
+
revalidatePendingCells() {
|
|
424
|
+
const rowsToSave = new Set();
|
|
425
|
+
for (const [key, pending] of this._pendingCells) {
|
|
426
|
+
const cell = (0, _utils.parseCellKey)(key);
|
|
427
|
+
if (!cell || pending.isDeserializationError) {
|
|
428
|
+
continue;
|
|
429
|
+
}
|
|
430
|
+
this._applyValue(cell.rowKey, cell.columnId, pending.value);
|
|
431
|
+
if (!this._pendingCells.has(key)) {
|
|
432
|
+
rowsToSave.add(cell.rowKey);
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
for (const rowKey of rowsToSave) {
|
|
436
|
+
if (!this._parent.cellInteraction.isRowActive(rowKey)) {
|
|
437
|
+
this.flushRow(rowKey);
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
}
|
|
420
441
|
flushDrafts(exceptRowKey) {
|
|
421
442
|
this._flushRows(rowKey => rowKey !== exceptRowKey);
|
|
422
443
|
}
|