@wix/patterns 1.437.0 → 1.439.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/BulkActionToolbar/BulkActionToolbar.js +14 -12
- package/dist/cjs/components/BulkActionToolbar/BulkActionToolbar.js.map +1 -1
- 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/CmsFieldManagement/formFields/CharactersLimitInput.st.css.js +3 -3
- package/dist/cjs/components/CmsFieldManagement/formFields/CharactersLimitInput.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/CollectionCard/CollectionCard.js +17 -8
- package/dist/cjs/components/CollectionCard/CollectionCard.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 +11 -9
- 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.js +4 -3
- package/dist/cjs/components/CollectionToolbar/CollectionToolbar.js.map +1 -1
- package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css +2 -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/ReorderModeToolbar.js +16 -14
- package/dist/cjs/components/CollectionToolbar/ReorderModeToolbar.js.map +1 -1
- package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +4 -4
- package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
- package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
- package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
- package/dist/cjs/components/DragHandle/DragHandle.st.css.js +2 -2
- package/dist/cjs/components/DragHandle/DragHandle.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/EditableCell.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/EditableCell.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/EditableTableContextMenu.js +12 -11
- 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/cellTypes/CellViewLayout.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/array/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/array/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/color/Edit.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/color/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css.js +8 -8
- package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css.js +7 -7
- package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/richContent/Edit.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/richContent/index.js +6 -6
- package/dist/cjs/components/EditableTable/cellTypes/richContent/index.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/EditableTable/useAddRow.js +16 -22
- package/dist/cjs/components/EditableTable/useAddRow.js.map +1 -1
- package/dist/cjs/components/EmptyState/CollectionNoResultsState.js +14 -12
- package/dist/cjs/components/EmptyState/CollectionNoResultsState.js.map +1 -1
- package/dist/cjs/components/EmptyState/EmptyStateBase.js +7 -4
- package/dist/cjs/components/EmptyState/EmptyStateBase.js.map +1 -1
- package/dist/cjs/components/EmptyState/EmptyStateBase.st.css +8 -0
- package/dist/cjs/components/EmptyState/EmptyStateBase.st.css.js +22 -0
- package/dist/cjs/components/EmptyState/EmptyStateBase.st.css.js.map +1 -0
- package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js +2 -2
- package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js.map +1 -1
- package/dist/cjs/components/Fade/Fade.st.css.js +2 -2
- package/dist/cjs/components/Fade/Fade.st.css.js.map +1 -1
- package/dist/cjs/components/Heading/Heading.st.css.js +2 -2
- package/dist/cjs/components/Heading/Heading.st.css.js.map +1 -1
- package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js +3 -3
- package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js.map +1 -1
- package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js +2 -2
- package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
- package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js +3 -3
- package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
- package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
- package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
- package/dist/cjs/components/MaxLines/MaxLines.st.css.js +2 -2
- package/dist/cjs/components/MaxLines/MaxLines.st.css.js.map +1 -1
- package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.js +2 -2
- package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.js.map +1 -1
- package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +5 -5
- package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
- package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js +5 -5
- package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
- package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
- package/dist/cjs/components/PickerContent/PickerContent.st.css.js +2 -2
- package/dist/cjs/components/PickerContent/PickerContent.st.css.js.map +1 -1
- package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js +4 -4
- package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
- package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
- package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
- package/dist/cjs/components/SchemaSource/schemaFieldManagement.js +2 -1
- package/dist/cjs/components/SchemaSource/schemaFieldManagement.js.map +1 -1
- package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
- package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
- package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js +9 -9
- package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js.map +1 -1
- package/dist/cjs/components/SidePanelModal/SidePanelModal.js +13 -8
- package/dist/cjs/components/SidePanelModal/SidePanelModal.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.js +7 -4
- package/dist/cjs/components/SlidingModal/SlidingModal.js.map +1 -1
- package/dist/cjs/components/SlidingModal/SlidingModal.st.css +9 -1
- package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +5 -3
- package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
- package/dist/cjs/components/Table/AddFieldColumnHeader.st.css.js +4 -4
- package/dist/cjs/components/Table/AddFieldColumnHeader.st.css.js.map +1 -1
- package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +3 -3
- package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
- package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
- package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
- package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
- package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js.map +1 -1
- package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
- package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
- package/dist/cjs/components/ToolbarTitle/ToolbarTitle.js +15 -10
- package/dist/cjs/components/ToolbarTitle/ToolbarTitle.js.map +1 -1
- package/dist/cjs/components/common.st.css.js +4 -4
- package/dist/cjs/components/common.st.css.js.map +1 -1
- package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
- package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
- package/dist/cjs/state/EditableTable/CellValueState.js +18 -3
- package/dist/cjs/state/EditableTable/CellValueState.js.map +1 -1
- package/dist/cjs/state/EditableTable/EditableTableState.js +23 -3
- package/dist/cjs/state/EditableTable/EditableTableState.js.map +1 -1
- package/dist/cjs/state/EditableTable/MutationState.js +180 -10
- package/dist/cjs/state/EditableTable/MutationState.js.map +1 -1
- package/dist/cjs/state/ExtensionMenuItemsState.js +7 -3
- package/dist/cjs/state/ExtensionMenuItemsState.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/TagsCollectionState.js +5 -2
- package/dist/cjs/state/TagsCollectionState.js.map +1 -1
- package/dist/cjs/styles.global.css +2 -2
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/docs/CustomFieldType.md +485 -0
- package/dist/docs/index.json +18 -14
- package/dist/esm/components/BulkActionToolbar/BulkActionToolbar.js +4 -2
- package/dist/esm/components/BulkActionToolbar/BulkActionToolbar.js.map +1 -1
- package/dist/esm/components/CardContainer/CardContainer.st.css.js +2 -2
- package/dist/esm/components/CmsFieldManagement/CmsFieldForm.st.css.js +2 -2
- package/dist/esm/components/CmsFieldManagement/CmsFieldForm.st.css.js.map +1 -1
- package/dist/esm/components/CmsFieldManagement/CmsFieldModal.st.css.js +2 -2
- package/dist/esm/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js +2 -2
- package/dist/esm/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.js +2 -2
- package/dist/esm/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.js.map +1 -1
- package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
- package/dist/esm/components/CollectionCard/CollectionCard.js +3 -2
- package/dist/esm/components/CollectionCard/CollectionCard.js.map +1 -1
- package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
- package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +2 -2
- package/dist/esm/components/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 +4 -1
- 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.js +8 -1
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.js.map +1 -1
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css +2 -1
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
- package/dist/esm/components/CollectionToolbar/ReorderModeToolbar.js +3 -1
- package/dist/esm/components/CollectionToolbar/ReorderModeToolbar.js.map +1 -1
- package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
- package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
- package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
- package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
- package/dist/esm/components/DragHandle/DragHandle.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/EditableCell.st.css.js +2 -2
- package/dist/esm/components/EditableTable/EditableTableContextMenu.js +3 -2
- 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/cellTypes/CellViewLayout.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/CellViewLayout.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/address/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/array/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/boolean/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/datetime/View.st.css.js.map +1 -1
- 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/number/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/object/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/richContent/index.js +1 -1
- package/dist/esm/components/EditableTable/cellTypes/richContent/index.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/time/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/useAddRow.js +15 -23
- package/dist/esm/components/EditableTable/useAddRow.js.map +1 -1
- package/dist/esm/components/EmptyState/CollectionNoResultsState.js +3 -1
- package/dist/esm/components/EmptyState/CollectionNoResultsState.js.map +1 -1
- package/dist/esm/components/EmptyState/EmptyStateBase.js +3 -2
- package/dist/esm/components/EmptyState/EmptyStateBase.js.map +1 -1
- package/dist/esm/components/EmptyState/EmptyStateBase.st.css +8 -0
- package/dist/esm/components/EmptyState/EmptyStateBase.st.css.js +15 -0
- package/dist/esm/components/EmptyState/EmptyStateBase.st.css.js.map +1 -0
- package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js +2 -2
- package/dist/esm/components/Fade/Fade.st.css.js +2 -2
- package/dist/esm/components/Heading/Heading.st.css.js +2 -2
- package/dist/esm/components/ImportButton/ImportStepUpload.st.css.js +2 -2
- package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
- package/dist/esm/components/LoadingRow/LoadingRow.st.css.js +3 -3
- package/dist/esm/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
- package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
- package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
- package/dist/esm/components/MaxLines/MaxLines.st.css.js.map +1 -1
- package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.js +2 -2
- package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.js.map +1 -1
- 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/NestedTableDragAndDropRow.st.css.js +2 -2
- package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
- package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
- package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
- package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
- package/dist/esm/components/SchemaSource/schemaFieldManagement.js +1 -1
- package/dist/esm/components/SchemaSource/schemaFieldManagement.js.map +1 -1
- package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
- package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
- package/dist/esm/components/SetupWidget/SetupWidget.st.css.js +2 -2
- package/dist/esm/components/SidePanelModal/SidePanelModal.js +10 -7
- package/dist/esm/components/SidePanelModal/SidePanelModal.js.map +1 -1
- package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
- package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
- package/dist/esm/components/SlidingModal/SlidingModal.js +7 -4
- package/dist/esm/components/SlidingModal/SlidingModal.js.map +1 -1
- package/dist/esm/components/SlidingModal/SlidingModal.st.css +9 -1
- package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +3 -3
- package/dist/esm/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
- package/dist/esm/components/Table/AddFieldColumnHeader.st.css.js +2 -2
- package/dist/esm/components/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/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
- package/dist/esm/components/ToolbarTitle/ToolbarTitle.js +6 -1
- package/dist/esm/components/ToolbarTitle/ToolbarTitle.js.map +1 -1
- package/dist/esm/components/common.st.css.js +2 -2
- package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
- package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
- package/dist/esm/state/EditableTable/CellValueState.js +19 -3
- package/dist/esm/state/EditableTable/CellValueState.js.map +1 -1
- package/dist/esm/state/EditableTable/EditableTableState.js +23 -3
- package/dist/esm/state/EditableTable/EditableTableState.js.map +1 -1
- package/dist/esm/state/EditableTable/MutationState.js +168 -10
- package/dist/esm/state/EditableTable/MutationState.js.map +1 -1
- package/dist/esm/state/ExtensionMenuItemsState.js +6 -2
- package/dist/esm/state/ExtensionMenuItemsState.js.map +1 -1
- package/dist/esm/state/FormPage/FormPageHeader.st.css.js +2 -2
- package/dist/esm/state/TagsCollectionState.js +2 -2
- package/dist/esm/state/TagsCollectionState.js.map +1 -1
- package/dist/esm/styles.global.css +2 -2
- package/dist/esm/version.js +1 -1
- package/dist/types/components/BulkActionToolbar/BulkActionToolbar.d.ts.map +1 -1
- package/dist/types/components/CmsFieldManagement/CmsFieldForm.st.css.d.ts.map +1 -1
- package/dist/types/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionCard/CollectionCard.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.map +1 -1
- package/dist/types/components/CollectionToolbar/CollectionToolbar.d.ts.map +1 -1
- package/dist/types/components/CollectionToolbar/ReorderModeToolbar.d.ts.map +1 -1
- package/dist/types/components/DragHandle/DragHandle.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/EditableTableContextMenu.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/date/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/datetime/View.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/richContent/index.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/select/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/text/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/url/View.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/useAddRow.d.ts +1 -0
- package/dist/types/components/EditableTable/useAddRow.d.ts.map +1 -1
- package/dist/types/components/EmptyState/CollectionNoResultsState.d.ts.map +1 -1
- package/dist/types/components/EmptyState/EmptyStateBase.d.ts.map +1 -1
- package/dist/types/components/EmptyState/EmptyStateBase.st.css.d.ts +13 -0
- package/dist/types/components/EmptyState/EmptyStateBase.st.css.d.ts.map +1 -0
- package/dist/types/components/LoadingRow/LoadingRow.st.css.d.ts.map +1 -1
- package/dist/types/components/MaxLines/MaxLines.st.css.d.ts.map +1 -1
- package/dist/types/components/PickerContent/PickerContentAdditionalStep.st.css.d.ts.map +1 -1
- package/dist/types/components/ScrollableContent/ScrollableContent.st.css.d.ts.map +1 -1
- package/dist/types/components/SidePanelModal/SidePanelModal.d.ts.map +1 -1
- package/dist/types/components/SkeletonCard/SkeletonCard.st.css.d.ts.map +1 -1
- package/dist/types/components/SlidingModal/SlidingModal.d.ts +2 -0
- package/dist/types/components/SlidingModal/SlidingModal.d.ts.map +1 -1
- package/dist/types/components/SlidingModal/SlidingModal.st.css.d.ts +3 -1
- package/dist/types/components/SlidingModal/SlidingModal.st.css.d.ts.map +1 -1
- package/dist/types/components/ToolbarItem/ToolbarItem.st.css.d.ts.map +1 -1
- package/dist/types/components/ToolbarItemBox/ToolbarItemBox.st.css.d.ts.map +1 -1
- package/dist/types/components/ToolbarTitle/ToolbarTitle.d.ts.map +1 -1
- package/dist/types/state/CollectionPage/CollectionPageHeader.st.css.d.ts.map +1 -1
- package/dist/types/state/EditableTable/CellValueState.d.ts.map +1 -1
- package/dist/types/state/EditableTable/EditableTableState.d.ts.map +1 -1
- package/dist/types/state/EditableTable/MutationState.d.ts +37 -1
- package/dist/types/state/EditableTable/MutationState.d.ts.map +1 -1
- package/dist/types/state/ExtensionMenuItemsState.d.ts.map +1 -1
- package/dist/types/state/TagsCollectionState.d.ts +5 -5
- package/dist/types/state/TagsCollectionState.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +7 -7
- package/src/components/BulkActionToolbar/BulkActionToolbar.tsx +4 -2
- 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/CmsFieldManagement/formFields/CharactersLimitInput.st.css.ts +2 -2
- package/src/components/Collapse/Collapse.st.css.ts +2 -2
- package/src/components/CollectionCard/CollectionCard.tsx +6 -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 +3 -0
- package/src/components/CollectionToolbar/CollectionToolbar.st.css +2 -1
- package/src/components/CollectionToolbar/CollectionToolbar.st.css.ts +2 -2
- package/src/components/CollectionToolbar/CollectionToolbar.tsx +9 -2
- package/src/components/CollectionToolbar/ReorderModeToolbar.tsx +6 -1
- package/src/components/CollectionToolbar/SearchOrCustomFilter.st.css.ts +2 -2
- package/src/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.ts +2 -2
- package/src/components/CollectionViewsDropdown/ViewsDropdown.st.css.ts +2 -2
- package/src/components/DragHandle/DragHandle.st.css.ts +2 -2
- package/src/components/EditableTable/EditableCell.st.css.ts +2 -2
- package/src/components/EditableTable/EditableTableContextMenu.tsx +3 -2
- package/src/components/EditableTable/HeaderActionsPopover.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/CellViewLayout.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/address/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/array/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/boolean/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/boolean/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/color/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/date/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/date/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/datetime/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/datetime/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/email/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/email/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/number/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/number/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/object/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/object/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/richContent/Edit.tsx +1 -1
- package/src/components/EditableTable/cellTypes/richContent/index.tsx +5 -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/EditableTable/useAddRow.ts +18 -24
- package/src/components/EmptyState/CollectionNoResultsState.tsx +8 -2
- package/src/components/EmptyState/EmptyStateBase.st.css +8 -0
- package/src/components/EmptyState/EmptyStateBase.st.css.ts +25 -0
- package/src/components/EmptyState/EmptyStateBase.tsx +12 -1
- package/src/components/EntityPage/EntityPagePlain.st.css.ts +2 -2
- package/src/components/Fade/Fade.st.css.ts +2 -2
- package/src/components/Heading/Heading.st.css.ts +2 -2
- package/src/components/ImportButton/ImportStepUpload.st.css.ts +2 -2
- package/src/components/InputOverflow/InputOverflow.st.css.ts +2 -2
- package/src/components/LoadingRow/LoadingRow.st.css.ts +3 -3
- package/src/components/MaxHeightText/MaxHeightText.st.css.ts +2 -2
- package/src/components/MaxLines/MaxLines.st.css.ts +2 -2
- package/src/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.ts +2 -2
- package/src/components/MultiBulkActionToolbar/MultiBulkActionToolbar.tsx +2 -2
- package/src/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.ts +2 -2
- package/src/components/NestedTable/NestedTableRow.st.css.ts +2 -2
- package/src/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.ts +2 -2
- package/src/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.ts +2 -2
- package/src/components/PickerContent/PickerContent.st.css.ts +2 -2
- package/src/components/PickerContent/PickerContentAdditionalStep.st.css.ts +2 -2
- package/src/components/PickerTableListItem/PickerTableListItem.st.css.ts +2 -2
- package/src/components/SchemaSource/schemaFieldManagement.ts +1 -1
- package/src/components/ScrollableContent/ScrollableContent.st.css.ts +2 -2
- package/src/components/SetupWidget/SetupWidget.st.css.ts +2 -2
- package/src/components/SidePanelModal/SidePanelModal.tsx +12 -6
- package/src/components/SkeletonCard/SkeletonCard.st.css.ts +2 -2
- package/src/components/SlidingModal/SlidingModal.st.css +9 -1
- package/src/components/SlidingModal/SlidingModal.st.css.ts +3 -3
- package/src/components/SlidingModal/SlidingModal.tsx +9 -2
- package/src/components/Table/AddFieldColumnHeader.st.css.ts +2 -2
- package/src/components/TabsFilter/TabsFilter.st.css.ts +2 -2
- package/src/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.ts +2 -2
- package/src/components/ToolbarItem/ToolbarItem.st.css.ts +2 -2
- package/src/components/ToolbarItemBox/ToolbarItemBox.st.css.ts +2 -2
- package/src/components/ToolbarTitle/ToolbarTitle.tsx +11 -1
- package/src/components/common.st.css.ts +2 -2
- package/src/state/CollectionPage/CollectionPageHeader.st.css.ts +2 -2
- package/src/state/EditableTable/CellValueState.ts +21 -3
- package/src/state/EditableTable/EditableTableState.ts +43 -6
- package/src/state/EditableTable/MutationState.ts +194 -13
- package/src/state/ExtensionMenuItemsState.ts +9 -2
- package/src/state/FormPage/FormPageHeader.st.css.ts +2 -2
- package/src/state/TagsCollectionState.ts +6 -2
- package/src/styles.global.css +2 -2
- package/src/version.ts +1 -1
|
@@ -0,0 +1,485 @@
|
|
|
1
|
+
# CustomFieldType
|
|
2
|
+
|
|
3
|
+
**Category:** Features/Enrich/Custom Field Types
|
|
4
|
+
|
|
5
|
+
## Design
|
|
6
|
+
|
|
7
|
+
### Description
|
|
8
|
+
|
|
9
|
+
A **custom field type** is a consumer-defined field that plugs into every schema-driven surface. Define it once with `defineFieldType()` and register it on the schema source via `fieldTypes` — the page wires nothing per surface. Each surface resolves its own slot from the definition:
|
|
10
|
+
|
|
11
|
+
- `table` — the read-only table cell and column layout.
|
|
12
|
+
- `editableTable` — the editable cell: view, inline editor, and clipboard behavior.
|
|
13
|
+
- `filter` — the filter registered on the collection query and its toolbar element. This slot is required: provide a config, or opt out explicitly with `{ filterable: false }`.
|
|
14
|
+
- `value` — value semantics (`defaultValue`, `isEmpty`, `validate`) used by every surface.
|
|
15
|
+
- `capabilities` — e.g. `sortable`.
|
|
16
|
+
- `actions` — extra items on the field's "more actions" menus.
|
|
17
|
+
- `display` — the type's label and icons in field menus.
|
|
18
|
+
|
|
19
|
+
A field uses the type via `type: 'CUSTOM'` and `customType` pointing at the definition's key. `table` and `editableTable` are independent — neither falls back to the other, so implement only the surfaces you need.
|
|
20
|
+
|
|
21
|
+
See the **API** tab for the full configuration of each slot.
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
```tsx
|
|
25
|
+
import { defineFieldType } from '@wix/patterns';
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### Table cell and filter
|
|
29
|
+
|
|
30
|
+
What you get: a read-only table where the custom Progress field renders as a progress bar (the `table` slot) and a Progress filter in the toolbar (the `filter` slot — check a bucket and the backend applies the raw filter value). Manage fields can add functionality and visibility on top: the field's actions and show/hide controls appear in the manage-fields and customize-columns panels.
|
|
31
|
+
|
|
32
|
+
```tsx
|
|
33
|
+
import React from 'react';
|
|
34
|
+
import { CollectionPage } from '@wix/patterns/page';
|
|
35
|
+
import {
|
|
36
|
+
Table,
|
|
37
|
+
defineFieldType,
|
|
38
|
+
idNameArrayFilter,
|
|
39
|
+
MultiInlineCheckboxFilter,
|
|
40
|
+
} from '@wix/patterns';
|
|
41
|
+
import type { Field, FilterProps } from '@wix/patterns';
|
|
42
|
+
import { useSchemaSource, useTableCollection } from '@wix/patterns/schema';
|
|
43
|
+
import type {
|
|
44
|
+
CollectionBackend,
|
|
45
|
+
LoadedSchema,
|
|
46
|
+
Schema,
|
|
47
|
+
} from '@wix/patterns/schema';
|
|
48
|
+
|
|
49
|
+
type Task = { id: string; name: string; progress?: number };
|
|
50
|
+
type Bucket = { id: string; name: string };
|
|
51
|
+
|
|
52
|
+
function CustomFieldTypeTable() {
|
|
53
|
+
const tasks: Task[] = [
|
|
54
|
+
{ id: '1', name: 'Design homepage', progress: 80 },
|
|
55
|
+
{ id: '2', name: 'Set up payments', progress: 100 },
|
|
56
|
+
{ id: '3', name: 'Write product descriptions', progress: 25 },
|
|
57
|
+
{ id: '4', name: 'Configure shipping', progress: 55 },
|
|
58
|
+
{ id: '5', name: 'Launch campaign', progress: 0 },
|
|
59
|
+
];
|
|
60
|
+
|
|
61
|
+
const ProgressCell = ({ value }: { value: number }) => (
|
|
62
|
+
<div style={{ display: 'flex', alignItems: 'center', gap: '8px' }}>
|
|
63
|
+
<div
|
|
64
|
+
style={{
|
|
65
|
+
width: '80px',
|
|
66
|
+
height: '6px',
|
|
67
|
+
borderRadius: '3px',
|
|
68
|
+
background: '#DFE5EB',
|
|
69
|
+
overflow: 'hidden',
|
|
70
|
+
}}
|
|
71
|
+
>
|
|
72
|
+
<div
|
|
73
|
+
style={{
|
|
74
|
+
width: `${value ?? 0}%`,
|
|
75
|
+
height: '100%',
|
|
76
|
+
background: '#3899EC',
|
|
77
|
+
}}
|
|
78
|
+
/>
|
|
79
|
+
</div>
|
|
80
|
+
<span>{value ?? 0}%</span>
|
|
81
|
+
</div>
|
|
82
|
+
);
|
|
83
|
+
|
|
84
|
+
// The option id encodes the range; the backend parses it back.
|
|
85
|
+
const BUCKETS: Bucket[] = [
|
|
86
|
+
{ id: '0-33', name: 'Low (0-33%)' },
|
|
87
|
+
{ id: '34-66', name: 'Medium (34-66%)' },
|
|
88
|
+
{ id: '67-100', name: 'High (67-100%)' },
|
|
89
|
+
];
|
|
90
|
+
|
|
91
|
+
const progressFieldType = defineFieldType<number>({
|
|
92
|
+
type: 'docs.progress',
|
|
93
|
+
display: {
|
|
94
|
+
label: 'Progress',
|
|
95
|
+
icons: { Small: () => <span>%</span>, Medium: () => <span>%</span> },
|
|
96
|
+
},
|
|
97
|
+
filter: {
|
|
98
|
+
createFilter: () => idNameArrayFilter<Bucket>(),
|
|
99
|
+
Component: (props: FilterProps<Bucket[]>) => (
|
|
100
|
+
<MultiInlineCheckboxFilter {...props} data={BUCKETS} />
|
|
101
|
+
),
|
|
102
|
+
},
|
|
103
|
+
value: { defaultValue: 0, isEmpty: (v) => v == null },
|
|
104
|
+
capabilities: { sortable: true },
|
|
105
|
+
table: {
|
|
106
|
+
CellComponent: ({ value }) => <ProgressCell value={value} />,
|
|
107
|
+
width: '160px',
|
|
108
|
+
},
|
|
109
|
+
actions: {
|
|
110
|
+
items: [
|
|
111
|
+
{
|
|
112
|
+
key: 'about-progress',
|
|
113
|
+
label: 'About this field type',
|
|
114
|
+
onClick: (field) =>
|
|
115
|
+
window.alert(`"${field.displayName}" is a custom field type.`),
|
|
116
|
+
},
|
|
117
|
+
],
|
|
118
|
+
},
|
|
119
|
+
});
|
|
120
|
+
|
|
121
|
+
// The field is typed CUSTOM and points at the definition through `customType`.
|
|
122
|
+
const progressField: Field = {
|
|
123
|
+
id: 'progress',
|
|
124
|
+
displayName: 'Progress',
|
|
125
|
+
type: 'CUSTOM',
|
|
126
|
+
customType: 'docs.progress',
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
const schema: Schema = {
|
|
130
|
+
id: 'docs-custom-field-type-table',
|
|
131
|
+
fields: { progress: progressField },
|
|
132
|
+
displayField: 'name',
|
|
133
|
+
idField: 'id',
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
// Like filtering, sorting is delegated to the backend: `find` receives
|
|
137
|
+
// `sort` ({ fieldName, order }[]) and owns applying it.
|
|
138
|
+
const backend: CollectionBackend<Task> = {
|
|
139
|
+
find: async ({ search = '', filters = {}, sort = [] }) => {
|
|
140
|
+
const buckets = (filters as { progress?: Bucket[] }).progress;
|
|
141
|
+
const found = tasks.filter(
|
|
142
|
+
(task) =>
|
|
143
|
+
task.name.toLowerCase().includes(search.toLowerCase()) &&
|
|
144
|
+
(!buckets?.length ||
|
|
145
|
+
buckets.some(({ id }) => {
|
|
146
|
+
// parseInt, not Number — the example scope shadows `Number`.
|
|
147
|
+
const [min, max] = id
|
|
148
|
+
.split('-')
|
|
149
|
+
.map((part) => parseInt(part, 10));
|
|
150
|
+
const progress = task.progress ?? 0;
|
|
151
|
+
return progress >= min && progress <= max;
|
|
152
|
+
})),
|
|
153
|
+
);
|
|
154
|
+
if (sort.length) {
|
|
155
|
+
const [{ fieldName, order }] = sort;
|
|
156
|
+
found.sort((a, b) => {
|
|
157
|
+
const left = a[fieldName as keyof Task] ?? 0;
|
|
158
|
+
const right = b[fieldName as keyof Task] ?? 0;
|
|
159
|
+
const diff = left < right ? -1 : left > right ? 1 : 0;
|
|
160
|
+
return order === 'asc' ? diff : -diff;
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
return { items: found, total: found.length };
|
|
164
|
+
},
|
|
165
|
+
};
|
|
166
|
+
|
|
167
|
+
const loadSchema = async (): Promise<LoadedSchema<Task>> => ({
|
|
168
|
+
schema,
|
|
169
|
+
backend,
|
|
170
|
+
});
|
|
171
|
+
|
|
172
|
+
const source = useSchemaSource<Task>({
|
|
173
|
+
collectionId: 'docs-custom-field-type-table',
|
|
174
|
+
loadSchema,
|
|
175
|
+
fieldTypes: [progressFieldType],
|
|
176
|
+
});
|
|
177
|
+
const state = useTableCollection<Task>(source);
|
|
178
|
+
|
|
179
|
+
return (
|
|
180
|
+
<CollectionPage height="400px">
|
|
181
|
+
<CollectionPage.Header title={{ text: 'Tasks' }} />
|
|
182
|
+
<CollectionPage.Content>
|
|
183
|
+
<Table
|
|
184
|
+
state={state}
|
|
185
|
+
columns={[
|
|
186
|
+
{
|
|
187
|
+
id: 'name',
|
|
188
|
+
title: 'Name',
|
|
189
|
+
render: (task) => task.name,
|
|
190
|
+
width: '220px',
|
|
191
|
+
},
|
|
192
|
+
]}
|
|
193
|
+
/>
|
|
194
|
+
</CollectionPage.Content>
|
|
195
|
+
</CollectionPage>
|
|
196
|
+
);
|
|
197
|
+
}
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
### Editable cell
|
|
201
|
+
|
|
202
|
+
What you get: the same field type in an editable spreadsheet — the `editableTable` slot renders progress bars in view mode and a number input in edit mode. Try it: double-click a Progress cell (or focus it and type a digit) to edit — Enter or Tab commits, Escape cancels, values clamp to 0–100 on commit (`normalizeOnCommit`), and copy/paste round-trips through `serialize`/`deserialize`. The Progress column's header menu has "This is action only for progress bar" (the `actions` slot) — it appears only on this field type. Filtering is opted out with `{ filterable: false }`, so the toolbar shows no Progress filter.
|
|
203
|
+
|
|
204
|
+
```tsx
|
|
205
|
+
import React from 'react';
|
|
206
|
+
import { CollectionPage } from '@wix/patterns/page';
|
|
207
|
+
import { EditableTable, defineFieldType } from '@wix/patterns';
|
|
208
|
+
import type { CellEditProps, EditableColumn, Field } from '@wix/patterns';
|
|
209
|
+
import {
|
|
210
|
+
useSchemaSource,
|
|
211
|
+
useEditableTableCollection,
|
|
212
|
+
} from '@wix/patterns/schema';
|
|
213
|
+
import type {
|
|
214
|
+
CollectionBackend,
|
|
215
|
+
LoadedSchema,
|
|
216
|
+
Schema,
|
|
217
|
+
} from '@wix/patterns/schema';
|
|
218
|
+
|
|
219
|
+
type Task = { id: string; name: string; progress?: number };
|
|
220
|
+
|
|
221
|
+
function CustomFieldTypeSpreadsheet() {
|
|
222
|
+
// Plain object store (the live-example scope shadows the global `Map`).
|
|
223
|
+
const [store] = React.useState<{ tasks: Task[]; nextId: number }>(() => ({
|
|
224
|
+
nextId: 6,
|
|
225
|
+
tasks: [
|
|
226
|
+
{ id: '1', name: 'Design homepage', progress: 80 },
|
|
227
|
+
{ id: '2', name: 'Set up payments', progress: 100 },
|
|
228
|
+
{ id: '3', name: 'Write product descriptions', progress: 25 },
|
|
229
|
+
{ id: '4', name: 'Configure shipping', progress: 55 },
|
|
230
|
+
{ id: '5', name: 'Launch campaign', progress: 0 },
|
|
231
|
+
],
|
|
232
|
+
}));
|
|
233
|
+
|
|
234
|
+
const clamp = (value: number) =>
|
|
235
|
+
Math.max(0, Math.min(100, Math.round(value) || 0));
|
|
236
|
+
|
|
237
|
+
const ProgressCellView = ({ value }: { value: number }) => (
|
|
238
|
+
<div style={{ display: 'flex', alignItems: 'center', gap: '8px' }}>
|
|
239
|
+
<div
|
|
240
|
+
style={{
|
|
241
|
+
width: '80px',
|
|
242
|
+
height: '6px',
|
|
243
|
+
borderRadius: '3px',
|
|
244
|
+
background: '#DFE5EB',
|
|
245
|
+
overflow: 'hidden',
|
|
246
|
+
}}
|
|
247
|
+
>
|
|
248
|
+
<div
|
|
249
|
+
style={{
|
|
250
|
+
width: `${clamp(value ?? 0)}%`,
|
|
251
|
+
height: '100%',
|
|
252
|
+
background: '#3899EC',
|
|
253
|
+
}}
|
|
254
|
+
/>
|
|
255
|
+
</div>
|
|
256
|
+
<span>{clamp(value ?? 0)}%</span>
|
|
257
|
+
</div>
|
|
258
|
+
);
|
|
259
|
+
|
|
260
|
+
const ProgressCellEdit = ({
|
|
261
|
+
value,
|
|
262
|
+
onChange,
|
|
263
|
+
onCommit,
|
|
264
|
+
onCancel,
|
|
265
|
+
inputRef,
|
|
266
|
+
}: CellEditProps<number>) => {
|
|
267
|
+
const input = React.useRef<HTMLInputElement>(null);
|
|
268
|
+
React.useImperativeHandle(inputRef, () => ({
|
|
269
|
+
focus: () => input.current?.focus(),
|
|
270
|
+
}));
|
|
271
|
+
return (
|
|
272
|
+
<input
|
|
273
|
+
ref={input}
|
|
274
|
+
type="number"
|
|
275
|
+
min={0}
|
|
276
|
+
max={100}
|
|
277
|
+
value={value ?? 0}
|
|
278
|
+
// parseFloat, not Number — the example scope shadows `Number`.
|
|
279
|
+
onChange={(event) => onChange(parseFloat(event.target.value))}
|
|
280
|
+
onKeyDown={(event) => {
|
|
281
|
+
if (event.key === 'Enter') {
|
|
282
|
+
onCommit();
|
|
283
|
+
}
|
|
284
|
+
if (event.key === 'Escape') {
|
|
285
|
+
onCancel();
|
|
286
|
+
}
|
|
287
|
+
}}
|
|
288
|
+
style={{
|
|
289
|
+
width: '100%',
|
|
290
|
+
height: '100%',
|
|
291
|
+
border: 'none',
|
|
292
|
+
outline: 'none',
|
|
293
|
+
}}
|
|
294
|
+
/>
|
|
295
|
+
);
|
|
296
|
+
};
|
|
297
|
+
|
|
298
|
+
const progressFieldType = defineFieldType<number>({
|
|
299
|
+
type: 'docs.progress',
|
|
300
|
+
display: {
|
|
301
|
+
label: 'Progress',
|
|
302
|
+
icons: { Small: () => <span>%</span>, Medium: () => <span>%</span> },
|
|
303
|
+
},
|
|
304
|
+
// This example focuses on the editable cell; opt out of filtering explicitly.
|
|
305
|
+
filter: { filterable: false },
|
|
306
|
+
value: { defaultValue: 0, isEmpty: (v) => v == null },
|
|
307
|
+
capabilities: { sortable: true },
|
|
308
|
+
editableTable: {
|
|
309
|
+
ViewComponent: ProgressCellView,
|
|
310
|
+
EditComponent: ProgressCellEdit,
|
|
311
|
+
serialize: (v) => String(clamp(v ?? 0)),
|
|
312
|
+
deserialize: (raw) => clamp(parseFloat(raw)),
|
|
313
|
+
normalizeOnCommit: (v) => clamp(v ?? 0),
|
|
314
|
+
onTypeToEdit: ({ key }) =>
|
|
315
|
+
/^\d$/.test(key) ? { value: parseInt(key, 10) } : undefined,
|
|
316
|
+
},
|
|
317
|
+
// Items here appear on the field's actions menus (e.g. the editable
|
|
318
|
+
// table's column header menu) — only for fields of this type.
|
|
319
|
+
actions: {
|
|
320
|
+
items: [
|
|
321
|
+
{
|
|
322
|
+
key: 'progress-only-action',
|
|
323
|
+
label: 'This is action only for progress bar',
|
|
324
|
+
onClick: () => window.alert('This is action only for progress bar'),
|
|
325
|
+
},
|
|
326
|
+
],
|
|
327
|
+
},
|
|
328
|
+
});
|
|
329
|
+
|
|
330
|
+
const progressField: Field = {
|
|
331
|
+
id: 'progress',
|
|
332
|
+
displayName: 'Progress',
|
|
333
|
+
type: 'CUSTOM',
|
|
334
|
+
customType: 'docs.progress',
|
|
335
|
+
};
|
|
336
|
+
|
|
337
|
+
const schema: Schema = {
|
|
338
|
+
id: 'docs-custom-field-type-editable',
|
|
339
|
+
fields: { progress: progressField },
|
|
340
|
+
displayField: 'name',
|
|
341
|
+
idField: 'id',
|
|
342
|
+
itemPermissions: { createItem: true, updateItem: true, deleteItem: true },
|
|
343
|
+
};
|
|
344
|
+
|
|
345
|
+
const backend: CollectionBackend<Task> = {
|
|
346
|
+
// Sorting is delegated to the backend: `find` receives `sort`
|
|
347
|
+
// ({ fieldName, order }[]) and owns applying it.
|
|
348
|
+
find: async ({ search = '', sort = [] }) => {
|
|
349
|
+
const found = store.tasks.filter((task) =>
|
|
350
|
+
task.name.toLowerCase().includes(search.toLowerCase()),
|
|
351
|
+
);
|
|
352
|
+
if (sort.length) {
|
|
353
|
+
const [{ fieldName, order }] = sort;
|
|
354
|
+
found.sort((a, b) => {
|
|
355
|
+
const left = a[fieldName as keyof Task] ?? 0;
|
|
356
|
+
const right = b[fieldName as keyof Task] ?? 0;
|
|
357
|
+
const diff = left < right ? -1 : left > right ? 1 : 0;
|
|
358
|
+
return order === 'asc' ? diff : -diff;
|
|
359
|
+
});
|
|
360
|
+
}
|
|
361
|
+
return { items: found, total: found.length };
|
|
362
|
+
},
|
|
363
|
+
create: async (entity) => {
|
|
364
|
+
const created = { id: `task-${store.nextId++}`, name: '', ...entity };
|
|
365
|
+
store.tasks = [...store.tasks, created];
|
|
366
|
+
return created;
|
|
367
|
+
},
|
|
368
|
+
update: async (entity) => {
|
|
369
|
+
store.tasks = store.tasks.map((task) =>
|
|
370
|
+
task.id === entity.id ? entity : task,
|
|
371
|
+
);
|
|
372
|
+
return entity;
|
|
373
|
+
},
|
|
374
|
+
bulkDelete: async (entityIds) => {
|
|
375
|
+
store.tasks = store.tasks.filter((task) => !entityIds.includes(task.id));
|
|
376
|
+
},
|
|
377
|
+
};
|
|
378
|
+
|
|
379
|
+
const loadSchema = async (): Promise<LoadedSchema<Task>> => ({
|
|
380
|
+
schema,
|
|
381
|
+
backend,
|
|
382
|
+
});
|
|
383
|
+
|
|
384
|
+
const columns: EditableColumn<Task>[] = [
|
|
385
|
+
{
|
|
386
|
+
id: 'name',
|
|
387
|
+
title: 'Name',
|
|
388
|
+
cellType: 'text',
|
|
389
|
+
getValue: (task) => task.name,
|
|
390
|
+
setValue: (task, value) => ({ ...task, name: value }),
|
|
391
|
+
width: 220,
|
|
392
|
+
},
|
|
393
|
+
];
|
|
394
|
+
|
|
395
|
+
const source = useSchemaSource<Task>({
|
|
396
|
+
collectionId: 'docs-custom-field-type-editable',
|
|
397
|
+
loadSchema,
|
|
398
|
+
fieldTypes: [progressFieldType],
|
|
399
|
+
});
|
|
400
|
+
const state = useEditableTableCollection<Task>(source);
|
|
401
|
+
|
|
402
|
+
return (
|
|
403
|
+
<CollectionPage height="400px">
|
|
404
|
+
<CollectionPage.Header title={{ text: 'Tasks' }} />
|
|
405
|
+
<CollectionPage.Content>
|
|
406
|
+
<EditableTable state={state} columns={columns} />
|
|
407
|
+
</CollectionPage.Content>
|
|
408
|
+
</CollectionPage>
|
|
409
|
+
);
|
|
410
|
+
}
|
|
411
|
+
```
|
|
412
|
+
|
|
413
|
+
## API
|
|
414
|
+
|
|
415
|
+
### Overview
|
|
416
|
+
|
|
417
|
+
Full configuration of each slot on `FieldTypeDefinition` (`V` is the field's value type — `defineFieldType` infers it and keeps all slots consistent).
|
|
418
|
+
|
|
419
|
+
#### `type: string`
|
|
420
|
+
|
|
421
|
+
Unique key for the type (e.g. `'myvertical.rating'`). Fields reference it via `customType` — an unmatched key falls back to a read-only object cell.
|
|
422
|
+
|
|
423
|
+
#### `display` — label and icons in field menus
|
|
424
|
+
|
|
425
|
+
- `label: string`
|
|
426
|
+
- `icons: { Small: ComponentType; Medium: ComponentType }`
|
|
427
|
+
|
|
428
|
+
#### `filter` — toolbar filter (required slot)
|
|
429
|
+
|
|
430
|
+
Provide a config, or opt out explicitly with `{ filterable: false }` — never silently absent.
|
|
431
|
+
|
|
432
|
+
- `createFilter(field): Filter` — the filter state registered on the collection query (e.g. `idNameArrayFilter()`).
|
|
433
|
+
- `Component` — the toolbar element; receives `FilterProps` (`filter`, plus `toolbarItemProps` / `toolbarTagProps` / `accordionItemProps` labels). Typically wraps a built-in filter element like `MultiInlineCheckboxFilter`.
|
|
434
|
+
|
|
435
|
+
The backend owns the translation: `find({ filters })` receives the raw filter value exactly as the filter state produced it.
|
|
436
|
+
|
|
437
|
+
#### `value` — value semantics, used by every surface
|
|
438
|
+
|
|
439
|
+
- `defaultValue?: V`
|
|
440
|
+
- `isEmpty?(value: V): boolean`
|
|
441
|
+
- `validate?(value: V, rules?: ValidationRule[]): string | null` — return an error message or `null`; every surface that validates a field of this type runs this. `ValidationRule` covers `required`, `min`/`max`, `minLength`/`maxLength`, `pattern`, `custom`, and `specificValues`.
|
|
442
|
+
|
|
443
|
+
#### `capabilities`
|
|
444
|
+
|
|
445
|
+
- `sortable: boolean` — turns the sort controls on. The backend receives `sort` (`{ fieldName, order }[]`) on `find` and owns applying it, same as filters.
|
|
446
|
+
|
|
447
|
+
#### `table` — the read-only table cell and column layout
|
|
448
|
+
|
|
449
|
+
- `CellComponent(props: { value: V })` — renders the cell.
|
|
450
|
+
- `width: string` — required; custom types get no built-in layout default.
|
|
451
|
+
- `align?: 'start' | 'center' | 'end'` — default `'start'`.
|
|
452
|
+
|
|
453
|
+
#### `editableTable` — the editable cell: view, inline editor, clipboard
|
|
454
|
+
|
|
455
|
+
- `ViewComponent(props: CellViewProps)` — view mode. Props: `value`, `typeConfig`, `validation`, `columnId`, `rowKey`.
|
|
456
|
+
- `EditComponent?(props: CellEditProps)` — edit mode; omit for view-only cells. Props: `value`, `onChange(value)` (call on **every** change — Tab-commit reads the editing value synchronously before blur), `onCommit()`, `onCancel()` (wire Escape to it), `onStartEdit?()` (call before opening external UI like a modal so the table keeps cell focus), `inputRef` (expose `{ focus }` via `useImperativeHandle` for type-to-edit), `editTrigger`, `validation`, `typeConfig`, `columnId`, `rowKey`.
|
|
457
|
+
- `serialize?(value: V): string` / `deserialize?(raw: string): V` — clipboard copy/paste. Serialized values must be single-line (TSV).
|
|
458
|
+
- `editable?: boolean` — default `true`.
|
|
459
|
+
- `clearable?: boolean` — can the Delete key clear the cell; default `true`.
|
|
460
|
+
- `toggleValue?(value: V): V` — toggle on single click (e.g. boolean checkbox), skipping the focus→edit flow.
|
|
461
|
+
- `editOnClick?(value: V): boolean` — enter edit mode on single click (e.g. an empty image cell).
|
|
462
|
+
- `showEditWhenFocused?: boolean` — render the EditComponent while merely focused, keyboard navigation stays active.
|
|
463
|
+
- `growable?: boolean` — cell content may grow past row height when focused (only with `showEditWhenFocused`).
|
|
464
|
+
- `onTypeToEdit?({ key, validation })` — handle type-to-edit: return `{ value }` to seed and enter edit, `{}` to enter edit unchanged, `undefined` to block the key. Without it, typing on a focused cell does nothing.
|
|
465
|
+
- `nativeTypeToEdit?: boolean` — flush edit mode synchronously on keydown and let the browser deliver the keystroke to the focused input (for controlled inputs that can't be seeded via props).
|
|
466
|
+
- `normalizeOnCommit?(value: V): V` — normalize just before the edit commits (e.g. clamp a number, prepend `https://`).
|
|
467
|
+
- `EditWrapper?: ComponentType` — optional wrapper kept mounted across the edit↔view transition, for behavior that must outlive the inline editor.
|
|
468
|
+
|
|
469
|
+
#### `actions` — extra items on the field's "more actions" menus
|
|
470
|
+
|
|
471
|
+
Items appear on every field-actions menu (editable table column header, manage-fields panel, customize-columns panel) — only for fields of this type.
|
|
472
|
+
|
|
473
|
+
- `items?: Array` — `disabledTooltip` returning a string disables the item and shows the tooltip.
|
|
474
|
+
|
|
475
|
+
|
|
476
|
+
### Props
|
|
477
|
+
|
|
478
|
+
| Prop | Type | Required | Default | Description |
|
|
479
|
+
|------|------|----------|---------|-------------|
|
|
480
|
+
| `type` | `string` | Yes | - | Unique key for the type. A built-in type uses its `PatternsFieldType`; a consumer-defined type uses the string its fields reference via `customType`. |
|
|
481
|
+
| `filter` | `FilterTypeConfig \| { filterable: false; }` | Yes | - | Filter behavior, or an explicit opt-out — never silently absent. |
|
|
482
|
+
| `table` | `TableCellConfig<V>` | No | - | Absent ⇒ the field renders with the default cell in the read-only table. |
|
|
483
|
+
| `editableTable` | `EditableCellConfig<V>` | No | - | Absent ⇒ the field renders as a read-only cell in editable surfaces. |
|
|
484
|
+
| `actions` | `FieldActionsConfig` | No | - | Extra items for the field's "more actions" menu. |
|
|
485
|
+
|
package/dist/docs/index.json
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
{
|
|
2
|
+
"ActionSubItem": {
|
|
3
|
+
"file": "ActionSubItem.md",
|
|
4
|
+
"category": "Common/Types"
|
|
5
|
+
},
|
|
2
6
|
"AI Assistant": {
|
|
3
7
|
"file": "AI Assistant.md",
|
|
4
8
|
"category": "Integrations/AI Assistant"
|
|
@@ -7,10 +11,6 @@
|
|
|
7
11
|
"file": "AutoCompleteFilter.md",
|
|
8
12
|
"category": "Features/Filter/Components"
|
|
9
13
|
},
|
|
10
|
-
"ActionSubItem": {
|
|
11
|
-
"file": "ActionSubItem.md",
|
|
12
|
-
"category": "Common/Types"
|
|
13
|
-
},
|
|
14
14
|
"CollectionEmptyState": {
|
|
15
15
|
"file": "CollectionEmptyState.md",
|
|
16
16
|
"category": "Features/Display/Empty States"
|
|
@@ -23,14 +23,14 @@
|
|
|
23
23
|
"file": "CollectionNoResultsState.md",
|
|
24
24
|
"category": "Features/Display/Empty States"
|
|
25
25
|
},
|
|
26
|
-
"CollectionOptimisticActions": {
|
|
27
|
-
"file": "CollectionOptimisticActions.md",
|
|
28
|
-
"category": "Features/Actions/Updates"
|
|
29
|
-
},
|
|
30
26
|
"CollectionPage": {
|
|
31
27
|
"file": "CollectionPage.md",
|
|
32
28
|
"category": "Base Components/Pages/Collection Page"
|
|
33
29
|
},
|
|
30
|
+
"CollectionOptimisticActions": {
|
|
31
|
+
"file": "CollectionOptimisticActions.md",
|
|
32
|
+
"category": "Features/Actions/Updates"
|
|
33
|
+
},
|
|
34
34
|
"CollectionPage.Content": {
|
|
35
35
|
"file": "CollectionPage.Content.md",
|
|
36
36
|
"category": "Base Components/Pages/Collection Page"
|
|
@@ -63,6 +63,10 @@
|
|
|
63
63
|
"file": "CustomColumns.md",
|
|
64
64
|
"category": "Features/Display/Custom Columns"
|
|
65
65
|
},
|
|
66
|
+
"CustomFieldType": {
|
|
67
|
+
"file": "CustomFieldType.md",
|
|
68
|
+
"category": "Features/Enrich/Custom Field Types"
|
|
69
|
+
},
|
|
66
70
|
"CustomFieldsViewWidget": {
|
|
67
71
|
"file": "CustomFieldsViewWidget.md",
|
|
68
72
|
"category": "Features/Enrich/Data Extension/Components"
|
|
@@ -83,22 +87,22 @@
|
|
|
83
87
|
"file": "EntityPage.AdditionalContent.md",
|
|
84
88
|
"category": "Base Components/Pages/Entity Page"
|
|
85
89
|
},
|
|
86
|
-
"EntityPage.Content": {
|
|
87
|
-
"file": "EntityPage.Content.md",
|
|
88
|
-
"category": "Base Components/Pages/Entity Page"
|
|
89
|
-
},
|
|
90
90
|
"EntityPage.Card": {
|
|
91
91
|
"file": "EntityPage.Card.md",
|
|
92
92
|
"category": "Base Components/Pages/Entity Page"
|
|
93
93
|
},
|
|
94
|
-
"EntityPage.
|
|
95
|
-
"file": "EntityPage.
|
|
94
|
+
"EntityPage.Content": {
|
|
95
|
+
"file": "EntityPage.Content.md",
|
|
96
96
|
"category": "Base Components/Pages/Entity Page"
|
|
97
97
|
},
|
|
98
98
|
"EntityPage.Header": {
|
|
99
99
|
"file": "EntityPage.Header.md",
|
|
100
100
|
"category": "Base Components/Pages/Entity Page"
|
|
101
101
|
},
|
|
102
|
+
"EntityPage.MainContent": {
|
|
103
|
+
"file": "EntityPage.MainContent.md",
|
|
104
|
+
"category": "Base Components/Pages/Entity Page"
|
|
105
|
+
},
|
|
102
106
|
"EntityPage.Slots": {
|
|
103
107
|
"file": "EntityPage.Slots.md",
|
|
104
108
|
"category": "Base Components/Pages/Entity Page"
|
|
@@ -2,15 +2,17 @@ import { Box, TableToolbar } from '@wix/design-system';
|
|
|
2
2
|
import React, { cloneElement } from 'react';
|
|
3
3
|
import { observer } from 'mobx-react-lite';
|
|
4
4
|
import { useToolbarCollectionContext } from '../ToolbarCollectionContext';
|
|
5
|
+
import { useBmHarmonyTheme } from '../../hooks/useBmHarmonyTheme';
|
|
5
6
|
export function _BulkActionToolbar(props) {
|
|
6
7
|
const { actionButton } = props;
|
|
7
8
|
const toolbarCollectionState = useToolbarCollectionContext();
|
|
9
|
+
const isBmHarmonyTheme = useBmHarmonyTheme();
|
|
8
10
|
const { collection, hasToolbarTabs, featuredComponents } = toolbarCollectionState;
|
|
9
11
|
const { value: exportButton } = featuredComponents.exportButton;
|
|
10
12
|
const TagsAssignButton = toolbarCollectionState.tagsCollectionState?.components.AssignButton;
|
|
11
13
|
const { bulkSelect: { selectedCountOrTotal: selectedCount }, translate: t, } = collection;
|
|
12
|
-
return (React.createElement(Box, { minHeight:
|
|
13
|
-
React.createElement(TableToolbar, { removeVerticalPadding: hasToolbarTabs, dataHook: "bulk-action-toolbar" },
|
|
14
|
+
return (React.createElement(Box, { minHeight: isBmHarmonyTheme ? undefined : '60px' },
|
|
15
|
+
React.createElement(TableToolbar, { removeVerticalPadding: !isBmHarmonyTheme && hasToolbarTabs, dataHook: "bulk-action-toolbar" },
|
|
14
16
|
React.createElement(TableToolbar.ItemGroup, { position: "start" },
|
|
15
17
|
React.createElement(TableToolbar.Item, null,
|
|
16
18
|
React.createElement(TableToolbar.SelectedCount, { dataHook: "selected-count" }, t('cairo.bulkSelected', {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BulkActionToolbar.js","sourceRoot":"","sources":["../../../../src/components/BulkActionToolbar/BulkActionToolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,EAAE,YAAY,EAAa,MAAM,OAAO,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"BulkActionToolbar.js","sourceRoot":"","sources":["../../../../src/components/BulkActionToolbar/BulkActionToolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,EAAE,YAAY,EAAa,MAAM,OAAO,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAMlE,MAAM,UAAU,kBAAkB,CAAC,KAA6B;IAC9D,MAAM,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;IAE/B,MAAM,sBAAsB,GAAG,2BAA2B,EAAE,CAAC;IAC7D,MAAM,gBAAgB,GAAG,iBAAiB,EAAE,CAAC;IAE7C,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,kBAAkB,EAAE,GACtD,sBAAsB,CAAC;IAEzB,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,kBAAkB,CAAC,YAAY,CAAC;IAChE,MAAM,gBAAgB,GACpB,sBAAsB,CAAC,mBAAmB,EAAE,UAAU,CAAC,YAAY,CAAC;IAEtE,MAAM,EACJ,UAAU,EAAE,EAAE,oBAAoB,EAAE,aAAa,EAAE,EACnD,SAAS,EAAE,CAAC,GACb,GAAG,UAAU,CAAC;IAEf,OAAO,CACL,oBAAC,GAAG,IAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;QACnD,oBAAC,YAAY,IACX,qBAAqB,EAAE,CAAC,gBAAgB,IAAI,cAAc,EAC1D,QAAQ,EAAC,qBAAqB;YAE9B,oBAAC,YAAY,CAAC,SAAS,IAAC,QAAQ,EAAC,OAAO;gBACtC,oBAAC,YAAY,CAAC,IAAI;oBAChB,oBAAC,YAAY,CAAC,aAAa,IAAC,QAAQ,EAAC,gBAAgB,IAClD,CAAC,CAAC,oBAAoB,EAAE;wBACvB,GAAG,EAAE,aAAa;qBACnB,CAAC,CACyB,CACX;gBACnB,gBAAgB,IAAI,CACnB,oBAAC,YAAY,CAAC,IAAI;oBAChB,oBAAC,gBAAgB,OAAG,CACF,CACrB;gBACA,YAAY,IAAI,CACf,oBAAC,YAAY,CAAC,IAAI,QACf,YAAY,CAAC,YAAY,EAAE;oBAC1B,WAAW,EAAE,SAAS;iBACvB,CAAC,CACgB,CACrB,CACsB;YACxB,YAAY,IAAI,CACf,oBAAC,YAAY,CAAC,SAAS,IAAC,QAAQ,EAAC,KAAK;gBACpC,oBAAC,YAAY,CAAC,IAAI,IAAC,MAAM,EAAC,QAAQ,IAC/B,YAAY,CACK,CACG,CAC1B,CACY,CACX,CACP,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,kBAAkB,CAAC,CAAC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
2
|
import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
|
|
3
|
-
var _namespace_ = "
|
|
3
|
+
var _namespace_ = "CardContainer2848505373";
|
|
4
4
|
var _style_ = classesRuntime.bind(null, _namespace_);
|
|
5
5
|
export var cssStates = statesRuntime.bind(null, _namespace_);
|
|
6
6
|
export var style = _style_;
|
|
7
7
|
export var st = _style_;
|
|
8
8
|
export var namespace = _namespace_;
|
|
9
|
-
export var classes = { "root": "
|
|
9
|
+
export var classes = { "root": "CardContainer2848505373__root" };
|
|
10
10
|
export var keyframes = {};
|
|
11
11
|
export var layers = {};
|
|
12
12
|
export var containers = {};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
2
|
import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
|
|
3
|
-
var _namespace_ = "
|
|
3
|
+
var _namespace_ = "CmsFieldForm1740606650";
|
|
4
4
|
var _style_ = classesRuntime.bind(null, _namespace_);
|
|
5
5
|
export var cssStates = statesRuntime.bind(null, _namespace_);
|
|
6
6
|
export var style = _style_;
|
|
7
7
|
export var st = _style_;
|
|
8
8
|
export var namespace = _namespace_;
|
|
9
|
-
export var classes = { "root": "
|
|
9
|
+
export var classes = { "root": "CmsFieldForm1740606650__root", "fullBleedDivider": "CmsFieldForm1740606650__fullBleedDivider" };
|
|
10
10
|
export var keyframes = {};
|
|
11
11
|
export var layers = {};
|
|
12
12
|
export var containers = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CmsFieldForm.st.css.js","sourceRoot":"","sources":["../../../../src/components/CmsFieldManagement/CmsFieldForm.st.css.ts"],"names":[],"mappings":"AAAA,cAAc;AAGd,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAI9E,IAAI,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"CmsFieldForm.st.css.js","sourceRoot":"","sources":["../../../../src/components/CmsFieldManagement/CmsFieldForm.st.css.ts"],"names":[],"mappings":"AAAA,cAAc;AAGd,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAI9E,IAAI,WAAW,GAAG,wBAAwB,CAAC;AAC3C,IAAI,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AAErD,MAAM,CAAC,IAAI,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AAC7D,MAAM,CAAC,IAAI,KAAK,GAAG,OAAO,CAAC;AAC3B,MAAM,CAAC,IAAI,EAAE,GAA2C,OAAO,CAAC;AAEhE,MAAM,CAAC,IAAI,SAAS,GAAG,WAAW,CAAC;AACnC,MAAM,CAAC,IAAI,OAAO,GAAG,EAAC,MAAM,EAAC,8BAA8B,EAAC,kBAAkB,EAAC,0CAA0C,EAAC,CAAC;AAC3H,MAAM,CAAC,IAAI,SAAS,GAAG,EAAE,CAAC;AAC1B,MAAM,CAAC,IAAI,MAAM,GAAG,EAAE,CAAC;AACvB,MAAM,CAAC,IAAI,UAAU,GAAG,EAAE,CAAC;AAC3B,MAAM,CAAC,IAAI,MAAM,GAAG,EAAE,CAAC;AACvB,MAAM,CAAC,IAAI,IAAI,GAAG,EAAC,eAAe,EAAC,iBAAiB,EAAC,6CAA6C,EAAC,+CAA+C,EAAC,CAAC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
2
|
import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
|
|
3
|
-
var _namespace_ = "
|
|
3
|
+
var _namespace_ = "CmsFieldModal3795014477";
|
|
4
4
|
var _style_ = classesRuntime.bind(null, _namespace_);
|
|
5
5
|
export var cssStates = statesRuntime.bind(null, _namespace_);
|
|
6
6
|
export var style = _style_;
|
|
7
7
|
export var st = _style_;
|
|
8
8
|
export var namespace = _namespace_;
|
|
9
|
-
export var classes = { "root": "
|
|
9
|
+
export var classes = { "root": "CmsFieldModal3795014477__root", "modal": "CmsFieldModal3795014477__modal" };
|
|
10
10
|
export var keyframes = {};
|
|
11
11
|
export var layers = {};
|
|
12
12
|
export var containers = {};
|
package/dist/esm/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
2
|
import { classesRuntime, statesRuntime } from "../../../stylable-esm-runtime.js";
|
|
3
|
-
var _namespace_ = "
|
|
3
|
+
var _namespace_ = "ValidationAndDefaultsSection4139158258";
|
|
4
4
|
var _style_ = classesRuntime.bind(null, _namespace_);
|
|
5
5
|
export var cssStates = statesRuntime.bind(null, _namespace_);
|
|
6
6
|
export var style = _style_;
|
|
7
7
|
export var st = _style_;
|
|
8
8
|
export var namespace = _namespace_;
|
|
9
|
-
export var classes = { "root": "
|
|
9
|
+
export var classes = { "root": "ValidationAndDefaultsSection4139158258__root", "accordionWrapper": "ValidationAndDefaultsSection4139158258__accordionWrapper" };
|
|
10
10
|
export var keyframes = {};
|
|
11
11
|
export var layers = {};
|
|
12
12
|
export var containers = {};
|