@wix/patterns 1.495.0 → 1.497.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 +8 -32
- 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/EditableTable.js +9 -18
- package/dist/cjs/components/EditableTable/EditableTable.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/mediaImage/Edit.js +13 -4
- package/dist/cjs/components/EditableTable/cellTypes/mediaImage/Edit.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/mediaImage/Edit.st.css +7 -0
- package/dist/cjs/components/EditableTable/cellTypes/mediaImage/Edit.st.css.js +22 -0
- package/dist/cjs/components/EditableTable/cellTypes/mediaImage/Edit.st.css.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/mediaImage/Edit.uni.driver.js +2 -0
- package/dist/cjs/components/EditableTable/cellTypes/mediaImage/Edit.uni.driver.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/multiDocument/Edit.js +14 -4
- package/dist/cjs/components/EditableTable/cellTypes/multiDocument/Edit.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/multiDocument/Edit.st.css +6 -0
- package/dist/cjs/components/EditableTable/cellTypes/multiDocument/Edit.st.css.js +23 -0
- package/dist/cjs/components/EditableTable/cellTypes/multiDocument/Edit.st.css.js.map +1 -0
- 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 +26 -17
- package/dist/cjs/components/ImportButton/ImportButtonModalLayout.js.map +1 -1
- package/dist/cjs/components/ImportButton/ImportStepConfiguration.js +30 -28
- 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/SchemaSource/schemaFieldActions.js +24 -6
- package/dist/cjs/components/SchemaSource/schemaFieldActions.js.map +1 -1
- package/dist/cjs/components/SchemaSource/schemaFieldManagement.js +10 -0
- package/dist/cjs/components/SchemaSource/schemaFieldManagement.js.map +1 -1
- package/dist/cjs/components/SchemaSource/tableSchemaSource.js +3 -0
- package/dist/cjs/components/SchemaSource/tableSchemaSource.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/hooks/useOptionalCachedState.js +4 -1
- package/dist/cjs/hooks/useOptionalCachedState.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/CustomFields/CustomFieldsPanelState.js +7 -1
- package/dist/cjs/state/CustomFields/CustomFieldsPanelState.js.map +1 -1
- package/dist/cjs/state/EditableTable/CellValueState.js +6 -5
- package/dist/cjs/state/EditableTable/CellValueState.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/EntityPage/EntityPageState.js +4 -0
- package/dist/cjs/state/EntityPage/EntityPageState.js.map +1 -1
- package/dist/cjs/state/EntityPageFieldsCardState.js +5 -1
- package/dist/cjs/state/EntityPageFieldsCardState.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/WixPatternsRouterState.js +13 -0
- package/dist/cjs/state/WixPatternsRouterState.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 +4 -0
- package/dist/docs/index.json +1 -1
- package/dist/docs/useSchemaSource.md +7 -1
- package/dist/dts-bundle/index.json +31 -31
- package/dist/dts-bundle/index.txt +5 -5
- package/dist/dts-bundle/types/CellType.d.ts +9 -7
- package/dist/dts-bundle/types/EntityPageState.d.ts +1 -0
- package/dist/dts-bundle/types/SchemaSource.d.ts +8 -2
- package/dist/dts-bundle/types/SchemaSourceInput.d.ts +10 -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/CmsFieldManagement/CmsFieldForm.st.css.js +2 -2
- package/dist/esm/components/CmsFieldManagement/CmsFieldModal.st.css.js +2 -2
- package/dist/esm/components/CmsFieldManagement/CmsFieldModal.st.css.js.map +1 -1
- package/dist/esm/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js +2 -2
- package/dist/esm/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js.map +1 -1
- 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/CollectionSectionHeader/CollectionSectionHeader.st.css.js.map +1 -1
- 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/CollectionToolbar.st.css.js.map +1 -1
- 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/CustomFieldModal/CustomFieldFormPiiFields.st.css.js +2 -2
- 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 +8 -32
- 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/EditableTable.js +0 -2
- package/dist/esm/components/EditableTable/EditableTable.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/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/CellViewLayout.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/JsonInputEdit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/address/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/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/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/color/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/date/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/date/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/mediaImage/Edit.js +3 -1
- package/dist/esm/components/EditableTable/cellTypes/mediaImage/Edit.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/mediaImage/Edit.st.css +7 -0
- package/dist/esm/components/EditableTable/cellTypes/mediaImage/Edit.st.css.js +15 -0
- package/dist/esm/components/EditableTable/cellTypes/mediaImage/Edit.st.css.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/mediaImage/Edit.uni.driver.js +4 -0
- package/dist/esm/components/EditableTable/cellTypes/mediaImage/Edit.uni.driver.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/multiDocument/Edit.js +3 -1
- package/dist/esm/components/EditableTable/cellTypes/multiDocument/Edit.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/multiDocument/Edit.st.css +6 -0
- package/dist/esm/components/EditableTable/cellTypes/multiDocument/Edit.st.css.js +15 -0
- package/dist/esm/components/EditableTable/cellTypes/multiDocument/Edit.st.css.js.map +1 -0
- 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/Edit.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/reference/EmptyReferenceView.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/reference/EmptyReferenceView.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/text/View.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/time/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js +2 -2
- package/dist/esm/components/EmptyState/EmptyStateBase.st.css.js +2 -2
- package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js +2 -2
- package/dist/esm/components/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 +8 -1
- package/dist/esm/components/ImportButton/ImportButtonModalLayout.js.map +1 -1
- package/dist/esm/components/ImportButton/ImportStepConfiguration.js +2 -0
- 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/LoadingRow/LoadingRow.st.css.js +3 -3
- package/dist/esm/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
- package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
- package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
- 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/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
- package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
- package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
- package/dist/esm/components/PickerContent/PickerContent.st.css.js.map +1 -1
- package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
- package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
- package/dist/esm/components/SchemaSource/schemaFieldActions.js +30 -8
- package/dist/esm/components/SchemaSource/schemaFieldActions.js.map +1 -1
- package/dist/esm/components/SchemaSource/schemaFieldManagement.js +12 -0
- package/dist/esm/components/SchemaSource/schemaFieldManagement.js.map +1 -1
- package/dist/esm/components/SchemaSource/tableSchemaSource.js +3 -0
- package/dist/esm/components/SchemaSource/tableSchemaSource.js.map +1 -1
- package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
- package/dist/esm/components/SetupWidget/SetupWidget.st.css.js +2 -2
- package/dist/esm/components/SetupWidget/SetupWidget.st.css.js.map +1 -1
- package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
- package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
- package/dist/esm/components/Table/AddFieldColumnHeader.st.css.js +2 -2
- package/dist/esm/components/Table/NumberCell.st.css.js +2 -2
- package/dist/esm/components/Table/NumberCell.st.css.js.map +1 -1
- package/dist/esm/components/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/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
- package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
- package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js.map +1 -1
- package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
- package/dist/esm/components/common.st.css.js +2 -2
- package/dist/esm/hooks/useBuildAccordionItems.js +24 -10
- package/dist/esm/hooks/useBuildAccordionItems.js.map +1 -1
- package/dist/esm/hooks/useOptionalCachedState.js +4 -1
- package/dist/esm/hooks/useOptionalCachedState.js.map +1 -1
- package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
- package/dist/esm/state/CollectionPage/MobilePrimaryActionBar.st.css.js +2 -2
- package/dist/esm/state/CollectionPage/TitleBadges.st.css.js +2 -2
- package/dist/esm/state/CollectionPage/TitleBadges.st.css.js.map +1 -1
- package/dist/esm/state/CustomFields/CustomFieldsPanelState.js +13 -1
- package/dist/esm/state/CustomFields/CustomFieldsPanelState.js.map +1 -1
- package/dist/esm/state/EditableTable/CellValueState.js +5 -4
- package/dist/esm/state/EditableTable/CellValueState.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/EntityPage/EntityPageState.js +3 -0
- package/dist/esm/state/EntityPage/EntityPageState.js.map +1 -1
- package/dist/esm/state/EntityPageFieldsCardState.js +5 -1
- package/dist/esm/state/EntityPageFieldsCardState.js.map +1 -1
- package/dist/esm/state/FormPage/FormPageHeader.st.css.js +2 -2
- package/dist/esm/state/WixPatternsRouterState.js +13 -0
- package/dist/esm/state/WixPatternsRouterState.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/types/components/CmsFieldManagement/CmsFieldModal.st.css.d.ts.map +1 -1
- package/dist/types/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionPageNew/CollectionPage.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionSectionHeader/CollectionSectionHeader.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/CollectionToolbar/CollectionToolbar.st.css.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/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 +7 -5
- package/dist/types/components/EditableTable/EditableCell.uni.driver.d.ts.map +1 -1
- package/dist/types/components/EditableTable/EditableTable.d.ts.map +1 -1
- package/dist/types/components/EditableTable/EditableTable.uni.driver.d.ts +4 -0
- package/dist/types/components/EditableTable/EditableTable.uni.driver.d.ts.map +1 -1
- package/dist/types/components/EditableTable/EditableTableContextMenu.d.ts.map +1 -1
- package/dist/types/components/EditableTable/HeaderFieldActions.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/CellViewLayout.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/address/Edit.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/mediaImage/Edit.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/mediaImage/Edit.st.css.d.ts +13 -0
- package/dist/types/components/EditableTable/cellTypes/mediaImage/Edit.st.css.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/mediaImage/Edit.uni.driver.d.ts +2 -0
- package/dist/types/components/EditableTable/cellTypes/mediaImage/Edit.uni.driver.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/multiDocument/Edit.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/multiDocument/Edit.st.css.d.ts +14 -0
- package/dist/types/components/EditableTable/cellTypes/multiDocument/Edit.st.css.d.ts.map +1 -0
- 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/number/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/object/View.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/reference/EmptyReferenceView.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/text/View.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/url/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/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/LoadingRow/LoadingRow.st.css.d.ts.map +1 -1
- package/dist/types/components/MaxHeightText/MaxHeightText.st.css.d.ts.map +1 -1
- package/dist/types/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.d.ts.map +1 -1
- package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.d.ts.map +1 -1
- package/dist/types/components/PickerContent/PickerContent.st.css.d.ts.map +1 -1
- package/dist/types/components/SchemaSource/schemaFieldActions.d.ts.map +1 -1
- package/dist/types/components/SchemaSource/schemaFieldManagement.d.ts.map +1 -1
- package/dist/types/components/SchemaSource/tableSchemaSource.d.ts.map +1 -1
- package/dist/types/components/SetupWidget/SetupWidget.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/ToolbarItem/ToolbarItem.st.css.d.ts.map +1 -1
- package/dist/types/hooks/useBuildAccordionItems.d.ts.map +1 -1
- package/dist/types/hooks/useOptionalCachedState.d.ts.map +1 -1
- package/dist/types/state/CollectionPage/TitleBadges.st.css.d.ts.map +1 -1
- package/dist/types/state/CustomFields/CustomFieldsPanelState.d.ts +1 -0
- package/dist/types/state/CustomFields/CustomFieldsPanelState.d.ts.map +1 -1
- package/dist/types/state/EditableTable/CellValueState.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/EntityPage/EntityPageState.d.ts +1 -0
- package/dist/types/state/EntityPage/EntityPageState.d.ts.map +1 -1
- package/dist/types/state/EntityPageFieldsCardState.d.ts.map +1 -1
- package/dist/types/state/WixPatternsRouterState.d.ts +3 -0
- package/dist/types/state/WixPatternsRouterState.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 +8 -0
- package/dist/types/testkit/jsdom.d.ts.map +1 -1
- package/dist/types/testkit/playwright.d.ts +8 -0
- package/dist/types/testkit/playwright.d.ts.map +1 -1
- package/dist/types/testkit/puppeteer.d.ts +8 -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 +8 -32
- 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/EditableTable.tsx +0 -4
- 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/mediaImage/Edit.st.css +7 -0
- package/src/components/EditableTable/cellTypes/mediaImage/Edit.st.css.ts +25 -0
- package/src/components/EditableTable/cellTypes/mediaImage/Edit.tsx +12 -9
- package/src/components/EditableTable/cellTypes/mediaImage/Edit.uni.driver.ts +6 -0
- package/src/components/EditableTable/cellTypes/multiDocument/Edit.st.css +6 -0
- package/src/components/EditableTable/cellTypes/multiDocument/Edit.st.css.ts +25 -0
- package/src/components/EditableTable/cellTypes/multiDocument/Edit.tsx +13 -10
- 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 +10 -1
- package/src/components/ImportButton/ImportStepConfiguration.tsx +4 -1
- 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/SchemaSource/schemaFieldActions.ts +39 -10
- package/src/components/SchemaSource/schemaFieldManagement.ts +15 -0
- package/src/components/SchemaSource/tableSchemaSource.ts +3 -0
- 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/hooks/useOptionalCachedState.ts +4 -1
- 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/CustomFields/CustomFieldsPanelState.ts +14 -1
- package/src/state/EditableTable/CellValueState.ts +5 -4
- package/src/state/EditableTable/types.ts +2 -5
- package/src/state/EditableTable/utils.ts +1 -75
- package/src/state/EntityPage/EntityPageState.ts +4 -0
- package/src/state/EntityPageFieldsCardState.ts +5 -1
- package/src/state/FormPage/FormPageHeader.st.css.ts +2 -2
- package/src/state/WixPatternsRouterState.ts +19 -1
- package/src/state/buildEditableFieldColumns.ts +2 -80
- package/src/styles.global.css +2 -2
- package/src/{components/CollectionTable → utils}/buildMobileColumns.tsx +46 -17
- package/src/utils/fieldValidation.ts +153 -0
- package/src/version.ts +1 -1
- package/dist/cjs/components/CollectionTable/buildMobileColumns.js.map +0 -1
- package/dist/cjs/components/CollectionTable/mobileColumnsUtils.js +0 -24
- package/dist/cjs/components/CollectionTable/mobileColumnsUtils.js.map +0 -1
- package/dist/esm/components/CollectionTable/buildMobileColumns.js.map +0 -1
- package/dist/esm/components/CollectionTable/mobileColumnsUtils.js +0 -15
- package/dist/esm/components/CollectionTable/mobileColumnsUtils.js.map +0 -1
- package/dist/types/components/CollectionTable/buildMobileColumns.d.ts +0 -4
- package/dist/types/components/CollectionTable/buildMobileColumns.d.ts.map +0 -1
- package/dist/types/components/CollectionTable/mobileColumnsUtils.d.ts +0 -17
- package/dist/types/components/CollectionTable/mobileColumnsUtils.d.ts.map +0 -1
- package/src/components/CollectionTable/mobileColumnsUtils.ts +0 -31
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_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":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAC,uBAAA,CAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AAKA,IAAAI,iBAAA,GAAAJ,OAAA;AAGA,IAAAK,2BAAA,GAAAL,OAAA;AACA,IAAAM,qBAAA,GAAAN,OAAA;AACA,IAAAO,qBAAA,GAAAP,OAAA;AAAiE,IAAAQ,YAAA;AAAA,SAAAN,wBAAAO,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAT,uBAAA,YAAAA,CAAAO,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAEjE,SAASkB,qBAAqBA,CAC5BC,KAA0C,EAC1CC,kBAA2B,EAC3B;EACA,OAAO,IAAAC,mBAAW,EACfC,aAA4B,IAAK;IAChC,MAAM;MAAEC,IAAI,EAAEC,SAAS;MAAEC,KAAK,EAAEC;IAAY,CAAC,GAAGJ,aAAa;IAC7D,MAAM;MACJK,MAAM;MACNC,aAAa;MACbC,YAAY;MACZC,kBAAkB;MAClBC;IACF,CAAC,GAAGL,WAAW;IAEf,MAAMM,aAAa,gBACjBzC,OAAA,CAAAkB,OAAA,CAAAwB,aAAA,CAACT,SAAS,MAAAU,SAAA,CAAAzB,OAAA,MACJiB,WAAW;MACfG,YAAY,EAAE;QAAEM,QAAQ,EAAE,QAAQ;QAAE,GAAGN;MAAa,CAAE;MAAAO,MAAA;MAAAC,QAAA;QAAAC,QAAA,EAAAxC,YAAA;QAAAyC,UAAA;QAAAC,YAAA;MAAA;IAAA,EACvD,CACF;IACD,MAAMC,YAAY,gBAChBlD,OAAA,CAAAkB,OAAA,CAAAwB,aAAA,CAACrC,qBAAA,CAAA8C,oBAAoB;MACnBvB,KAAK,EAAEA,KAAK,CAACwB,OAAQ;MACrBhB,MAAM,EAAEA,MAAO;MACfD,WAAW,EAAEA,WAAY;MAAAU,MAAA;MAAAC,QAAA;QAAAC,QAAA,EAAAxC,YAAA;QAAAyC,UAAA;QAAAC,YAAA;MAAA;IAAA,CAC1B,CACF;IACD,MAAMI,aAAa,GAAGxB,kBAAkB,gBACtC7B,OAAA,CAAAkB,OAAA,CAAAwB,aAAA,CAACxC,aAAA,CAAAoD,GAAG;MAACC,GAAG,EAAC,KAAK;MAACC,aAAa,EAAC,QAAQ;MAAAX,MAAA;MAAAC,QAAA;QAAAC,QAAA,EAAAxC,YAAA;QAAAyC,UAAA;QAAAC,YAAA;MAAA;IAAA,GAClC,IAAAQ,sCAAgB,EAAC;MAAEjB,SAAS;MAAEkB,IAAI,EAAE;IAAS,CAAC,CAAC,EAC/CR,YACE,CAAC,GAENA,YACD;IAED,MAAMS,KAAK,GAAGxB,WAAW,CAACC,MAAM,gBAC9BpC,OAAA,CAAAkB,OAAA,CAAAwB,aAAA,CAACxC,aAAA,CAAAoD,GAAG;MAACM,KAAK,EAAC,MAAM;MAACC,KAAK,EAAC,eAAe;MAACL,aAAa,EAAC,QAAQ;MAAAX,MAAA;MAAAC,QAAA;QAAAC,QAAA,EAAAxC,YAAA;QAAAyC,UAAA;QAAAC,YAAA;MAAA;IAAA,GAC3DI,aAAa,eACdrD,OAAA,CAAAkB,OAAA,CAAAwB,aAAA,CAACtC,2BAAA,CAAA0D,0BAA0B;MACzBlC,KAAK,EAAEA,KAAK,CAACwB,OAAQ;MACrBhB,MAAM,EAAED,WAAW,CAACC,MAAO;MAAAS,MAAA;MAAAC,QAAA;QAAAC,QAAA,EAAAxC,YAAA;QAAAyC,UAAA;QAAAC,YAAA;MAAA;IAAA,CAC5B,CACE,CAAC,GAENI,aACD;IAED,OAAO;MACLM,KAAK;MACLI,QAAQ,EAAE5B,WAAW,CAACC,MAAM,gBAC1BpC,OAAA,CAAAkB,OAAA,CAAAwB,aAAA,CAACvC,iBAAA,CAAA6D,gBAAgB;QAAC5B,MAAM,EAAED,WAAW,CAACC,MAAO;QAACR,KAAK,EAAEA,KAAM;QAAAiB,MAAA;QAAAC,QAAA;UAAAC,QAAA,EAAAxC,YAAA;UAAAyC,UAAA;UAAAC,YAAA;QAAA;MAAA,GACxDR,aACe,CAAC,GAEnBA,aACD;MACDJ,aAAa;MACb,GAAGE;IACL,CAAC;EACH,CAAC,EACD,CAACV,kBAAkB,CACrB,CAAC;AACH;AAEO,SAASoC,sBAAsBA,CACpCrC,KAA0C,EAC1CsC,UAAkB,GAAG,EAAE,EACvB;EACA,MAAM;IAAEC,SAAS,EAAE1D;EAAE,CAAC,GAAG,IAAA2D,8BAAuB,EAAC,CAAC;EAClD,MAAM;IAAEC;EAAoB,CAAC,GAAGzC,KAAK;EACrC,MAAMC,kBAAkB,GAAGD,KAAK,CAACwB,OAAO,CAACvB,kBAAkB;EAC3D,MAAMyC,kBAAkB,GAAG3C,qBAAqB,CAACC,KAAK,EAAEC,kBAAkB,CAAC;EAE3E,MAAM0C,mBAAmB,GAAG9D,CAAC,CAAC,2CAA2C,CAAC;EAE1E,MAAM+D,IAAI,GAAGN,UAAU,CAACO,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;EAC5C,MAAMC,QAAQ,GAAGH,IAAI,GACjBH,mBAAmB,CAACjC,MAAM,CAAEwC,EAAE,IAAK;IAAA,IAAAC,SAAA,EAAAC,UAAA;IACjC,MAAMC,KAAK,GAAG,CAAC,EAAAF,SAAA,GAAAD,EAAE,CAAC1C,KAAK,cAAA2C,SAAA,GAARA,SAAA,CAAUtC,kBAAkB,qBAA5BsC,SAAA,CAA8BE,KAAK,KAAI,EAAE,EAAEL,WAAW,CAAC,CAAC;IACvE,MAAMM,OAAO,GAAG,CAAC,EAAAF,UAAA,GAAAF,EAAE,CAAC1C,KAAK,qBAAR4C,UAAA,CAAUG,YAAY,KAAI,EAAE,EAAEP,WAAW,CAAC,CAAC;IAC5D,OAAOK,KAAK,CAACG,QAAQ,CAACV,IAAI,CAAC,IAAIQ,OAAO,CAACE,QAAQ,CAACV,IAAI,CAAC;EACvD,CAAC,CAAC,GACFH,mBAAmB;EAEvB,MAAM;IAAEc,MAAM;IAAEC;EAAa,CAAC,GAAGT,QAAQ,CAACU,MAAM,CAI9C,CAACC,WAAW,EAAEC,IAAI,KAAK;IAAA,IAAAC,WAAA;IACrB,MAAMP,YAAY,IAAAO,WAAA,GAAGD,IAAI,CAACrD,KAAK,qBAAVsD,WAAA,CAAYP,YAAY;IAE7C,IAAI,CAACA,YAAY,EAAE;MACjB,OAAO;QACL,GAAGK,WAAW;QACdF,YAAY,EAAE,CAAC,GAAGE,WAAW,CAACF,YAAY,EAAEd,kBAAkB,CAACiB,IAAI,CAAC;MACtE,CAAC;IACH;IAEA,MAAME,UAAU,GAAGH,WAAW,CAACH,MAAM,CAACF,YAAY,CAAC,GAC/C,CAAC,GAAGK,WAAW,CAACH,MAAM,CAACF,YAAY,CAAC,EAAEX,kBAAkB,CAACiB,IAAI,CAAC,CAAC,GAC/D,CACE,IAAAG,yCAA2B,EAAC;MAAE/B,KAAK,EAAEsB;IAAa,CAAC,CAAC,EACpDX,kBAAkB,CAACiB,IAAI,CAAC,CACzB;IAEL,OAAO;MACL,GAAGD,WAAW;MACdH,MAAM,EAAE;QACN,GAAGG,WAAW,CAACH,MAAM;QACrB,CAACF,YAAY,GAAGQ;MAClB;IACF,CAAC;EACH,CAAC,EACD;IACEN,MAAM,EAAE,CAAC,CAAC;IACVC,YAAY,EAAE;EAChB,CACF,CAAC;EAED,MAAMO,KAAK,GAAGnE,MAAM,CAACoE,MAAM,CAACT,MAAM,CAAC,CAACU,IAAI,CAAC,CAAC;EAE1C,IAAI,CAACF,KAAK,CAACG,MAAM,EAAE;IACjB,OAAOV,YAAY;EACrB;EAEA,OAAO,CACL,GAAGO,KAAK,EACR,IAAIP,YAAY,CAACU,MAAM,GACnB,CACE,IAAAJ,yCAA2B,EAAC;IAAE/B,KAAK,EAAEY;EAAoB,CAAC,CAAC,EAC3D,GAAGa,YAAY,CAChB,GACD,EAAE,CAAC,CACR;AACH","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":[]}
|
|
@@ -32,7 +32,10 @@ function useOptionalCachedState(createState, {
|
|
|
32
32
|
} = {}) {
|
|
33
33
|
const container = (0, _react2.useWixPatternsContainer)();
|
|
34
34
|
const router = (0, _WixPatternsRouterProvider.useWixPatternsRouter)();
|
|
35
|
-
const [maybeNewState] = (0, _react.useState)(() =>
|
|
35
|
+
const [maybeNewState] = (0, _react.useState)(() => {
|
|
36
|
+
router == null || router.dropCacheIfFieldsChanged();
|
|
37
|
+
return createState();
|
|
38
|
+
});
|
|
36
39
|
const uniqueId = (0, _getCollectionComponentUniqueId.getCollectionComponentUniqueId)(maybeNewState);
|
|
37
40
|
const [cachedState] = (0, _react.useState)(getCachedState({
|
|
38
41
|
router,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_WixPatternsRouterProvider","_getCollectionComponentUniqueId","_bexCore","_useSyncCollectionOnEntityCreate","_useSyncCollectionOnEntityDelete","_useSyncCollectionOnEntityUpdate","_react2","getCachedState","shouldResetCache","uniqueId","router","container","resetCache","stateRefs","delete","queryCache","QueryCache","get","useOptionalCachedState","createState","getCollectionsToUpdate","useWixPatternsContainer","useWixPatternsRouter","maybeNewState","useState","getCollectionComponentUniqueId","cachedState","useSyncCollectionOnEntityCreate","useSyncCollectionOnEntityUpdate","useSyncCollectionOnEntityDelete","state","isUsingCache","saveState"],"sources":["../../../src/hooks/useOptionalCachedState.ts"],"sourcesContent":["import { useState } from 'react';\nimport { useWixPatternsRouter } from '../providers/WixPatternsRouterProvider';\nimport { ICollectionComponentState } from '../state/ICollectionComponentState';\nimport { getCollectionComponentUniqueId } from '../utils/getCollectionComponentUniqueId';\nimport {\n CollectionState,\n QueryCache,\n WixPatternsContainer,\n} from '@wix/bex-core';\nimport { useSyncCollectionOnEntityCreate } from './useSyncCollectionOnEntityCreate';\nimport { useSyncCollectionOnEntityDelete } from './useSyncCollectionOnEntityDelete';\nimport { useSyncCollectionOnEntityUpdate } from './useSyncCollectionOnEntityUpdate';\nimport { WixPatternsRouterState } from '../state/WixPatternsRouterState';\nimport { useWixPatternsContainer } from '@wix/bex-core/react';\n\nexport interface IUseOptionalCachedStateOptions<\n S extends ICollectionComponentState,\n> {\n getCollectionsToUpdate?: (\n state: S,\n entity: any,\n ) => CollectionState<any>[] | null;\n shouldResetCache?: ({\n router,\n uniqueId,\n }: {\n router: WixPatternsRouterState | null;\n uniqueId: string;\n }) => boolean;\n}\n\nconst getCachedState = <S extends ICollectionComponentState>({\n shouldResetCache,\n uniqueId,\n router,\n container,\n}: {\n shouldResetCache?: ({\n router,\n uniqueId,\n }: {\n router: WixPatternsRouterState | null;\n uniqueId: string;\n }) => boolean;\n uniqueId: string;\n router: WixPatternsRouterState | null;\n container: WixPatternsContainer;\n}) => {\n const resetCache = shouldResetCache?.({\n router,\n uniqueId,\n });\n\n if (resetCache) {\n router?.stateRefs.delete(uniqueId);\n container.queryCache = new QueryCache();\n }\n return router?.stateRefs.get(uniqueId) as S | undefined;\n};\n\nexport function useOptionalCachedState<S extends ICollectionComponentState>(\n createState: () => S,\n {\n getCollectionsToUpdate,\n shouldResetCache,\n }: IUseOptionalCachedStateOptions<S> = {},\n): S {\n const container = useWixPatternsContainer();\n const router = useWixPatternsRouter();\n const [maybeNewState] = useState<S>(() => createState());\n const uniqueId = getCollectionComponentUniqueId(maybeNewState);\n\n const [cachedState] = useState<S | undefined>(\n getCachedState<S>({ router, uniqueId, shouldResetCache, container }),\n );\n\n useSyncCollectionOnEntityCreate(cachedState, getCollectionsToUpdate);\n useSyncCollectionOnEntityUpdate(cachedState, getCollectionsToUpdate);\n useSyncCollectionOnEntityDelete(cachedState, getCollectionsToUpdate);\n\n const [state] = useState<S>(() => {\n if (router) {\n router.isUsingCache = !!cachedState;\n }\n\n if (cachedState) {\n return cachedState;\n }\n\n router?.saveState<S>(maybeNewState);\n return maybeNewState;\n });\n\n return state;\n}\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,0BAAA,GAAAD,OAAA;AAEA,IAAAE,+BAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAKA,IAAAI,gCAAA,GAAAJ,OAAA;AACA,IAAAK,gCAAA,GAAAL,OAAA;AACA,IAAAM,gCAAA,GAAAN,OAAA;AAEA,IAAAO,OAAA,GAAAP,OAAA;AAkBA,MAAMQ,cAAc,GAAGA,CAAsC;EAC3DC,gBAAgB;EAChBC,QAAQ;EACRC,MAAM;EACNC;AAYF,CAAC,KAAK;EACJ,MAAMC,UAAU,GAAGJ,gBAAgB,oBAAhBA,gBAAgB,CAAG;IACpCE,MAAM;IACND;EACF,CAAC,CAAC;EAEF,IAAIG,UAAU,EAAE;IACdF,MAAM,YAANA,MAAM,CAAEG,SAAS,CAACC,MAAM,CAACL,QAAQ,CAAC;IAClCE,SAAS,CAACI,UAAU,GAAG,IAAIC,mBAAU,CAAC,CAAC;EACzC;EACA,OAAON,MAAM,oBAANA,MAAM,CAAEG,SAAS,CAACI,GAAG,CAACR,QAAQ,CAAC;AACxC,CAAC;AAEM,SAASS,sBAAsBA,CACpCC,WAAoB,EACpB;EACEC,sBAAsB;EACtBZ;AACiC,CAAC,GAAG,CAAC,CAAC,EACtC;EACH,MAAMG,SAAS,GAAG,IAAAU,+BAAuB,EAAC,CAAC;EAC3C,MAAMX,MAAM,GAAG,IAAAY,+CAAoB,EAAC,CAAC;EACrC,MAAM,CAACC,aAAa,CAAC,GAAG,IAAAC,eAAQ,EAAI,
|
|
1
|
+
{"version":3,"names":["_react","require","_WixPatternsRouterProvider","_getCollectionComponentUniqueId","_bexCore","_useSyncCollectionOnEntityCreate","_useSyncCollectionOnEntityDelete","_useSyncCollectionOnEntityUpdate","_react2","getCachedState","shouldResetCache","uniqueId","router","container","resetCache","stateRefs","delete","queryCache","QueryCache","get","useOptionalCachedState","createState","getCollectionsToUpdate","useWixPatternsContainer","useWixPatternsRouter","maybeNewState","useState","dropCacheIfFieldsChanged","getCollectionComponentUniqueId","cachedState","useSyncCollectionOnEntityCreate","useSyncCollectionOnEntityUpdate","useSyncCollectionOnEntityDelete","state","isUsingCache","saveState"],"sources":["../../../src/hooks/useOptionalCachedState.ts"],"sourcesContent":["import { useState } from 'react';\nimport { useWixPatternsRouter } from '../providers/WixPatternsRouterProvider';\nimport { ICollectionComponentState } from '../state/ICollectionComponentState';\nimport { getCollectionComponentUniqueId } from '../utils/getCollectionComponentUniqueId';\nimport {\n CollectionState,\n QueryCache,\n WixPatternsContainer,\n} from '@wix/bex-core';\nimport { useSyncCollectionOnEntityCreate } from './useSyncCollectionOnEntityCreate';\nimport { useSyncCollectionOnEntityDelete } from './useSyncCollectionOnEntityDelete';\nimport { useSyncCollectionOnEntityUpdate } from './useSyncCollectionOnEntityUpdate';\nimport { WixPatternsRouterState } from '../state/WixPatternsRouterState';\nimport { useWixPatternsContainer } from '@wix/bex-core/react';\n\nexport interface IUseOptionalCachedStateOptions<\n S extends ICollectionComponentState,\n> {\n getCollectionsToUpdate?: (\n state: S,\n entity: any,\n ) => CollectionState<any>[] | null;\n shouldResetCache?: ({\n router,\n uniqueId,\n }: {\n router: WixPatternsRouterState | null;\n uniqueId: string;\n }) => boolean;\n}\n\nconst getCachedState = <S extends ICollectionComponentState>({\n shouldResetCache,\n uniqueId,\n router,\n container,\n}: {\n shouldResetCache?: ({\n router,\n uniqueId,\n }: {\n router: WixPatternsRouterState | null;\n uniqueId: string;\n }) => boolean;\n uniqueId: string;\n router: WixPatternsRouterState | null;\n container: WixPatternsContainer;\n}) => {\n const resetCache = shouldResetCache?.({\n router,\n uniqueId,\n });\n\n if (resetCache) {\n router?.stateRefs.delete(uniqueId);\n container.queryCache = new QueryCache();\n }\n return router?.stateRefs.get(uniqueId) as S | undefined;\n};\n\nexport function useOptionalCachedState<S extends ICollectionComponentState>(\n createState: () => S,\n {\n getCollectionsToUpdate,\n shouldResetCache,\n }: IUseOptionalCachedStateOptions<S> = {},\n): S {\n const container = useWixPatternsContainer();\n const router = useWixPatternsRouter();\n const [maybeNewState] = useState<S>(() => {\n router?.dropCacheIfFieldsChanged();\n return createState();\n });\n const uniqueId = getCollectionComponentUniqueId(maybeNewState);\n\n const [cachedState] = useState<S | undefined>(\n getCachedState<S>({ router, uniqueId, shouldResetCache, container }),\n );\n\n useSyncCollectionOnEntityCreate(cachedState, getCollectionsToUpdate);\n useSyncCollectionOnEntityUpdate(cachedState, getCollectionsToUpdate);\n useSyncCollectionOnEntityDelete(cachedState, getCollectionsToUpdate);\n\n const [state] = useState<S>(() => {\n if (router) {\n router.isUsingCache = !!cachedState;\n }\n\n if (cachedState) {\n return cachedState;\n }\n\n router?.saveState<S>(maybeNewState);\n return maybeNewState;\n });\n\n return state;\n}\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,0BAAA,GAAAD,OAAA;AAEA,IAAAE,+BAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAKA,IAAAI,gCAAA,GAAAJ,OAAA;AACA,IAAAK,gCAAA,GAAAL,OAAA;AACA,IAAAM,gCAAA,GAAAN,OAAA;AAEA,IAAAO,OAAA,GAAAP,OAAA;AAkBA,MAAMQ,cAAc,GAAGA,CAAsC;EAC3DC,gBAAgB;EAChBC,QAAQ;EACRC,MAAM;EACNC;AAYF,CAAC,KAAK;EACJ,MAAMC,UAAU,GAAGJ,gBAAgB,oBAAhBA,gBAAgB,CAAG;IACpCE,MAAM;IACND;EACF,CAAC,CAAC;EAEF,IAAIG,UAAU,EAAE;IACdF,MAAM,YAANA,MAAM,CAAEG,SAAS,CAACC,MAAM,CAACL,QAAQ,CAAC;IAClCE,SAAS,CAACI,UAAU,GAAG,IAAIC,mBAAU,CAAC,CAAC;EACzC;EACA,OAAON,MAAM,oBAANA,MAAM,CAAEG,SAAS,CAACI,GAAG,CAACR,QAAQ,CAAC;AACxC,CAAC;AAEM,SAASS,sBAAsBA,CACpCC,WAAoB,EACpB;EACEC,sBAAsB;EACtBZ;AACiC,CAAC,GAAG,CAAC,CAAC,EACtC;EACH,MAAMG,SAAS,GAAG,IAAAU,+BAAuB,EAAC,CAAC;EAC3C,MAAMX,MAAM,GAAG,IAAAY,+CAAoB,EAAC,CAAC;EACrC,MAAM,CAACC,aAAa,CAAC,GAAG,IAAAC,eAAQ,EAAI,MAAM;IACxCd,MAAM,YAANA,MAAM,CAAEe,wBAAwB,CAAC,CAAC;IAClC,OAAON,WAAW,CAAC,CAAC;EACtB,CAAC,CAAC;EACF,MAAMV,QAAQ,GAAG,IAAAiB,8DAA8B,EAACH,aAAa,CAAC;EAE9D,MAAM,CAACI,WAAW,CAAC,GAAG,IAAAH,eAAQ,EAC5BjB,cAAc,CAAI;IAAEG,MAAM;IAAED,QAAQ;IAAED,gBAAgB;IAAEG;EAAU,CAAC,CACrE,CAAC;EAED,IAAAiB,gEAA+B,EAACD,WAAW,EAAEP,sBAAsB,CAAC;EACpE,IAAAS,gEAA+B,EAACF,WAAW,EAAEP,sBAAsB,CAAC;EACpE,IAAAU,gEAA+B,EAACH,WAAW,EAAEP,sBAAsB,CAAC;EAEpE,MAAM,CAACW,KAAK,CAAC,GAAG,IAAAP,eAAQ,EAAI,MAAM;IAChC,IAAId,MAAM,EAAE;MACVA,MAAM,CAACsB,YAAY,GAAG,CAAC,CAACL,WAAW;IACrC;IAEA,IAAIA,WAAW,EAAE;MACf,OAAOA,WAAW;IACpB;IAEAjB,MAAM,YAANA,MAAM,CAAEuB,SAAS,CAAIV,aAAa,CAAC;IACnC,OAAOA,aAAa;EACtB,CAAC,CAAC;EAEF,OAAOQ,KAAK;AACd","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_ = "CollectionPageHeader3311006848";
|
|
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": "CollectionPageHeader3311006848__root",
|
|
16
|
+
"mobileMoreActions": "CollectionPageHeader3311006848__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_ = \"CollectionPageHeader3311006848\";\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\":\"CollectionPageHeader3311006848__root\",\"mobileMoreActions\":\"CollectionPageHeader3311006848__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_ = "MobilePrimaryActionBar4227138949";
|
|
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": "MobilePrimaryActionBar4227138949__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_ = \"MobilePrimaryActionBar4227138949\";\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\":\"MobilePrimaryActionBar4227138949__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,kCAAkC;AACpD,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;AAAwC,CAAC;AAC/D,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_ = "TitleBadges3914608263";
|
|
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": "TitleBadges3914608263__root",
|
|
16
|
+
"tooltip": "TitleBadges3914608263__tooltip",
|
|
17
|
+
"tooltipTrigger": "TitleBadges3914608263__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_ = \"TitleBadges3914608263\";\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\":\"TitleBadges3914608263__root\",\"tooltip\":\"TitleBadges3914608263__tooltip\",\"tooltipTrigger\":\"TitleBadges3914608263__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":[]}
|
|
@@ -77,6 +77,11 @@ class CustomFieldsPanelState {
|
|
|
77
77
|
get archive() {
|
|
78
78
|
return this.fieldsSource.archive;
|
|
79
79
|
}
|
|
80
|
+
getFieldTypeLocks(fieldId) {
|
|
81
|
+
var _resolveFieldTypeDefi;
|
|
82
|
+
const field = fieldId ? this.fieldsSource.fields.find(candidate => candidate.id === fieldId) : undefined;
|
|
83
|
+
return field ? ((_resolveFieldTypeDefi = (0, _bexCore.resolveFieldTypeDefinition)(this.fieldsSource, field)) == null || (_resolveFieldTypeDefi = _resolveFieldTypeDefi.fieldModal) == null ? void 0 : _resolveFieldTypeDefi.lockedProperties) ?? [] : [];
|
|
84
|
+
}
|
|
80
85
|
openCustomFieldModal(params) {
|
|
81
86
|
const {
|
|
82
87
|
customFieldModal
|
|
@@ -88,7 +93,8 @@ class CustomFieldsPanelState {
|
|
|
88
93
|
customFieldModal.mode = params.fieldId ? 'edit' : 'new';
|
|
89
94
|
customFieldModal.origin = params.origin;
|
|
90
95
|
customFieldModal.customOrigin = params.customOrigin;
|
|
91
|
-
|
|
96
|
+
const typeLocks = this.getFieldTypeLocks(params.fieldId);
|
|
97
|
+
customFieldModal.lockedProperties = [...new Set([...typeLocks, ...(params.lockedProperties ?? [])])];
|
|
92
98
|
customFieldModal.onSave = params.onSave;
|
|
93
99
|
!params.fieldId && customFieldModalBiReporter.reportAddCustomField({
|
|
94
100
|
origin: params.origin,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bexCore","require","_mobx","_fieldTypeActions","CustomFieldsPanelState","constructor","params","_defineProperty2","default","reportBi","closeSidePanel","fieldsSource","container","archive","archiveFieldModal","ArchiveFieldModalState","archiver","customFieldModal","CustomFieldModalState","fieldManagement","fieldCount","manageableFields","length","deleteFieldModal","DeleteFieldModalState","deleteField","id","origin","items","closePanel","undefined","sourceMenu","createFieldActionsMenu","fieldActionsMenu","args","config","field","fields","find","f","fieldId","definition","resolveFieldTypeDefinition","extras","buildFieldTypeActionGroup","mergeFieldTypeActions","makeAutoObservable","openCustomFieldModal","customFieldModalBiReporter","reset","mode","customOrigin","lockedProperties","onSave","reportAddCustomField","formSnapshot","setDefaultPermissions","_this$fieldsSource$fi","formValues","getFieldDraft","setFormValues","disablePermissionCheckboxes","applyInitialField","initialField","modalState","modal","open","exports"],"sources":["../../../../src/state/CustomFields/CustomFieldsPanelState.ts"],"sourcesContent":["import {\n ArchiveFieldModalState,\n CustomFieldModalState,\n CustomFieldOrigin,\n DeleteFieldModalState,\n FieldsSource,\n OpenFieldModalOptions,\n ReportBI,\n WixPatternsContainer,\n resolveFieldTypeDefinition,\n} from '@wix/bex-core';\nimport { makeAutoObservable } from 'mobx';\nimport type { FieldActionsMenuConfig } from '../../components/FieldActions';\nimport {\n buildFieldTypeActionGroup,\n mergeFieldTypeActions,\n} from '../../components/FieldActions/fieldTypeActions';\n\n/** Builds the per-field action popover (edit / archive / delete …) for a field. */\nexport type FieldActionsMenuBuilder = (args: {\n fieldId: string;\n origin: CustomFieldOrigin;\n location: string;\n}) => FieldActionsMenuConfig | null;\n\nexport interface CustomFieldsPanelStateParams {\n readonly reportBi: ReportBI;\n readonly closeSidePanel: () => unknown;\n readonly fieldsSource: FieldsSource;\n readonly container: WixPatternsContainer;\n /**\n * The source's per-field menu, as a factory over the panel it belongs to (its\n * handlers call back into this panel's modals). Built once in the constructor.\n */\n readonly createFieldActionsMenu: (\n panel: CustomFieldsPanelState,\n ) => FieldActionsMenuBuilder;\n}\n\nexport class CustomFieldsPanelState {\n readonly reportBi;\n readonly closeSidePanel;\n readonly fieldsSource;\n readonly container;\n readonly customFieldModal;\n readonly archiveFieldModal?: ArchiveFieldModalState;\n readonly deleteFieldModal: DeleteFieldModalState;\n /** The per-field action popover. The source supplies it; CustomFieldItem reads it. */\n readonly fieldActionsMenu: FieldActionsMenuBuilder;\n\n constructor(params: CustomFieldsPanelStateParams) {\n this.reportBi = params.reportBi;\n this.closeSidePanel = params.closeSidePanel;\n this.fieldsSource = params.fieldsSource;\n this.container = params.container;\n\n if (params.fieldsSource.archive) {\n this.archiveFieldModal = new ArchiveFieldModalState({\n reportBi: this.reportBi,\n archiver: params.fieldsSource.archive,\n });\n }\n this.customFieldModal = new CustomFieldModalState({\n reportBi: this.reportBi,\n fieldManagement: params.fieldsSource.fieldManagement!,\n container: params.container,\n fieldCount: () => params.fieldsSource.manageableFields.length,\n });\n // The delete runs through the source's own deleteField (which reports its\n // own toast) and reconciles the archived-items list when archiving exists.\n this.deleteFieldModal = new DeleteFieldModalState({\n reportBi: this.reportBi,\n fieldManagement: {\n deleteField: (id, origin) =>\n params.fieldsSource.fieldManagement!.deleteField(id, origin),\n },\n archive: params.fieldsSource.archive ?? {\n items: [],\n closePanel: () => undefined,\n },\n });\n // A custom field type's extra actions render on every surface's menu, so\n // they're appended here — after the source built its own menu — rather\n // than inside each source's builder.\n const sourceMenu = params.createFieldActionsMenu(this);\n this.fieldActionsMenu = (args) => {\n const config = sourceMenu(args);\n const field = this.fieldsSource.fields.find((f) => f.id === args.fieldId);\n const definition = field\n ? resolveFieldTypeDefinition(this.fieldsSource, field)\n : undefined;\n const extras =\n field && definition\n ? buildFieldTypeActionGroup({ field, definition })\n : [];\n return mergeFieldTypeActions(config, extras);\n };\n makeAutoObservable(this, {\n // A function that builds (doesn't mutate) the popover — not an action. It's\n // set once here and never reassigned, so it needn't be observable either.\n fieldActionsMenu: false,\n });\n }\n\n get fieldManagement() {\n return this.fieldsSource.fieldManagement;\n }\n get manageableFields() {\n return this.fieldsSource.manageableFields;\n }\n get archive() {\n return this.fieldsSource.archive;\n }\n\n openCustomFieldModal(\n params: Omit<OpenFieldModalOptions, 'origin'> & {\n origin: CustomFieldOrigin;\n },\n ) {\n const { customFieldModal } = this;\n const { customFieldModalBiReporter } = customFieldModal;\n\n customFieldModal.reset();\n customFieldModal.mode = params.fieldId ? 'edit' : 'new';\n customFieldModal.origin = params.origin;\n customFieldModal.customOrigin = params.customOrigin;\n customFieldModal.lockedProperties = params.lockedProperties ?? [];\n customFieldModal.onSave = params.onSave;\n\n !params.fieldId &&\n customFieldModalBiReporter.reportAddCustomField({\n origin: params.origin,\n customOrigin: params.customOrigin,\n });\n\n customFieldModalBiReporter.formSnapshot = null;\n customFieldModal.setDefaultPermissions();\n\n if (params.fieldId) {\n const formValues = this.fieldsSource.fieldManagement?.getFieldDraft(\n params.fieldId,\n );\n if (!formValues) {\n return;\n }\n customFieldModal.setFormValues(formValues, {\n disablePermissionCheckboxes: true,\n });\n customFieldModalBiReporter.formSnapshot = formValues;\n } else {\n customFieldModal.applyInitialField(params.initialField);\n }\n\n customFieldModal.modalState.modal.open();\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_bexCore","require","_mobx","_fieldTypeActions","CustomFieldsPanelState","constructor","params","_defineProperty2","default","reportBi","closeSidePanel","fieldsSource","container","archive","archiveFieldModal","ArchiveFieldModalState","archiver","customFieldModal","CustomFieldModalState","fieldManagement","fieldCount","manageableFields","length","deleteFieldModal","DeleteFieldModalState","deleteField","id","origin","items","closePanel","undefined","sourceMenu","createFieldActionsMenu","fieldActionsMenu","args","config","field","fields","find","f","fieldId","definition","resolveFieldTypeDefinition","extras","buildFieldTypeActionGroup","mergeFieldTypeActions","makeAutoObservable","getFieldTypeLocks","_resolveFieldTypeDefi","candidate","fieldModal","lockedProperties","openCustomFieldModal","customFieldModalBiReporter","reset","mode","customOrigin","typeLocks","Set","onSave","reportAddCustomField","formSnapshot","setDefaultPermissions","_this$fieldsSource$fi","formValues","getFieldDraft","setFormValues","disablePermissionCheckboxes","applyInitialField","initialField","modalState","modal","open","exports"],"sources":["../../../../src/state/CustomFields/CustomFieldsPanelState.ts"],"sourcesContent":["import {\n ArchiveFieldModalState,\n CustomFieldModalState,\n CustomFieldOrigin,\n DeleteFieldModalState,\n FieldsSource,\n OpenFieldModalOptions,\n ReportBI,\n WixPatternsContainer,\n resolveFieldTypeDefinition,\n} from '@wix/bex-core';\nimport { makeAutoObservable } from 'mobx';\nimport type { FieldActionsMenuConfig } from '../../components/FieldActions';\nimport {\n buildFieldTypeActionGroup,\n mergeFieldTypeActions,\n} from '../../components/FieldActions/fieldTypeActions';\n\n/** Builds the per-field action popover (edit / archive / delete …) for a field. */\nexport type FieldActionsMenuBuilder = (args: {\n fieldId: string;\n origin: CustomFieldOrigin;\n location: string;\n}) => FieldActionsMenuConfig | null;\n\nexport interface CustomFieldsPanelStateParams {\n readonly reportBi: ReportBI;\n readonly closeSidePanel: () => unknown;\n readonly fieldsSource: FieldsSource;\n readonly container: WixPatternsContainer;\n /**\n * The source's per-field menu, as a factory over the panel it belongs to (its\n * handlers call back into this panel's modals). Built once in the constructor.\n */\n readonly createFieldActionsMenu: (\n panel: CustomFieldsPanelState,\n ) => FieldActionsMenuBuilder;\n}\n\nexport class CustomFieldsPanelState {\n readonly reportBi;\n readonly closeSidePanel;\n readonly fieldsSource;\n readonly container;\n readonly customFieldModal;\n readonly archiveFieldModal?: ArchiveFieldModalState;\n readonly deleteFieldModal: DeleteFieldModalState;\n /** The per-field action popover. The source supplies it; CustomFieldItem reads it. */\n readonly fieldActionsMenu: FieldActionsMenuBuilder;\n\n constructor(params: CustomFieldsPanelStateParams) {\n this.reportBi = params.reportBi;\n this.closeSidePanel = params.closeSidePanel;\n this.fieldsSource = params.fieldsSource;\n this.container = params.container;\n\n if (params.fieldsSource.archive) {\n this.archiveFieldModal = new ArchiveFieldModalState({\n reportBi: this.reportBi,\n archiver: params.fieldsSource.archive,\n });\n }\n this.customFieldModal = new CustomFieldModalState({\n reportBi: this.reportBi,\n fieldManagement: params.fieldsSource.fieldManagement!,\n container: params.container,\n fieldCount: () => params.fieldsSource.manageableFields.length,\n });\n // The delete runs through the source's own deleteField (which reports its\n // own toast) and reconciles the archived-items list when archiving exists.\n this.deleteFieldModal = new DeleteFieldModalState({\n reportBi: this.reportBi,\n fieldManagement: {\n deleteField: (id, origin) =>\n params.fieldsSource.fieldManagement!.deleteField(id, origin),\n },\n archive: params.fieldsSource.archive ?? {\n items: [],\n closePanel: () => undefined,\n },\n });\n // A custom field type's extra actions render on every surface's menu, so\n // they're appended here — after the source built its own menu — rather\n // than inside each source's builder.\n const sourceMenu = params.createFieldActionsMenu(this);\n this.fieldActionsMenu = (args) => {\n const config = sourceMenu(args);\n const field = this.fieldsSource.fields.find((f) => f.id === args.fieldId);\n const definition = field\n ? resolveFieldTypeDefinition(this.fieldsSource, field)\n : undefined;\n const extras =\n field && definition\n ? buildFieldTypeActionGroup({ field, definition })\n : [];\n return mergeFieldTypeActions(config, extras);\n };\n makeAutoObservable(this, {\n // A function that builds (doesn't mutate) the popover — not an action. It's\n // set once here and never reassigned, so it needn't be observable either.\n fieldActionsMenu: false,\n });\n }\n\n get fieldManagement() {\n return this.fieldsSource.fieldManagement;\n }\n get manageableFields() {\n return this.fieldsSource.manageableFields;\n }\n get archive() {\n return this.fieldsSource.archive;\n }\n\n private getFieldTypeLocks(fieldId?: string) {\n const field = fieldId\n ? this.fieldsSource.fields.find((candidate) => candidate.id === fieldId)\n : undefined;\n return field\n ? resolveFieldTypeDefinition(this.fieldsSource, field)?.fieldModal\n ?.lockedProperties ?? []\n : [];\n }\n\n openCustomFieldModal(\n params: Omit<OpenFieldModalOptions, 'origin'> & {\n origin: CustomFieldOrigin;\n },\n ) {\n const { customFieldModal } = this;\n const { customFieldModalBiReporter } = customFieldModal;\n\n customFieldModal.reset();\n customFieldModal.mode = params.fieldId ? 'edit' : 'new';\n customFieldModal.origin = params.origin;\n customFieldModal.customOrigin = params.customOrigin;\n const typeLocks = this.getFieldTypeLocks(params.fieldId);\n customFieldModal.lockedProperties = [\n ...new Set([...typeLocks, ...(params.lockedProperties ?? [])]),\n ];\n customFieldModal.onSave = params.onSave;\n\n !params.fieldId &&\n customFieldModalBiReporter.reportAddCustomField({\n origin: params.origin,\n customOrigin: params.customOrigin,\n });\n\n customFieldModalBiReporter.formSnapshot = null;\n customFieldModal.setDefaultPermissions();\n\n if (params.fieldId) {\n const formValues = this.fieldsSource.fieldManagement?.getFieldDraft(\n params.fieldId,\n );\n if (!formValues) {\n return;\n }\n customFieldModal.setFormValues(formValues, {\n disablePermissionCheckboxes: true,\n });\n customFieldModalBiReporter.formSnapshot = formValues;\n } else {\n customFieldModal.applyInitialField(params.initialField);\n }\n\n customFieldModal.modalState.modal.open();\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAWA,IAAAC,KAAA,GAAAD,OAAA;AAEA,IAAAE,iBAAA,GAAAF,OAAA;AAKA;;AAqBO,MAAMG,sBAAsB,CAAC;EAWlCC,WAAWA,CAACC,MAAoC,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAHlD;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAIE,IAAI,CAACC,QAAQ,GAAGH,MAAM,CAACG,QAAQ;IAC/B,IAAI,CAACC,cAAc,GAAGJ,MAAM,CAACI,cAAc;IAC3C,IAAI,CAACC,YAAY,GAAGL,MAAM,CAACK,YAAY;IACvC,IAAI,CAACC,SAAS,GAAGN,MAAM,CAACM,SAAS;IAEjC,IAAIN,MAAM,CAACK,YAAY,CAACE,OAAO,EAAE;MAC/B,IAAI,CAACC,iBAAiB,GAAG,IAAIC,+BAAsB,CAAC;QAClDN,QAAQ,EAAE,IAAI,CAACA,QAAQ;QACvBO,QAAQ,EAAEV,MAAM,CAACK,YAAY,CAACE;MAChC,CAAC,CAAC;IACJ;IACA,IAAI,CAACI,gBAAgB,GAAG,IAAIC,8BAAqB,CAAC;MAChDT,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBU,eAAe,EAAEb,MAAM,CAACK,YAAY,CAACQ,eAAgB;MACrDP,SAAS,EAAEN,MAAM,CAACM,SAAS;MAC3BQ,UAAU,EAAEA,CAAA,KAAMd,MAAM,CAACK,YAAY,CAACU,gBAAgB,CAACC;IACzD,CAAC,CAAC;IACF;IACA;IACA,IAAI,CAACC,gBAAgB,GAAG,IAAIC,8BAAqB,CAAC;MAChDf,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBU,eAAe,EAAE;QACfM,WAAW,EAAEA,CAACC,EAAE,EAAEC,MAAM,KACtBrB,MAAM,CAACK,YAAY,CAACQ,eAAe,CAAEM,WAAW,CAACC,EAAE,EAAEC,MAAM;MAC/D,CAAC;MACDd,OAAO,EAAEP,MAAM,CAACK,YAAY,CAACE,OAAO,IAAI;QACtCe,KAAK,EAAE,EAAE;QACTC,UAAU,EAAEA,CAAA,KAAMC;MACpB;IACF,CAAC,CAAC;IACF;IACA;IACA;IACA,MAAMC,UAAU,GAAGzB,MAAM,CAAC0B,sBAAsB,CAAC,IAAI,CAAC;IACtD,IAAI,CAACC,gBAAgB,GAAIC,IAAI,IAAK;MAChC,MAAMC,MAAM,GAAGJ,UAAU,CAACG,IAAI,CAAC;MAC/B,MAAME,KAAK,GAAG,IAAI,CAACzB,YAAY,CAAC0B,MAAM,CAACC,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACb,EAAE,KAAKQ,IAAI,CAACM,OAAO,CAAC;MACzE,MAAMC,UAAU,GAAGL,KAAK,GACpB,IAAAM,mCAA0B,EAAC,IAAI,CAAC/B,YAAY,EAAEyB,KAAK,CAAC,GACpDN,SAAS;MACb,MAAMa,MAAM,GACVP,KAAK,IAAIK,UAAU,GACf,IAAAG,2CAAyB,EAAC;QAAER,KAAK;QAAEK;MAAW,CAAC,CAAC,GAChD,EAAE;MACR,OAAO,IAAAI,uCAAqB,EAACV,MAAM,EAAEQ,MAAM,CAAC;IAC9C,CAAC;IACD,IAAAG,wBAAkB,EAAC,IAAI,EAAE;MACvB;MACA;MACAb,gBAAgB,EAAE;IACpB,CAAC,CAAC;EACJ;EAEA,IAAId,eAAeA,CAAA,EAAG;IACpB,OAAO,IAAI,CAACR,YAAY,CAACQ,eAAe;EAC1C;EACA,IAAIE,gBAAgBA,CAAA,EAAG;IACrB,OAAO,IAAI,CAACV,YAAY,CAACU,gBAAgB;EAC3C;EACA,IAAIR,OAAOA,CAAA,EAAG;IACZ,OAAO,IAAI,CAACF,YAAY,CAACE,OAAO;EAClC;EAEQkC,iBAAiBA,CAACP,OAAgB,EAAE;IAAA,IAAAQ,qBAAA;IAC1C,MAAMZ,KAAK,GAAGI,OAAO,GACjB,IAAI,CAAC7B,YAAY,CAAC0B,MAAM,CAACC,IAAI,CAAEW,SAAS,IAAKA,SAAS,CAACvB,EAAE,KAAKc,OAAO,CAAC,GACtEV,SAAS;IACb,OAAOM,KAAK,GACR,EAAAY,qBAAA,OAAAN,mCAA0B,EAAC,IAAI,CAAC/B,YAAY,EAAEyB,KAAK,CAAC,cAAAY,qBAAA,GAApDA,qBAAA,CAAsDE,UAAU,qBAAhEF,qBAAA,CACIG,gBAAgB,KAAI,EAAE,GAC1B,EAAE;EACR;EAEAC,oBAAoBA,CAClB9C,MAEC,EACD;IACA,MAAM;MAAEW;IAAiB,CAAC,GAAG,IAAI;IACjC,MAAM;MAAEoC;IAA2B,CAAC,GAAGpC,gBAAgB;IAEvDA,gBAAgB,CAACqC,KAAK,CAAC,CAAC;IACxBrC,gBAAgB,CAACsC,IAAI,GAAGjD,MAAM,CAACkC,OAAO,GAAG,MAAM,GAAG,KAAK;IACvDvB,gBAAgB,CAACU,MAAM,GAAGrB,MAAM,CAACqB,MAAM;IACvCV,gBAAgB,CAACuC,YAAY,GAAGlD,MAAM,CAACkD,YAAY;IACnD,MAAMC,SAAS,GAAG,IAAI,CAACV,iBAAiB,CAACzC,MAAM,CAACkC,OAAO,CAAC;IACxDvB,gBAAgB,CAACkC,gBAAgB,GAAG,CAClC,GAAG,IAAIO,GAAG,CAAC,CAAC,GAAGD,SAAS,EAAE,IAAInD,MAAM,CAAC6C,gBAAgB,IAAI,EAAE,CAAC,CAAC,CAAC,CAC/D;IACDlC,gBAAgB,CAAC0C,MAAM,GAAGrD,MAAM,CAACqD,MAAM;IAEvC,CAACrD,MAAM,CAACkC,OAAO,IACba,0BAA0B,CAACO,oBAAoB,CAAC;MAC9CjC,MAAM,EAAErB,MAAM,CAACqB,MAAM;MACrB6B,YAAY,EAAElD,MAAM,CAACkD;IACvB,CAAC,CAAC;IAEJH,0BAA0B,CAACQ,YAAY,GAAG,IAAI;IAC9C5C,gBAAgB,CAAC6C,qBAAqB,CAAC,CAAC;IAExC,IAAIxD,MAAM,CAACkC,OAAO,EAAE;MAAA,IAAAuB,qBAAA;MAClB,MAAMC,UAAU,IAAAD,qBAAA,GAAG,IAAI,CAACpD,YAAY,CAACQ,eAAe,qBAAjC4C,qBAAA,CAAmCE,aAAa,CACjE3D,MAAM,CAACkC,OACT,CAAC;MACD,IAAI,CAACwB,UAAU,EAAE;QACf;MACF;MACA/C,gBAAgB,CAACiD,aAAa,CAACF,UAAU,EAAE;QACzCG,2BAA2B,EAAE;MAC/B,CAAC,CAAC;MACFd,0BAA0B,CAACQ,YAAY,GAAGG,UAAU;IACtD,CAAC,MAAM;MACL/C,gBAAgB,CAACmD,iBAAiB,CAAC9D,MAAM,CAAC+D,YAAY,CAAC;IACzD;IAEApD,gBAAgB,CAACqD,UAAU,CAACC,KAAK,CAACC,IAAI,CAAC,CAAC;EAC1C;AACF;AAACC,OAAA,CAAArE,sBAAA,GAAAA,sBAAA","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()) {
|
|
@@ -76,7 +77,7 @@ class CellValueState {
|
|
|
76
77
|
errors: pending.errors
|
|
77
78
|
};
|
|
78
79
|
}
|
|
79
|
-
return
|
|
80
|
+
return _fieldValidation.validResult;
|
|
80
81
|
}
|
|
81
82
|
|
|
82
83
|
/** Normalize like commitHandler does, then validate, so a value commit
|
|
@@ -86,11 +87,11 @@ class CellValueState {
|
|
|
86
87
|
var _this$_parent$collect;
|
|
87
88
|
const column = this._parent._columnMap.get(columnId);
|
|
88
89
|
if (!column) {
|
|
89
|
-
return
|
|
90
|
+
return _fieldValidation.validResult;
|
|
90
91
|
}
|
|
91
92
|
const resolved = this.resolveCellTypeByColumnId(column.id);
|
|
92
93
|
const normalized = resolved.normalizeOnCommit ? resolved.normalizeOnCommit(value) : value;
|
|
93
|
-
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);
|
|
94
95
|
}
|
|
95
96
|
isCellEditable(rowKey, columnId) {
|
|
96
97
|
const column = this._parent._columnMap.get(columnId);
|
|
@@ -351,7 +352,7 @@ class CellValueState {
|
|
|
351
352
|
continue;
|
|
352
353
|
}
|
|
353
354
|
const resolved = this.resolveCellTypeByColumnId(column.id);
|
|
354
|
-
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);
|
|
355
356
|
const pendingKey = this._pendingCellKey(rowKey, columnId);
|
|
356
357
|
if (result.valid) {
|
|
357
358
|
if (pendingKey) {
|
|
@@ -403,7 +404,7 @@ class CellValueState {
|
|
|
403
404
|
return;
|
|
404
405
|
}
|
|
405
406
|
const resolved = this.resolveCellTypeByColumnId(column.id);
|
|
406
|
-
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);
|
|
407
408
|
const pendingKey = this._pendingCellKey(rowKey, columnId);
|
|
408
409
|
if (result.valid && pendingKey) {
|
|
409
410
|
this._pendingCells.delete(pendingKey);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_mobx","require","_cellTypes","_utils","builtInCellTypeMap","Map","builtInCellTypes","map","ct","type","CellValueState","constructor","parent","extraCellTypes","_defineProperty2","default","_parent","_extraCellTypes","makeObservable","_pendingCells","observable","_draftCells","_cellTypeMap","computed","clearCells","action","toggleCell","commitHandler","applyBulkRawValues","applyBulkValues","revalidatePendingCells","flushDrafts","flushRow","dropRowCellState","col","allColumns","cellType","typeConfig","set","id","get","textCellType","resolveCellTypeByColumnId","columnId","getCellDisplayValue","rowKey","pending","_getPendingCell","value","draft","_getDraftCell","column","_columnMap","keyedItem","_getKeyedItem","getValue","item","undefined","getCellValidation","valid","errors","validResult","validateEditingValue","_this$_parent$collect","resolved","normalized","normalizeOnCommit","runCellValidation","validation","validate","collection","translate","isCellEditable","editable","EditComponent","isColumnEditable","setValue","getCellActionDisabledTooltip","actionId","cell","contextMenu","context","field","configs","cut","copy","clear","config","tooltip","disabledTooltip","getActionableCells","cells","filter","getCellActionMenuAvailability","isAvailableWithoutCustomPolicy","disabled","serializeCellValue","serialize","String","changes","pendingKey","_pendingCellKey","delete","push","length","toggleValue","newValue","hasValueChanged","Object","is","_applyValue","bi","cellEditCommitted","origin","editingValue","key","tryDeserialize","rawValue","deserialize","_this$_parent$collect2","error","invalidInputMessage","rawChanges","isDeserializationError","rowUpdates","_this$_parent$collect3","result","mutation","isLocalNewRow","rowUpdate","consumed","_consumeRowDrafts","changedFieldIds","Set","add","updates","Array","from","values","updateItems","_this$_parent$collect4","rowsToSave","parseCellKey","has","cellInteraction","isRowActive","exceptRowKey","_flushRows","includeRow","invalidNewRows","_drafts","keys","_validateNewRow","rowKeys","entry","commitNewRow","prefix","startsWith","exports"],"sources":["../../../../src/state/EditableTable/CellValueState.ts"],"sourcesContent":["import { action, computed, makeObservable, observable } from 'mobx';\nimport type { CellType, Cell, ValidationResult } from './types';\nimport type { EditableCellContextMenuAction, FiltersMap } from '@wix/bex-core';\nimport type { EditableTableState } from './EditableTableState';\nimport {\n builtInCellTypes,\n textCellType,\n} from '../../components/EditableTable/cellTypes';\nimport { parseCellKey, runCellValidation, validResult } from './utils';\n\nconst builtInCellTypeMap = new Map<string, CellType>(\n builtInCellTypes.map((ct) => [ct.type, ct]),\n);\n\nexport class CellValueState<T, F extends FiltersMap> {\n /** Pending invalid cell values, keyed by `${itemId}:${colId}`. */\n readonly _pendingCells = new Map<\n string,\n { value: any; errors: string[]; isDeserializationError?: boolean }\n >();\n\n /** Valid committed values not yet saved, keyed by `${itemId}:${colId}`.\n * Each row's drafts are flushed as one update when focus leaves the row. */\n readonly _draftCells = new Map<\n string,\n { rowKey: string; columnId: string; value: any }\n >();\n\n private readonly _parent: EditableTableState<T, F>;\n private readonly _extraCellTypes: Map<string, CellType>;\n\n constructor(\n parent: EditableTableState<T, F>,\n extraCellTypes: Map<string, CellType> = new Map(),\n ) {\n this._parent = parent;\n this._extraCellTypes = extraCellTypes;\n\n makeObservable(this, {\n _pendingCells: observable,\n _draftCells: observable,\n _cellTypeMap: computed,\n clearCells: action,\n toggleCell: action,\n commitHandler: action,\n applyBulkRawValues: action,\n applyBulkValues: action,\n revalidatePendingCells: action,\n flushDrafts: action,\n flushRow: action,\n dropRowCellState: action,\n });\n }\n\n // Cell-type config per column id, from the merged columns (consumer columns\n // plus the columns the wired source adds). A computed so source columns that\n // load after init still get their cell types registered, without a rebuild.\n get _cellTypeMap(): Map<string, CellType> {\n const map = new Map<string, CellType>();\n for (const col of this._parent.allColumns) {\n if (col.cellType === 'custom' && col.typeConfig) {\n map.set(col.id, { type: 'custom', ...col.typeConfig });\n } else {\n map.set(\n col.id,\n builtInCellTypeMap.get(col.cellType) ??\n this._extraCellTypes.get(col.cellType) ??\n textCellType,\n );\n }\n }\n return map;\n }\n\n resolveCellTypeByColumnId(columnId: string): CellType {\n return this._cellTypeMap.get(columnId) ?? textCellType;\n }\n\n getCellDisplayValue(rowKey: string, columnId: string): any {\n const pending = this._getPendingCell(rowKey, columnId);\n if (pending) {\n return pending.value;\n }\n const draft = this._getDraftCell(rowKey, columnId);\n if (draft) {\n return draft.value;\n }\n const column = this._parent._columnMap.get(columnId);\n const keyedItem = this._parent._getKeyedItem(rowKey);\n return column && keyedItem ? column.getValue(keyedItem.item) : undefined;\n }\n\n getCellValidation(rowKey: string, columnId: string): ValidationResult {\n const pending = this._getPendingCell(rowKey, columnId);\n if (pending) {\n return { valid: false, errors: pending.errors };\n }\n return validResult;\n }\n\n /** Normalize like commitHandler does, then validate, so a value commit\n * would accept (`www.wix.com`) is never reported invalid before it has\n * been committed. */\n validateEditingValue(columnId: string, value: any): ValidationResult {\n const column = this._parent._columnMap.get(columnId);\n if (!column) {\n return validResult;\n }\n const resolved = this.resolveCellTypeByColumnId(column.id);\n const normalized = resolved.normalizeOnCommit\n ? resolved.normalizeOnCommit(value)\n : value;\n return runCellValidation(\n normalized,\n column.validation,\n resolved.validate,\n this._parent.collection?.translate,\n );\n }\n\n isCellEditable(rowKey: string, columnId: string): boolean {\n const column = this._parent._columnMap.get(columnId);\n if (!column) {\n return false;\n }\n\n const resolved = this.resolveCellTypeByColumnId(column.id);\n if (resolved.editable === false || !resolved.EditComponent) {\n return false;\n }\n return this.isColumnEditable(rowKey, columnId);\n }\n\n /**\n * Whether `column.editable` permits writing this cell for this row,\n * independent of whether the cell type has an inline EditComponent. Gates\n * bulk/programmatic writes (clear, cut, paste) — narrower than\n * isCellEditable, which also requires an edit UI to exist.\n */\n isColumnEditable(rowKey: string, columnId: string): boolean {\n const column = this._parent._columnMap.get(columnId);\n if (!column?.setValue) {\n return false;\n }\n\n if (typeof column.editable === 'function') {\n const keyedItem = this._parent._getKeyedItem(rowKey);\n return keyedItem ? column.editable(keyedItem.item) : false;\n }\n return column.editable !== false;\n }\n\n getCellActionDisabledTooltip(\n actionId: EditableCellContextMenuAction,\n cell: Cell,\n ): string | undefined {\n const column = this._parent._columnMap.get(cell.columnId);\n if (!column) {\n return undefined;\n }\n\n const contextMenu = this.resolveCellTypeByColumnId(\n cell.columnId,\n ).contextMenu;\n if (!contextMenu) {\n return undefined;\n }\n\n const context = {\n value: this.getCellDisplayValue(cell.rowKey, cell.columnId),\n field: column.field,\n rowKey: cell.rowKey,\n columnId: cell.columnId,\n };\n const configs =\n actionId === 'cut'\n ? [contextMenu.cut, contextMenu.copy, contextMenu.clear]\n : [contextMenu[actionId]];\n\n for (const config of configs) {\n const tooltip = config?.disabledTooltip(context);\n if (tooltip) {\n return tooltip;\n }\n }\n return undefined;\n }\n\n getActionableCells(\n actionId: EditableCellContextMenuAction,\n cells: Cell[],\n ): Cell[] {\n return cells.filter(\n (cell) => !this.getCellActionDisabledTooltip(actionId, cell),\n );\n }\n\n getCellActionMenuAvailability(\n actionId: EditableCellContextMenuAction,\n cells: Cell[],\n ): { disabled: boolean; disabledTooltip?: string } {\n let disabledTooltip: string | undefined;\n\n for (const cell of cells) {\n const tooltip = this.getCellActionDisabledTooltip(actionId, cell);\n disabledTooltip ??= tooltip;\n const isAvailableWithoutCustomPolicy =\n actionId === 'copy' ||\n this.isColumnEditable(cell.rowKey, cell.columnId);\n if (isAvailableWithoutCustomPolicy && !tooltip) {\n return { disabled: false };\n }\n }\n\n return { disabled: true, disabledTooltip };\n }\n\n /** Serialize a cell value to a string (for clipboard copy/cut). */\n serializeCellValue(rowKey: string, columnId: string): string {\n const column = this._parent._columnMap.get(columnId);\n const keyedItem = this._parent._getKeyedItem(rowKey);\n if (!column || !keyedItem) {\n return '';\n }\n const resolved = this.resolveCellTypeByColumnId(column.id);\n const value = this.getCellDisplayValue(rowKey, columnId);\n return resolved.serialize ? resolved.serialize(value) : String(value ?? '');\n }\n\n /** Clear selected cells (Delete/Backspace). Respects column.editable and contextMenu.clear.\n * Returns the cells that were actually cleared. */\n clearCells(cells: Cell[]): Cell[] {\n const changes: { rowKey: string; columnId: string; value: any }[] = [];\n\n for (const cell of cells) {\n const column = this._parent._columnMap.get(cell.columnId);\n if (!column?.setValue) {\n continue;\n }\n if (!this.isColumnEditable(cell.rowKey, cell.columnId)) {\n continue;\n }\n if (this.getCellActionDisabledTooltip('clear', cell)) {\n continue;\n }\n\n const pendingKey = this._pendingCellKey(cell.rowKey, cell.columnId);\n if (pendingKey) {\n this._pendingCells.delete(pendingKey);\n }\n changes.push({\n rowKey: cell.rowKey,\n columnId: cell.columnId,\n value: undefined,\n });\n }\n\n if (changes.length > 0) {\n this.applyBulkValues(changes);\n }\n\n return changes.map(({ rowKey, columnId }) => ({ rowKey, columnId }));\n }\n\n toggleCell(rowKey: string, columnId: string) {\n const column = this._parent._columnMap.get(columnId);\n const keyedItem = this._parent._getKeyedItem(rowKey);\n if (!column?.setValue || !keyedItem) {\n return;\n }\n\n const resolved = this.resolveCellTypeByColumnId(column.id);\n if (!resolved.toggleValue) {\n return;\n }\n\n const value = this.getCellDisplayValue(rowKey, columnId);\n const newValue = resolved.toggleValue(value);\n const hasValueChanged = !Object.is(value, newValue);\n this._applyValue(rowKey, columnId, newValue);\n // isValid is read from the cell after the write, so it matches the value\n // that was just stored.\n this._parent.bi.cellEditCommitted(\n { rowKey, columnId },\n { origin: 'Toggle', hasValueChanged },\n );\n }\n\n /** Commit handler — used as callback for CellInteractionState. */\n commitHandler(editingValue: any, cell: Cell) {\n if (editingValue !== undefined) {\n const resolved = this.resolveCellTypeByColumnId(cell.columnId);\n const normalized = resolved.normalizeOnCommit\n ? resolved.normalizeOnCommit(editingValue)\n : editingValue;\n this._applyValue(cell.rowKey, cell.columnId, normalized);\n }\n }\n\n private _getPendingCell(\n rowKey: string,\n columnId: string,\n ): { value: any; errors: string[] } | undefined {\n const key = this._pendingCellKey(rowKey, columnId);\n return key ? this._pendingCells.get(key) : undefined;\n }\n\n private _getDraftCell(\n rowKey: string,\n columnId: string,\n ): { value: any } | undefined {\n const key = this._pendingCellKey(rowKey, columnId);\n return key ? this._draftCells.get(key) : undefined;\n }\n\n private _pendingCellKey(\n rowKey: string,\n columnId: string,\n ): string | undefined {\n const keyedItem = this._parent._getKeyedItem(rowKey);\n const column = this._parent._columnMap.get(columnId);\n if (!keyedItem || !column) {\n return undefined;\n }\n return `${keyedItem.key}:${column.id}`;\n }\n\n /**\n * Deserialize a raw string to a typed value. Returns an error message\n * if the conversion fails\n */\n tryDeserialize(\n columnId: string,\n rawValue: string,\n ): { value: any; error?: string } {\n const column = this._parent._columnMap.get(columnId);\n if (!column) {\n return { value: rawValue };\n }\n const resolved = this.resolveCellTypeByColumnId(column.id);\n if (!resolved.deserialize) {\n return { value: rawValue };\n }\n try {\n return { value: resolved.deserialize(rawValue) };\n } catch {\n const translate = this._parent.collection?.translate;\n return {\n value: rawValue,\n error:\n resolved.invalidInputMessage?.(rawValue, translate) ||\n translate?.('cairo.editableTable.cell.validation.notCompatible'),\n };\n }\n }\n\n /**\n * Deserialize and apply multiple raw string values in bulk.\n * Handles conversion failures by storing them as pending cells.\n */\n applyBulkRawValues(\n rawChanges: { rowKey: string; columnId: string; rawValue: string }[],\n ) {\n const changes: { rowKey: string; columnId: string; value: any }[] = [];\n for (const { rowKey, columnId, rawValue } of rawChanges) {\n const { value, error } = this.tryDeserialize(columnId, rawValue);\n if (error) {\n const pendingKey = this._pendingCellKey(rowKey, columnId);\n if (pendingKey) {\n this._pendingCells.set(pendingKey, {\n value,\n errors: [error],\n isDeserializationError: true,\n });\n }\n } else {\n changes.push({ rowKey, columnId, value });\n }\n }\n this.applyBulkValues(changes);\n }\n\n /**\n * Apply multiple cell values in bulk. Validates per cell, accumulates\n * changes per row, and submits all modified items in a single update.\n * Every mutation path (clear, paste, cut) funnels through here, so\n * checking isColumnEditable here — not just at the call sites — keeps\n * read-only cells protected regardless of entry point.\n */\n applyBulkValues(changes: { rowKey: string; columnId: string; value: any }[]) {\n const rowUpdates = new Map<\n string,\n { item: T; changedFieldIds: Set<string> }\n >();\n\n for (const { rowKey, columnId, value } of changes) {\n const column = this._parent._columnMap.get(columnId);\n const keyedItem = this._parent._getKeyedItem(rowKey);\n if (\n !column?.setValue ||\n !keyedItem ||\n !this.isColumnEditable(rowKey, columnId)\n ) {\n continue;\n }\n\n const resolved = this.resolveCellTypeByColumnId(column.id);\n const result = runCellValidation(\n value,\n column.validation,\n resolved.validate,\n this._parent.collection?.translate,\n );\n const pendingKey = this._pendingCellKey(rowKey, columnId);\n\n if (result.valid) {\n if (pendingKey) {\n this._pendingCells.delete(pendingKey);\n }\n if (this._parent.mutation.isLocalNewRow(rowKey)) {\n // A row not created on the server yet can't take an update —\n // buffer the value as a draft; it goes out with the row's\n // create when focus leaves the row.\n if (pendingKey) {\n this._draftCells.set(pendingKey, {\n rowKey: keyedItem.key,\n columnId: column.id,\n value,\n });\n }\n continue;\n }\n let rowUpdate = rowUpdates.get(rowKey);\n if (!rowUpdate) {\n const consumed = this._consumeRowDrafts(rowKey, keyedItem.item);\n rowUpdate = {\n item: consumed.item,\n changedFieldIds: new Set(consumed.changedFieldIds),\n };\n rowUpdates.set(rowKey, rowUpdate);\n }\n rowUpdate.item = column.setValue(rowUpdate.item, value);\n rowUpdate.changedFieldIds.add(column.id);\n } else if (pendingKey) {\n this._pendingCells.set(pendingKey, {\n value,\n errors: result.errors ?? [],\n });\n }\n }\n\n const updates = Array.from(rowUpdates.values());\n this._parent.mutation.updateItems(\n updates.map(({ item }) => item),\n updates.map(({ changedFieldIds }) => Array.from(changedFieldIds)),\n );\n }\n\n private _applyValue(rowKey: string, columnId: string, value: any) {\n const column = this._parent._columnMap.get(columnId);\n const keyedItem = this._parent._getKeyedItem(rowKey);\n if (!column?.setValue || !keyedItem) {\n return;\n }\n\n const resolved = this.resolveCellTypeByColumnId(column.id);\n const result = runCellValidation(\n value,\n column.validation,\n resolved.validate,\n this._parent.collection?.translate,\n );\n const pendingKey = this._pendingCellKey(rowKey, columnId);\n\n if (result.valid && pendingKey) {\n this._pendingCells.delete(pendingKey);\n this._draftCells.set(pendingKey, {\n rowKey: keyedItem.key,\n columnId: column.id,\n value,\n });\n } else if (pendingKey) {\n this._pendingCells.set(pendingKey, {\n value,\n errors: result.errors ?? [],\n });\n }\n }\n\n revalidatePendingCells() {\n const rowsToSave = new Set<string>();\n for (const [key, pending] of this._pendingCells) {\n const cell = parseCellKey(key);\n if (!cell || pending.isDeserializationError) {\n continue;\n }\n this._applyValue(cell.rowKey, cell.columnId, pending.value);\n if (!this._pendingCells.has(key)) {\n rowsToSave.add(cell.rowKey);\n }\n }\n for (const rowKey of rowsToSave) {\n if (!this._parent.cellInteraction.isRowActive(rowKey)) {\n this.flushRow(rowKey);\n }\n }\n }\n\n flushDrafts(exceptRowKey?: string) {\n this._flushRows((rowKey) => rowKey !== exceptRowKey);\n }\n\n /** Save one row's drafts now, leaving other rows' drafts buffered. */\n flushRow(rowKey: string) {\n this._flushRows((key) => key === rowKey);\n }\n\n private _flushRows(includeRow: (rowKey: string) => boolean) {\n const invalidNewRows = new Set<string>();\n for (const rowKey of this._parent.mutation._drafts.keys()) {\n if (includeRow(rowKey) && !this._validateNewRow(rowKey)) {\n invalidNewRows.add(rowKey);\n }\n }\n\n const rowKeys = new Set<string>();\n for (const entry of this._draftCells.values()) {\n if (includeRow(entry.rowKey)) {\n rowKeys.add(entry.rowKey);\n }\n }\n\n const updates: { item: T; changedFieldIds: string[] }[] = [];\n for (const rowKey of rowKeys) {\n const keyedItem = this._parent._getKeyedItem(rowKey);\n if (!keyedItem) {\n this.dropRowCellState(rowKey);\n } else if (this._parent.mutation.isLocalNewRow(rowKey)) {\n if (!invalidNewRows.has(rowKey)) {\n const consumed = this._consumeRowDrafts(rowKey, keyedItem.item);\n this._parent.mutation.commitNewRow(rowKey, consumed.item);\n }\n } else {\n const consumed = this._consumeRowDrafts(rowKey, keyedItem.item);\n updates.push(consumed);\n }\n }\n if (updates.length > 0) {\n this._parent.mutation.updateItems(\n updates.map(({ item }) => item),\n updates.map(({ changedFieldIds }) => changedFieldIds),\n );\n }\n }\n\n /** Validate all editable cells of a local new row, storing failures as\n * pending cells. Untouched cells validate their current display value. */\n private _validateNewRow(rowKey: string): boolean {\n let valid = true;\n for (const column of this._parent.allColumns) {\n if (!this.isColumnEditable(rowKey, column.id)) {\n continue;\n }\n // A cell already showing an error blocks the row even if re-validating\n // its value would pass. A failed paste keeps the raw string here, and a\n // cell type that only rejects on deserialize has no `validate` to fail.\n if (this._getPendingCell(rowKey, column.id)) {\n valid = false;\n continue;\n }\n const value = this.getCellDisplayValue(rowKey, column.id);\n const result = this.validateEditingValue(column.id, value);\n if (!result.valid) {\n valid = false;\n const pendingKey = this._pendingCellKey(rowKey, column.id);\n if (pendingKey) {\n this._pendingCells.set(pendingKey, {\n value,\n errors: result.errors ?? [],\n });\n }\n }\n }\n return valid;\n }\n\n private _consumeRowDrafts(\n rowKey: string,\n item: T,\n ): { item: T; changedFieldIds: string[] } {\n const changedFieldIds = new Set<string>();\n for (const [key, entry] of this._draftCells) {\n if (entry.rowKey !== rowKey) {\n continue;\n }\n const column = this._parent._columnMap.get(entry.columnId);\n if (column?.setValue) {\n item = column.setValue(item, entry.value);\n changedFieldIds.add(column.id);\n }\n this._draftCells.delete(key);\n }\n return { item, changedFieldIds: Array.from(changedFieldIds) };\n }\n\n /** Drop a row's buffered cell state without saving it (the row is gone).\n * Pending cells are keyed by row key, not tracked per entry, so they are\n * swept by prefix. */\n dropRowCellState(rowKey: string) {\n for (const [key, entry] of this._draftCells) {\n if (entry.rowKey === rowKey) {\n this._draftCells.delete(key);\n }\n }\n const prefix = `${rowKey}:`;\n for (const key of this._pendingCells.keys()) {\n if (key.startsWith(prefix)) {\n this._pendingCells.delete(key);\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_mobx","require","_cellTypes","_utils","_fieldValidation","builtInCellTypeMap","Map","builtInCellTypes","map","ct","type","CellValueState","constructor","parent","extraCellTypes","_defineProperty2","default","_parent","_extraCellTypes","makeObservable","_pendingCells","observable","_draftCells","_cellTypeMap","computed","clearCells","action","toggleCell","commitHandler","applyBulkRawValues","applyBulkValues","revalidatePendingCells","flushDrafts","flushRow","dropRowCellState","col","allColumns","cellType","typeConfig","set","id","get","textCellType","resolveCellTypeByColumnId","columnId","getCellDisplayValue","rowKey","pending","_getPendingCell","value","draft","_getDraftCell","column","_columnMap","keyedItem","_getKeyedItem","getValue","item","undefined","getCellValidation","valid","errors","validResult","validateEditingValue","_this$_parent$collect","resolved","normalized","normalizeOnCommit","validateFieldValue","validation","validate","collection","translate","isCellEditable","editable","EditComponent","isColumnEditable","setValue","getCellActionDisabledTooltip","actionId","cell","contextMenu","context","field","configs","cut","copy","clear","config","tooltip","disabledTooltip","getActionableCells","cells","filter","getCellActionMenuAvailability","isAvailableWithoutCustomPolicy","disabled","serializeCellValue","serialize","String","changes","pendingKey","_pendingCellKey","delete","push","length","toggleValue","newValue","hasValueChanged","Object","is","_applyValue","bi","cellEditCommitted","origin","editingValue","key","tryDeserialize","rawValue","deserialize","_this$_parent$collect2","error","invalidInputMessage","rawChanges","isDeserializationError","rowUpdates","_this$_parent$collect3","result","mutation","isLocalNewRow","rowUpdate","consumed","_consumeRowDrafts","changedFieldIds","Set","add","updates","Array","from","values","updateItems","_this$_parent$collect4","rowsToSave","parseCellKey","has","cellInteraction","isRowActive","exceptRowKey","_flushRows","includeRow","invalidNewRows","_drafts","keys","_validateNewRow","rowKeys","entry","commitNewRow","prefix","startsWith","exports"],"sources":["../../../../src/state/EditableTable/CellValueState.ts"],"sourcesContent":["import { action, computed, makeObservable, observable } from 'mobx';\nimport type { CellType, Cell, ValidationResult } from './types';\nimport type { EditableCellContextMenuAction, FiltersMap } from '@wix/bex-core';\nimport type { EditableTableState } from './EditableTableState';\nimport {\n builtInCellTypes,\n textCellType,\n} from '../../components/EditableTable/cellTypes';\nimport { parseCellKey } from './utils';\nimport { validateFieldValue, validResult } from '../../utils/fieldValidation';\n\nconst builtInCellTypeMap = new Map<string, CellType>(\n builtInCellTypes.map((ct) => [ct.type, ct]),\n);\n\nexport class CellValueState<T, F extends FiltersMap> {\n /** Pending invalid cell values, keyed by `${itemId}:${colId}`. */\n readonly _pendingCells = new Map<\n string,\n { value: any; errors: string[]; isDeserializationError?: boolean }\n >();\n\n /** Valid committed values not yet saved, keyed by `${itemId}:${colId}`.\n * Each row's drafts are flushed as one update when focus leaves the row. */\n readonly _draftCells = new Map<\n string,\n { rowKey: string; columnId: string; value: any }\n >();\n\n private readonly _parent: EditableTableState<T, F>;\n private readonly _extraCellTypes: Map<string, CellType>;\n\n constructor(\n parent: EditableTableState<T, F>,\n extraCellTypes: Map<string, CellType> = new Map(),\n ) {\n this._parent = parent;\n this._extraCellTypes = extraCellTypes;\n\n makeObservable(this, {\n _pendingCells: observable,\n _draftCells: observable,\n _cellTypeMap: computed,\n clearCells: action,\n toggleCell: action,\n commitHandler: action,\n applyBulkRawValues: action,\n applyBulkValues: action,\n revalidatePendingCells: action,\n flushDrafts: action,\n flushRow: action,\n dropRowCellState: action,\n });\n }\n\n // Cell-type config per column id, from the merged columns (consumer columns\n // plus the columns the wired source adds). A computed so source columns that\n // load after init still get their cell types registered, without a rebuild.\n get _cellTypeMap(): Map<string, CellType> {\n const map = new Map<string, CellType>();\n for (const col of this._parent.allColumns) {\n if (col.cellType === 'custom' && col.typeConfig) {\n map.set(col.id, { type: 'custom', ...col.typeConfig });\n } else {\n map.set(\n col.id,\n builtInCellTypeMap.get(col.cellType) ??\n this._extraCellTypes.get(col.cellType) ??\n textCellType,\n );\n }\n }\n return map;\n }\n\n resolveCellTypeByColumnId(columnId: string): CellType {\n return this._cellTypeMap.get(columnId) ?? textCellType;\n }\n\n getCellDisplayValue(rowKey: string, columnId: string): any {\n const pending = this._getPendingCell(rowKey, columnId);\n if (pending) {\n return pending.value;\n }\n const draft = this._getDraftCell(rowKey, columnId);\n if (draft) {\n return draft.value;\n }\n const column = this._parent._columnMap.get(columnId);\n const keyedItem = this._parent._getKeyedItem(rowKey);\n return column && keyedItem ? column.getValue(keyedItem.item) : undefined;\n }\n\n getCellValidation(rowKey: string, columnId: string): ValidationResult {\n const pending = this._getPendingCell(rowKey, columnId);\n if (pending) {\n return { valid: false, errors: pending.errors };\n }\n return validResult;\n }\n\n /** Normalize like commitHandler does, then validate, so a value commit\n * would accept (`www.wix.com`) is never reported invalid before it has\n * been committed. */\n validateEditingValue(columnId: string, value: any): ValidationResult {\n const column = this._parent._columnMap.get(columnId);\n if (!column) {\n return validResult;\n }\n const resolved = this.resolveCellTypeByColumnId(column.id);\n const normalized = resolved.normalizeOnCommit\n ? resolved.normalizeOnCommit(value)\n : value;\n return validateFieldValue(\n normalized,\n column.validation,\n resolved.validate,\n this._parent.collection?.translate,\n );\n }\n\n isCellEditable(rowKey: string, columnId: string): boolean {\n const column = this._parent._columnMap.get(columnId);\n if (!column) {\n return false;\n }\n\n const resolved = this.resolveCellTypeByColumnId(column.id);\n if (resolved.editable === false || !resolved.EditComponent) {\n return false;\n }\n return this.isColumnEditable(rowKey, columnId);\n }\n\n /**\n * Whether `column.editable` permits writing this cell for this row,\n * independent of whether the cell type has an inline EditComponent. Gates\n * bulk/programmatic writes (clear, cut, paste) — narrower than\n * isCellEditable, which also requires an edit UI to exist.\n */\n isColumnEditable(rowKey: string, columnId: string): boolean {\n const column = this._parent._columnMap.get(columnId);\n if (!column?.setValue) {\n return false;\n }\n\n if (typeof column.editable === 'function') {\n const keyedItem = this._parent._getKeyedItem(rowKey);\n return keyedItem ? column.editable(keyedItem.item) : false;\n }\n return column.editable !== false;\n }\n\n getCellActionDisabledTooltip(\n actionId: EditableCellContextMenuAction,\n cell: Cell,\n ): string | undefined {\n const column = this._parent._columnMap.get(cell.columnId);\n if (!column) {\n return undefined;\n }\n\n const contextMenu = this.resolveCellTypeByColumnId(\n cell.columnId,\n ).contextMenu;\n if (!contextMenu) {\n return undefined;\n }\n\n const context = {\n value: this.getCellDisplayValue(cell.rowKey, cell.columnId),\n field: column.field,\n rowKey: cell.rowKey,\n columnId: cell.columnId,\n };\n const configs =\n actionId === 'cut'\n ? [contextMenu.cut, contextMenu.copy, contextMenu.clear]\n : [contextMenu[actionId]];\n\n for (const config of configs) {\n const tooltip = config?.disabledTooltip(context);\n if (tooltip) {\n return tooltip;\n }\n }\n return undefined;\n }\n\n getActionableCells(\n actionId: EditableCellContextMenuAction,\n cells: Cell[],\n ): Cell[] {\n return cells.filter(\n (cell) => !this.getCellActionDisabledTooltip(actionId, cell),\n );\n }\n\n getCellActionMenuAvailability(\n actionId: EditableCellContextMenuAction,\n cells: Cell[],\n ): { disabled: boolean; disabledTooltip?: string } {\n let disabledTooltip: string | undefined;\n\n for (const cell of cells) {\n const tooltip = this.getCellActionDisabledTooltip(actionId, cell);\n disabledTooltip ??= tooltip;\n const isAvailableWithoutCustomPolicy =\n actionId === 'copy' ||\n this.isColumnEditable(cell.rowKey, cell.columnId);\n if (isAvailableWithoutCustomPolicy && !tooltip) {\n return { disabled: false };\n }\n }\n\n return { disabled: true, disabledTooltip };\n }\n\n /** Serialize a cell value to a string (for clipboard copy/cut). */\n serializeCellValue(rowKey: string, columnId: string): string {\n const column = this._parent._columnMap.get(columnId);\n const keyedItem = this._parent._getKeyedItem(rowKey);\n if (!column || !keyedItem) {\n return '';\n }\n const resolved = this.resolveCellTypeByColumnId(column.id);\n const value = this.getCellDisplayValue(rowKey, columnId);\n return resolved.serialize ? resolved.serialize(value) : String(value ?? '');\n }\n\n /** Clear selected cells (Delete/Backspace). Respects column.editable and contextMenu.clear.\n * Returns the cells that were actually cleared. */\n clearCells(cells: Cell[]): Cell[] {\n const changes: { rowKey: string; columnId: string; value: any }[] = [];\n\n for (const cell of cells) {\n const column = this._parent._columnMap.get(cell.columnId);\n if (!column?.setValue) {\n continue;\n }\n if (!this.isColumnEditable(cell.rowKey, cell.columnId)) {\n continue;\n }\n if (this.getCellActionDisabledTooltip('clear', cell)) {\n continue;\n }\n\n const pendingKey = this._pendingCellKey(cell.rowKey, cell.columnId);\n if (pendingKey) {\n this._pendingCells.delete(pendingKey);\n }\n changes.push({\n rowKey: cell.rowKey,\n columnId: cell.columnId,\n value: undefined,\n });\n }\n\n if (changes.length > 0) {\n this.applyBulkValues(changes);\n }\n\n return changes.map(({ rowKey, columnId }) => ({ rowKey, columnId }));\n }\n\n toggleCell(rowKey: string, columnId: string) {\n const column = this._parent._columnMap.get(columnId);\n const keyedItem = this._parent._getKeyedItem(rowKey);\n if (!column?.setValue || !keyedItem) {\n return;\n }\n\n const resolved = this.resolveCellTypeByColumnId(column.id);\n if (!resolved.toggleValue) {\n return;\n }\n\n const value = this.getCellDisplayValue(rowKey, columnId);\n const newValue = resolved.toggleValue(value);\n const hasValueChanged = !Object.is(value, newValue);\n this._applyValue(rowKey, columnId, newValue);\n // isValid is read from the cell after the write, so it matches the value\n // that was just stored.\n this._parent.bi.cellEditCommitted(\n { rowKey, columnId },\n { origin: 'Toggle', hasValueChanged },\n );\n }\n\n /** Commit handler — used as callback for CellInteractionState. */\n commitHandler(editingValue: any, cell: Cell) {\n if (editingValue !== undefined) {\n const resolved = this.resolveCellTypeByColumnId(cell.columnId);\n const normalized = resolved.normalizeOnCommit\n ? resolved.normalizeOnCommit(editingValue)\n : editingValue;\n this._applyValue(cell.rowKey, cell.columnId, normalized);\n }\n }\n\n private _getPendingCell(\n rowKey: string,\n columnId: string,\n ): { value: any; errors: string[] } | undefined {\n const key = this._pendingCellKey(rowKey, columnId);\n return key ? this._pendingCells.get(key) : undefined;\n }\n\n private _getDraftCell(\n rowKey: string,\n columnId: string,\n ): { value: any } | undefined {\n const key = this._pendingCellKey(rowKey, columnId);\n return key ? this._draftCells.get(key) : undefined;\n }\n\n private _pendingCellKey(\n rowKey: string,\n columnId: string,\n ): string | undefined {\n const keyedItem = this._parent._getKeyedItem(rowKey);\n const column = this._parent._columnMap.get(columnId);\n if (!keyedItem || !column) {\n return undefined;\n }\n return `${keyedItem.key}:${column.id}`;\n }\n\n /**\n * Deserialize a raw string to a typed value. Returns an error message\n * if the conversion fails\n */\n tryDeserialize(\n columnId: string,\n rawValue: string,\n ): { value: any; error?: string } {\n const column = this._parent._columnMap.get(columnId);\n if (!column) {\n return { value: rawValue };\n }\n const resolved = this.resolveCellTypeByColumnId(column.id);\n if (!resolved.deserialize) {\n return { value: rawValue };\n }\n try {\n return { value: resolved.deserialize(rawValue) };\n } catch {\n const translate = this._parent.collection?.translate;\n return {\n value: rawValue,\n error:\n resolved.invalidInputMessage?.(rawValue, translate) ||\n translate?.('cairo.editableTable.cell.validation.notCompatible'),\n };\n }\n }\n\n /**\n * Deserialize and apply multiple raw string values in bulk.\n * Handles conversion failures by storing them as pending cells.\n */\n applyBulkRawValues(\n rawChanges: { rowKey: string; columnId: string; rawValue: string }[],\n ) {\n const changes: { rowKey: string; columnId: string; value: any }[] = [];\n for (const { rowKey, columnId, rawValue } of rawChanges) {\n const { value, error } = this.tryDeserialize(columnId, rawValue);\n if (error) {\n const pendingKey = this._pendingCellKey(rowKey, columnId);\n if (pendingKey) {\n this._pendingCells.set(pendingKey, {\n value,\n errors: [error],\n isDeserializationError: true,\n });\n }\n } else {\n changes.push({ rowKey, columnId, value });\n }\n }\n this.applyBulkValues(changes);\n }\n\n /**\n * Apply multiple cell values in bulk. Validates per cell, accumulates\n * changes per row, and submits all modified items in a single update.\n * Every mutation path (clear, paste, cut) funnels through here, so\n * checking isColumnEditable here — not just at the call sites — keeps\n * read-only cells protected regardless of entry point.\n */\n applyBulkValues(changes: { rowKey: string; columnId: string; value: any }[]) {\n const rowUpdates = new Map<\n string,\n { item: T; changedFieldIds: Set<string> }\n >();\n\n for (const { rowKey, columnId, value } of changes) {\n const column = this._parent._columnMap.get(columnId);\n const keyedItem = this._parent._getKeyedItem(rowKey);\n if (\n !column?.setValue ||\n !keyedItem ||\n !this.isColumnEditable(rowKey, columnId)\n ) {\n continue;\n }\n\n const resolved = this.resolveCellTypeByColumnId(column.id);\n const result = validateFieldValue(\n value,\n column.validation,\n resolved.validate,\n this._parent.collection?.translate,\n );\n const pendingKey = this._pendingCellKey(rowKey, columnId);\n\n if (result.valid) {\n if (pendingKey) {\n this._pendingCells.delete(pendingKey);\n }\n if (this._parent.mutation.isLocalNewRow(rowKey)) {\n // A row not created on the server yet can't take an update —\n // buffer the value as a draft; it goes out with the row's\n // create when focus leaves the row.\n if (pendingKey) {\n this._draftCells.set(pendingKey, {\n rowKey: keyedItem.key,\n columnId: column.id,\n value,\n });\n }\n continue;\n }\n let rowUpdate = rowUpdates.get(rowKey);\n if (!rowUpdate) {\n const consumed = this._consumeRowDrafts(rowKey, keyedItem.item);\n rowUpdate = {\n item: consumed.item,\n changedFieldIds: new Set(consumed.changedFieldIds),\n };\n rowUpdates.set(rowKey, rowUpdate);\n }\n rowUpdate.item = column.setValue(rowUpdate.item, value);\n rowUpdate.changedFieldIds.add(column.id);\n } else if (pendingKey) {\n this._pendingCells.set(pendingKey, {\n value,\n errors: result.errors ?? [],\n });\n }\n }\n\n const updates = Array.from(rowUpdates.values());\n this._parent.mutation.updateItems(\n updates.map(({ item }) => item),\n updates.map(({ changedFieldIds }) => Array.from(changedFieldIds)),\n );\n }\n\n private _applyValue(rowKey: string, columnId: string, value: any) {\n const column = this._parent._columnMap.get(columnId);\n const keyedItem = this._parent._getKeyedItem(rowKey);\n if (!column?.setValue || !keyedItem) {\n return;\n }\n\n const resolved = this.resolveCellTypeByColumnId(column.id);\n const result = validateFieldValue(\n value,\n column.validation,\n resolved.validate,\n this._parent.collection?.translate,\n );\n const pendingKey = this._pendingCellKey(rowKey, columnId);\n\n if (result.valid && pendingKey) {\n this._pendingCells.delete(pendingKey);\n this._draftCells.set(pendingKey, {\n rowKey: keyedItem.key,\n columnId: column.id,\n value,\n });\n } else if (pendingKey) {\n this._pendingCells.set(pendingKey, {\n value,\n errors: result.errors ?? [],\n });\n }\n }\n\n revalidatePendingCells() {\n const rowsToSave = new Set<string>();\n for (const [key, pending] of this._pendingCells) {\n const cell = parseCellKey(key);\n if (!cell || pending.isDeserializationError) {\n continue;\n }\n this._applyValue(cell.rowKey, cell.columnId, pending.value);\n if (!this._pendingCells.has(key)) {\n rowsToSave.add(cell.rowKey);\n }\n }\n for (const rowKey of rowsToSave) {\n if (!this._parent.cellInteraction.isRowActive(rowKey)) {\n this.flushRow(rowKey);\n }\n }\n }\n\n flushDrafts(exceptRowKey?: string) {\n this._flushRows((rowKey) => rowKey !== exceptRowKey);\n }\n\n /** Save one row's drafts now, leaving other rows' drafts buffered. */\n flushRow(rowKey: string) {\n this._flushRows((key) => key === rowKey);\n }\n\n private _flushRows(includeRow: (rowKey: string) => boolean) {\n const invalidNewRows = new Set<string>();\n for (const rowKey of this._parent.mutation._drafts.keys()) {\n if (includeRow(rowKey) && !this._validateNewRow(rowKey)) {\n invalidNewRows.add(rowKey);\n }\n }\n\n const rowKeys = new Set<string>();\n for (const entry of this._draftCells.values()) {\n if (includeRow(entry.rowKey)) {\n rowKeys.add(entry.rowKey);\n }\n }\n\n const updates: { item: T; changedFieldIds: string[] }[] = [];\n for (const rowKey of rowKeys) {\n const keyedItem = this._parent._getKeyedItem(rowKey);\n if (!keyedItem) {\n this.dropRowCellState(rowKey);\n } else if (this._parent.mutation.isLocalNewRow(rowKey)) {\n if (!invalidNewRows.has(rowKey)) {\n const consumed = this._consumeRowDrafts(rowKey, keyedItem.item);\n this._parent.mutation.commitNewRow(rowKey, consumed.item);\n }\n } else {\n const consumed = this._consumeRowDrafts(rowKey, keyedItem.item);\n updates.push(consumed);\n }\n }\n if (updates.length > 0) {\n this._parent.mutation.updateItems(\n updates.map(({ item }) => item),\n updates.map(({ changedFieldIds }) => changedFieldIds),\n );\n }\n }\n\n /** Validate all editable cells of a local new row, storing failures as\n * pending cells. Untouched cells validate their current display value. */\n private _validateNewRow(rowKey: string): boolean {\n let valid = true;\n for (const column of this._parent.allColumns) {\n if (!this.isColumnEditable(rowKey, column.id)) {\n continue;\n }\n // A cell already showing an error blocks the row even if re-validating\n // its value would pass. A failed paste keeps the raw string here, and a\n // cell type that only rejects on deserialize has no `validate` to fail.\n if (this._getPendingCell(rowKey, column.id)) {\n valid = false;\n continue;\n }\n const value = this.getCellDisplayValue(rowKey, column.id);\n const result = this.validateEditingValue(column.id, value);\n if (!result.valid) {\n valid = false;\n const pendingKey = this._pendingCellKey(rowKey, column.id);\n if (pendingKey) {\n this._pendingCells.set(pendingKey, {\n value,\n errors: result.errors ?? [],\n });\n }\n }\n }\n return valid;\n }\n\n private _consumeRowDrafts(\n rowKey: string,\n item: T,\n ): { item: T; changedFieldIds: string[] } {\n const changedFieldIds = new Set<string>();\n for (const [key, entry] of this._draftCells) {\n if (entry.rowKey !== rowKey) {\n continue;\n }\n const column = this._parent._columnMap.get(entry.columnId);\n if (column?.setValue) {\n item = column.setValue(item, entry.value);\n changedFieldIds.add(column.id);\n }\n this._draftCells.delete(key);\n }\n return { item, changedFieldIds: Array.from(changedFieldIds) };\n }\n\n /** Drop a row's buffered cell state without saving it (the row is gone).\n * Pending cells are keyed by row key, not tracked per entry, so they are\n * swept by prefix. */\n dropRowCellState(rowKey: string) {\n for (const [key, entry] of this._draftCells) {\n if (entry.rowKey === rowKey) {\n this._draftCells.delete(key);\n }\n }\n const prefix = `${rowKey}:`;\n for (const key of this._pendingCells.keys()) {\n if (key.startsWith(prefix)) {\n this._pendingCells.delete(key);\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../../../../src/state/EditableTable/types.ts"],"sourcesContent":["import type { ComponentType } from 'react';\nimport type {\n EditableCellConfig,\n Field,\n Translate,\n ValidationRule,\n} from '@wix/bex-core';\nimport type { RichTextStyleVariables } from '@wix/patterns-fields';\nimport type { TableColumn } from '../../model/tableColumn';\nimport type { ReferenceTypeConfig } from '../../components/EditableTable/cellTypes/reference/types';\nimport type { AddressCellTypeConfig } from '../../components/EditableTable/cellTypes/address';\nimport type {\n CellViewProps,\n CellEditProps,\n CellEditWrapperProps,\n} from '../../components/EditableTable/types';\n\nexport interface RichTextCellTypeConfig {\n textStyle?: RichTextStyleVariables;\n}\n\nexport interface Cell {\n rowKey: string;\n columnId: string;\n}\n\nexport interface CellBorder {\n top: boolean;\n bottom: boolean;\n left: boolean;\n right: boolean;\n}\n\nexport type { ValidationRule } from '@wix/bex-core';\n\nexport
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../../src/state/EditableTable/types.ts"],"sourcesContent":["import type { ComponentType } from 'react';\nimport type {\n EditableCellConfig,\n Field,\n Translate,\n ValidationRule,\n} from '@wix/bex-core';\nimport type { RichTextStyleVariables } from '@wix/patterns-fields';\nimport type { TableColumn } from '../../model/tableColumn';\nimport type { ReferenceTypeConfig } from '../../components/EditableTable/cellTypes/reference/types';\nimport type { AddressCellTypeConfig } from '../../components/EditableTable/cellTypes/address';\nimport type {\n CellViewProps,\n CellEditProps,\n CellEditWrapperProps,\n} from '../../components/EditableTable/types';\n\nexport interface RichTextCellTypeConfig {\n textStyle?: RichTextStyleVariables;\n}\n\nexport interface Cell {\n rowKey: string;\n columnId: string;\n}\n\nexport interface CellBorder {\n top: boolean;\n bottom: boolean;\n left: boolean;\n right: boolean;\n}\n\nexport type { ValidationRule } from '@wix/bex-core';\n\nexport type { ValidationResult } from '../../utils/fieldValidation';\n\nexport interface CellType {\n type: keyof CellTypeConfigMap;\n\n /** Render cell in view mode (read-only display) */\n ViewComponent: ComponentType<CellViewProps<any>>;\n\n /** Render cell in edit mode (inline editor). Optional — omit for view-only cells. */\n EditComponent?: ComponentType<CellEditProps<any>>;\n\n /** Serialize value to clipboard string */\n serialize?: (value: any) => string;\n\n /** Deserialize clipboard string to value */\n deserialize?: (raw: string) => any;\n\n /** Validate a cell value. Return null if valid, or error message string.\n * `translate` is optional so cell types whose validate doesn't need\n * localization (text/number/date/…) can keep their existing call sites.\n * Cell types that DO localize (array/object) must be called with a translator. */\n validate?: (\n value: any,\n rules?: ValidationRule[],\n translate?: Translate,\n ) => string | null;\n\n /** Error message for pasted text that `deserialize` rejected. Receives the\n * raw text, not a typed value. Omit it to show the generic\n * \"not compatible\" message. */\n invalidInputMessage?: (raw: string, translate?: Translate) => string | null;\n\n /** Can this cell type be edited? (default: true) */\n editable?: boolean;\n\n /** Availability of Cairo's built-in cell context-menu actions. */\n contextMenu?: EditableCellConfig<unknown>['contextMenu'];\n\n /** Toggle value on single click (e.g., boolean checkbox). Skips focus→edit flow. */\n toggleValue?: (value: any) => any;\n\n /** Enter edit mode on single click (e.g., image cell with no value). */\n editOnClick?: (value: any) => boolean;\n\n /** Show the EditComponent when the cell is focused, without entering edit mode.\n * Keyboard navigation remains active. Similar to toggleValue but without toggling. */\n showEditWhenFocused?: boolean;\n\n /** Optional wrapper component the cell type defines to own behavior that must\n * outlive the inline editor. EditableCell mounts it around the cell content\n * and keeps it mounted across the edit↔view transition (e.g. a reference cell\n * navigating to an overlay and refreshing the table on return). The wrapper\n * hands anything the editor needs down via its own context. */\n EditWrapper?: ComponentType<CellEditWrapperProps>;\n\n /** Cell content can grow past row height when focused (e.g. multi-document\n * wraps chips into multiple rows). The framework releases the bottom anchor\n * and lays an opaque base under the selection tint so the overflow doesn't\n * bleed adjacent rows through.\n * Also applies to read-only views. Other editors release the bottom\n * anchor via :editing already. */\n growable?: boolean;\n\n /** Called on type-to-edit. Return object with cleared value and/or prevent flag.\n * CMS-web pattern: text clears to '', number clears only for digits, date blocks non-digits.\n * Return undefined to block the key. Return {} to enter edit mode without changing the value. */\n onTypeToEdit?: (params: {\n key: string;\n validation?: ValidationRule[];\n }) => { value?: any } | undefined;\n\n /** Optional hook to normalize the committed value (e.g. auto-prepend https://).\n * Called before commitEdit() from EditableCell (blur/Enter) and useKeyboardNavigation (Tab).\n * The value is written back to editingValue via runInAction before committing. */\n normalizeOnCommit?: (value: any) => any;\n\n /** When true, type-to-edit flushes the edit-mode render synchronously and\n * focuses the input within the same keydown event, then lets the browser's\n * default action deliver the keystroke to the now-focused input naturally\n * (no preventDefault, no programmatic value injection).\n * Mirrors cms-web's `focusOnTyping` pattern. Use for cells that wrap a\n * controlled input whose value can't be seeded via props (e.g. WSR TimeInput). */\n nativeTypeToEdit?: boolean;\n}\n\nexport interface CellTypeConfigMap {\n text: never;\n number: never;\n boolean: never;\n url: never;\n email: never;\n color: never;\n date: never;\n time: never;\n datetime: never;\n object: never;\n array: never;\n image: never;\n mediaImage: never;\n document: never;\n multiDocument: never;\n richContent: never;\n video: never;\n audio: never;\n richText: RichTextCellTypeConfig;\n mediaGallery: never;\n reference: ReferenceTypeConfig;\n multiReference: ReferenceTypeConfig;\n address: AddressCellTypeConfig;\n /** An inline custom cell: the full cell contract minus the registry key.\n * Authorable directly on a column (`cellType: 'custom'` + `typeConfig`),\n * and also produced by the column builder when a schema field's type\n * definition (registered via the source's `fieldTypes`) has an\n * `editableTable` slot. */\n custom: Omit<CellType, 'type'>;\n}\n\ninterface EditableColumnBase<T> extends Omit<TableColumn<T>, 'render'> {\n id: string;\n /** Column type — maps to a CellType in the registry */\n cellType: keyof CellTypeConfigMap;\n\n /** Extract the cell value from the row data */\n getValue: (item: T) => any;\n\n /** Field metadata associated with the column, when available. */\n field?: Field;\n\n /** Return updated item with new cell value (immutable) */\n setValue?: (item: T, value: any) => T;\n\n /** Column-level validation rules */\n validation?: ValidationRule[];\n\n /** Is this column editable? (default: true if setValue exists) */\n editable?: boolean | ((item: T) => boolean);\n\n /** True if this column represents the schema's primary field. Drives header-action disable rules (e.g. blocks Delete, blocks Make Primary). */\n isPrimary?: boolean;\n\n /** True if this column represents a system field. Drives header-action disable rules (e.g. blocks Edit, Delete, Duplicate). */\n isSystem?: boolean;\n}\n\nexport type EditableColumn<\n T,\n C extends keyof CellTypeConfigMap = keyof CellTypeConfigMap,\n> = C extends C\n ? EditableColumnBase<T> & {\n cellType: C;\n typeConfig?: CellTypeConfigMap[C] extends never\n ? never\n : CellTypeConfigMap[C];\n }\n : never;\n"],"mappings":"","ignoreList":[]}
|