@wix/patterns 1.439.0 → 1.442.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/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/CollectionPageNew/CollectionPage.st.css.js +2 -2
- package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +3 -3
- package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js +2 -2
- package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.st.css.js +2 -2
- package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js +5 -5
- package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionToolbar/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/CustomColumnsPanel/ColumnListTableListItem.js +14 -13
- package/dist/cjs/components/CustomColumnsPanel/ColumnListTableListItem.js.map +1 -1
- package/dist/cjs/components/CustomFieldFilters/HasValueCustomFieldFilter.js +45 -0
- package/dist/cjs/components/CustomFieldFilters/HasValueCustomFieldFilter.js.map +1 -0
- package/dist/cjs/components/CustomFieldModal/CustomFieldTypeDropdown.js +7 -5
- package/dist/cjs/components/CustomFieldModal/CustomFieldTypeDropdown.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 +22 -28
- package/dist/cjs/components/EditableTable/EditableCell.js.map +1 -1
- package/dist/cjs/components/EditableTable/EditableCell.st.css +41 -8
- package/dist/cjs/components/EditableTable/EditableCell.st.css.js +10 -4
- package/dist/cjs/components/EditableTable/EditableCell.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/EditableCell.uni.driver.js +8 -2
- package/dist/cjs/components/EditableTable/EditableCell.uni.driver.js.map +1 -1
- package/dist/cjs/components/EditableTable/EditableTable.js +18 -10
- package/dist/cjs/components/EditableTable/EditableTable.js.map +1 -1
- package/dist/cjs/components/EditableTable/EditableTable.uni.driver.js +2 -0
- package/dist/cjs/components/EditableTable/EditableTable.uni.driver.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/multiReference/View.js +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/multiReference/View.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/index.js +3 -3
- 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/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 +61 -0
- package/dist/cjs/components/EntityPageFields/EntityPageCustomField.js.map +1 -0
- package/dist/cjs/components/EntityPageFields/EntityPageField.js +39 -18
- package/dist/cjs/components/EntityPageFields/EntityPageField.js.map +1 -1
- package/dist/cjs/components/EntityPageFields/EntityPageFields.js +26 -19
- package/dist/cjs/components/EntityPageFields/EntityPageFields.js.map +1 -1
- package/dist/cjs/components/Fade/Fade.st.css.js +2 -2
- package/dist/cjs/components/Fade/Fade.st.css.js.map +1 -1
- package/dist/cjs/components/Heading/Heading.st.css.js +2 -2
- package/dist/cjs/components/Heading/Heading.st.css.js.map +1 -1
- package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js +3 -3
- package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js.map +1 -1
- package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js +2 -2
- package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
- package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js +3 -3
- package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
- package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
- package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
- package/dist/cjs/components/MaxLines/MaxLines.st.css.js +2 -2
- package/dist/cjs/components/MaxLines/MaxLines.st.css.js.map +1 -1
- package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +5 -5
- package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
- package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js +5 -5
- package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
- package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
- package/dist/cjs/components/PickerContent/PickerContent.st.css.js +2 -2
- package/dist/cjs/components/PickerContent/PickerContent.st.css.js.map +1 -1
- package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js +4 -4
- package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
- package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
- package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
- package/dist/cjs/components/SchemaSource/schemaFieldManagement.js +36 -12
- 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/SetupStepGroup.js +39 -23
- package/dist/cjs/components/SetupWidget/SetupStepGroup.js.map +1 -1
- package/dist/cjs/components/SetupWidget/SetupStepRow.js +91 -68
- package/dist/cjs/components/SetupWidget/SetupStepRow.js.map +1 -1
- package/dist/cjs/components/SetupWidget/SetupStepSecondaryCta.js +69 -0
- package/dist/cjs/components/SetupWidget/SetupStepSecondaryCta.js.map +1 -0
- package/dist/cjs/components/SetupWidget/SetupWidget.js +16 -13
- package/dist/cjs/components/SetupWidget/SetupWidget.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/SetupWidget/SetupWidget.uni.driver.js +9 -0
- package/dist/cjs/components/SetupWidget/SetupWidget.uni.driver.js.map +1 -1
- package/dist/cjs/components/SetupWidget/index.js.map +1 -1
- package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
- package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
- package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
- package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
- package/dist/cjs/components/Table/AddFieldColumnHeader.st.css.js +4 -4
- package/dist/cjs/components/Table/AddFieldColumnHeader.st.css.js.map +1 -1
- package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +3 -3
- package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
- package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
- package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
- package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
- package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js.map +1 -1
- package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
- package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
- package/dist/cjs/components/common.st.css.js +4 -4
- package/dist/cjs/components/common.st.css.js.map +1 -1
- package/dist/cjs/hooks/useCreateWSRColumnBase.js +8 -6
- package/dist/cjs/hooks/useCreateWSRColumnBase.js.map +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/model/tableColumn.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 -4
- package/dist/cjs/state/EditableTable/CellValueState.js.map +1 -1
- package/dist/cjs/state/EditableTable/EditableTableState.js +5 -1
- package/dist/cjs/state/EditableTable/EditableTableState.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.map +1 -1
- package/dist/cjs/state/buildEditableFieldColumns.js +1 -0
- package/dist/cjs/state/buildEditableFieldColumns.js.map +1 -1
- package/dist/cjs/state/buildFieldColumns.js +2 -1
- package/dist/cjs/state/buildFieldColumns.js.map +1 -1
- package/dist/cjs/state/buildFieldFilters.js +35 -4
- package/dist/cjs/state/buildFieldFilters.js.map +1 -1
- package/dist/cjs/styles.global.css +2 -2
- package/dist/cjs/utils/fieldTypePrefixIcons.js +27 -7
- package/dist/cjs/utils/fieldTypePrefixIcons.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/docs/CustomFieldType.md +407 -0
- package/dist/docs/MultiAutoInlineCheckboxFilter.md +1 -1
- package/dist/docs/MultiInlineCheckboxFilter.md +1 -1
- package/dist/docs/TableColumn.md +1 -0
- package/dist/docs/index.json +23 -23
- 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/Sections/ValidationAndDefaultsSection.st.css.js +2 -2
- package/dist/esm/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.js +2 -2
- package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
- package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
- package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +2 -2
- package/dist/esm/components/CollectionTable/CollectionTable.st.css.js +2 -2
- package/dist/esm/components/CollectionTable/CollectionTableWSRTable.st.css.js +2 -2
- package/dist/esm/components/CollectionTable/CollectionTableWSRTable.st.css.js.map +1 -1
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
- package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
- package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
- package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
- package/dist/esm/components/CustomColumnsPanel/ColumnListTableListItem.js +4 -1
- package/dist/esm/components/CustomColumnsPanel/ColumnListTableListItem.js.map +1 -1
- package/dist/esm/components/CustomFieldFilters/HasValueCustomFieldFilter.js +30 -0
- package/dist/esm/components/CustomFieldFilters/HasValueCustomFieldFilter.js.map +1 -0
- package/dist/esm/components/CustomFieldModal/CustomFieldTypeDropdown.js +2 -0
- package/dist/esm/components/CustomFieldModal/CustomFieldTypeDropdown.js.map +1 -1
- package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
- package/dist/esm/components/EditableTable/EditableCell.js +22 -24
- package/dist/esm/components/EditableTable/EditableCell.js.map +1 -1
- package/dist/esm/components/EditableTable/EditableCell.st.css +41 -8
- 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 +8 -2
- package/dist/esm/components/EditableTable/EditableCell.uni.driver.js.map +1 -1
- package/dist/esm/components/EditableTable/EditableTable.js +6 -1
- package/dist/esm/components/EditableTable/EditableTable.js.map +1 -1
- package/dist/esm/components/EditableTable/EditableTable.uni.driver.js +4 -0
- package/dist/esm/components/EditableTable/EditableTable.uni.driver.js.map +1 -1
- package/dist/esm/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/CellViewLayout.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/address/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/array/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/color/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/date/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/date/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/Edit.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/datetime/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/multiReference/View.js +1 -1
- package/dist/esm/components/EditableTable/cellTypes/multiReference/View.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/number/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/object/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/richContent/index.js +2 -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/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/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/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 +27 -0
- package/dist/esm/components/EntityPageFields/EntityPageCustomField.js.map +1 -0
- package/dist/esm/components/EntityPageFields/EntityPageField.js +23 -13
- package/dist/esm/components/EntityPageFields/EntityPageField.js.map +1 -1
- package/dist/esm/components/EntityPageFields/EntityPageFields.js +2 -1
- package/dist/esm/components/EntityPageFields/EntityPageFields.js.map +1 -1
- package/dist/esm/components/Fade/Fade.st.css.js +2 -2
- package/dist/esm/components/Fade/Fade.st.css.js.map +1 -1
- 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/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/NestedTableDragAndDropRow.st.css.js +2 -2
- package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
- package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
- package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
- package/dist/esm/components/SchemaSource/schemaFieldManagement.js +52 -28
- 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/SetupWidget/SetupStepGroup.js +6 -1
- package/dist/esm/components/SetupWidget/SetupStepGroup.js.map +1 -1
- package/dist/esm/components/SetupWidget/SetupStepRow.js +21 -15
- package/dist/esm/components/SetupWidget/SetupStepRow.js.map +1 -1
- package/dist/esm/components/SetupWidget/SetupStepSecondaryCta.js +20 -0
- package/dist/esm/components/SetupWidget/SetupStepSecondaryCta.js.map +1 -0
- package/dist/esm/components/SetupWidget/SetupWidget.js +5 -3
- package/dist/esm/components/SetupWidget/SetupWidget.js.map +1 -1
- package/dist/esm/components/SetupWidget/SetupWidget.st.css.js +2 -2
- package/dist/esm/components/SetupWidget/SetupWidget.uni.driver.js +10 -1
- package/dist/esm/components/SetupWidget/SetupWidget.uni.driver.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.st.css.js +2 -2
- package/dist/esm/components/Table/AddFieldColumnHeader.st.css.js +2 -2
- package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
- package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
- package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
- package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
- package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
- package/dist/esm/components/common.st.css.js +2 -2
- package/dist/esm/hooks/useCreateWSRColumnBase.js +2 -2
- package/dist/esm/hooks/useCreateWSRColumnBase.js.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/model/tableColumn.js.map +1 -1
- package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
- package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
- package/dist/esm/state/EditableTable/CellValueState.js +14 -0
- package/dist/esm/state/EditableTable/CellValueState.js.map +1 -1
- package/dist/esm/state/EditableTable/EditableTableState.js +7 -1
- package/dist/esm/state/EditableTable/EditableTableState.js.map +1 -1
- package/dist/esm/state/FormPage/FormPageHeader.st.css.js +2 -2
- package/dist/esm/state/TagsCollectionState.js.map +1 -1
- package/dist/esm/state/buildEditableFieldColumns.js +1 -1
- package/dist/esm/state/buildEditableFieldColumns.js.map +1 -1
- package/dist/esm/state/buildFieldColumns.js +1 -0
- package/dist/esm/state/buildFieldColumns.js.map +1 -1
- package/dist/esm/state/buildFieldFilters.js +31 -0
- package/dist/esm/state/buildFieldFilters.js.map +1 -1
- package/dist/esm/styles.global.css +2 -2
- package/dist/esm/utils/fieldTypePrefixIcons.js +6 -1
- package/dist/esm/utils/fieldTypePrefixIcons.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/types/components/CollectionTable/CollectionTableWSRTable.st.css.d.ts.map +1 -1
- package/dist/types/components/CustomColumnsPanel/ColumnListTableListItem.d.ts.map +1 -1
- package/dist/types/components/CustomFieldFilters/HasValueCustomFieldFilter.d.ts +24 -0
- package/dist/types/components/CustomFieldFilters/HasValueCustomFieldFilter.d.ts.map +1 -0
- package/dist/types/components/CustomFieldModal/CustomFieldTypeDropdown.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 +8 -2
- package/dist/types/components/EditableTable/EditableCell.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/EditableCell.uni.driver.d.ts +7 -6
- package/dist/types/components/EditableTable/EditableCell.uni.driver.d.ts.map +1 -1
- package/dist/types/components/EditableTable/EditableTable.d.ts +1 -1
- package/dist/types/components/EditableTable/EditableTable.d.ts.map +1 -1
- package/dist/types/components/EditableTable/EditableTable.uni.driver.d.ts +52 -42
- package/dist/types/components/EditableTable/EditableTable.uni.driver.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/CellViewLayout.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/boolean/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/date/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/datetime/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/email/View.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/number/View.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/richContent/index.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/text/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/text/View.st.css.d.ts.map +1 -1
- package/dist/types/components/EntityPageFields/EntityPageCustomField.d.ts +14 -0
- package/dist/types/components/EntityPageFields/EntityPageCustomField.d.ts.map +1 -0
- package/dist/types/components/EntityPageFields/EntityPageField.d.ts +4 -2
- package/dist/types/components/EntityPageFields/EntityPageField.d.ts.map +1 -1
- package/dist/types/components/EntityPageFields/EntityPageFields.d.ts.map +1 -1
- package/dist/types/components/Fade/Fade.st.css.d.ts.map +1 -1
- package/dist/types/components/MaxHeightText/MaxHeightText.st.css.d.ts.map +1 -1
- package/dist/types/components/SchemaSource/schemaFieldManagement.d.ts.map +1 -1
- package/dist/types/components/SetupWidget/SetupStepGroup.d.ts +3 -1
- package/dist/types/components/SetupWidget/SetupStepGroup.d.ts.map +1 -1
- package/dist/types/components/SetupWidget/SetupStepRow.d.ts +3 -1
- package/dist/types/components/SetupWidget/SetupStepRow.d.ts.map +1 -1
- package/dist/types/components/SetupWidget/SetupStepSecondaryCta.d.ts +14 -0
- package/dist/types/components/SetupWidget/SetupStepSecondaryCta.d.ts.map +1 -0
- package/dist/types/components/SetupWidget/SetupWidget.d.ts +7 -1
- package/dist/types/components/SetupWidget/SetupWidget.d.ts.map +1 -1
- package/dist/types/components/SetupWidget/SetupWidget.uni.driver.d.ts +8 -0
- package/dist/types/components/SetupWidget/SetupWidget.uni.driver.d.ts.map +1 -1
- package/dist/types/components/SetupWidget/index.d.ts +1 -1
- package/dist/types/components/SetupWidget/index.d.ts.map +1 -1
- package/dist/types/components/SkeletonCard/SkeletonCard.st.css.d.ts.map +1 -1
- package/dist/types/components/ToolbarItemBox/ToolbarItemBox.st.css.d.ts.map +1 -1
- package/dist/types/hooks/useCreateWSRColumnBase.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/model/tableColumn.d.ts +19 -1
- package/dist/types/model/tableColumn.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 +4 -0
- package/dist/types/state/EditableTable/CellValueState.d.ts.map +1 -1
- package/dist/types/state/EditableTable/EditableTableState.d.ts.map +1 -1
- package/dist/types/state/buildEditableFieldColumns.d.ts +2 -1
- package/dist/types/state/buildEditableFieldColumns.d.ts.map +1 -1
- package/dist/types/state/buildFieldColumns.d.ts.map +1 -1
- package/dist/types/state/buildFieldFilters.d.ts.map +1 -1
- package/dist/types/testkit/jsdom.d.ts +7 -2
- package/dist/types/testkit/jsdom.d.ts.map +1 -1
- package/dist/types/testkit/playwright.d.ts +3 -2
- package/dist/types/testkit/playwright.d.ts.map +1 -1
- package/dist/types/testkit/puppeteer.d.ts +3 -2
- package/dist/types/testkit/puppeteer.d.ts.map +1 -1
- package/dist/types/utils/fieldTypePrefixIcons.d.ts +8 -2
- package/dist/types/utils/fieldTypePrefixIcons.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +7 -7
- package/src/components/CardContainer/CardContainer.st.css.ts +2 -2
- package/src/components/CmsFieldManagement/CmsFieldForm.st.css.ts +2 -2
- package/src/components/CmsFieldManagement/CmsFieldModal.st.css.ts +2 -2
- package/src/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.ts +2 -2
- package/src/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.ts +2 -2
- package/src/components/Collapse/Collapse.st.css.ts +2 -2
- package/src/components/CollectionPageNew/CollectionPage.st.css.ts +2 -2
- package/src/components/CollectionSectionHeader/CollectionSectionHeader.st.css.ts +2 -2
- package/src/components/CollectionTable/CollectionTable.st.css.ts +2 -2
- package/src/components/CollectionTable/CollectionTableWSRTable.st.css.ts +2 -2
- package/src/components/CollectionToolbar/CollectionToolbar.st.css.ts +2 -2
- package/src/components/CollectionToolbar/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/CustomColumnsPanel/ColumnListTableListItem.tsx +4 -1
- package/src/components/CustomFieldFilters/HasValueCustomFieldFilter.tsx +48 -0
- package/src/components/CustomFieldModal/CustomFieldTypeDropdown.tsx +2 -0
- package/src/components/DragHandle/DragHandle.st.css.ts +2 -2
- package/src/components/EditableTable/EditableCell.st.css +41 -8
- package/src/components/EditableTable/EditableCell.st.css.ts +3 -3
- package/src/components/EditableTable/EditableCell.tsx +57 -51
- package/src/components/EditableTable/EditableCell.uni.driver.ts +10 -3
- package/src/components/EditableTable/EditableTable.tsx +9 -0
- package/src/components/EditableTable/EditableTable.uni.driver.ts +8 -0
- 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/multiReference/View.tsx +1 -1
- 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/index.tsx +4 -1
- 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 +61 -0
- package/src/components/EntityPageFields/EntityPageField.tsx +45 -17
- package/src/components/EntityPageFields/EntityPageFields.tsx +5 -0
- package/src/components/Fade/Fade.st.css.ts +2 -2
- package/src/components/Heading/Heading.st.css.ts +2 -2
- package/src/components/ImportButton/ImportStepUpload.st.css.ts +2 -2
- package/src/components/InputOverflow/InputOverflow.st.css.ts +2 -2
- package/src/components/LoadingRow/LoadingRow.st.css.ts +3 -3
- package/src/components/MaxHeightText/MaxHeightText.st.css.ts +2 -2
- package/src/components/MaxLines/MaxLines.st.css.ts +2 -2
- package/src/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.ts +2 -2
- package/src/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.ts +2 -2
- package/src/components/NestedTable/NestedTableRow.st.css.ts +2 -2
- package/src/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.ts +2 -2
- package/src/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.ts +2 -2
- package/src/components/PickerContent/PickerContent.st.css.ts +2 -2
- package/src/components/PickerContent/PickerContentAdditionalStep.st.css.ts +2 -2
- package/src/components/PickerTableListItem/PickerTableListItem.st.css.ts +2 -2
- package/src/components/SchemaSource/schemaFieldManagement.ts +59 -31
- package/src/components/ScrollableContent/ScrollableContent.st.css.ts +2 -2
- package/src/components/SetupWidget/SetupStepGroup.tsx +16 -0
- package/src/components/SetupWidget/SetupStepRow.tsx +49 -30
- package/src/components/SetupWidget/SetupStepSecondaryCta.tsx +58 -0
- package/src/components/SetupWidget/SetupWidget.st.css.ts +2 -2
- package/src/components/SetupWidget/SetupWidget.tsx +15 -0
- package/src/components/SetupWidget/SetupWidget.uni.driver.ts +18 -0
- package/src/components/SetupWidget/index.ts +1 -0
- package/src/components/SkeletonCard/SkeletonCard.st.css.ts +2 -2
- package/src/components/SlidingModal/SlidingModal.st.css.ts +2 -2
- package/src/components/Table/AddFieldColumnHeader.st.css.ts +2 -2
- package/src/components/TabsFilter/TabsFilter.st.css.ts +2 -2
- package/src/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.ts +2 -2
- package/src/components/ToolbarItem/ToolbarItem.st.css.ts +2 -2
- package/src/components/ToolbarItemBox/ToolbarItemBox.st.css.ts +2 -2
- package/src/components/common.st.css.ts +2 -2
- package/src/hooks/useCreateWSRColumnBase.tsx +12 -3
- package/src/index.ts +3 -0
- package/src/model/tableColumn.ts +13 -1
- package/src/state/CollectionPage/CollectionPageHeader.st.css.ts +2 -2
- package/src/state/EditableTable/CellValueState.ts +20 -0
- package/src/state/EditableTable/EditableTableState.ts +13 -1
- package/src/state/FormPage/FormPageHeader.st.css.ts +2 -2
- package/src/state/TagsCollectionState.ts +3 -3
- package/src/state/buildEditableFieldColumns.ts +1 -1
- package/src/state/buildFieldColumns.tsx +1 -0
- package/src/state/buildFieldFilters.tsx +31 -0
- package/src/styles.global.css +2 -2
- package/src/utils/fieldTypePrefixIcons.tsx +13 -0
- package/src/version.ts +1 -1
|
@@ -14,6 +14,8 @@ A **custom field type** is a consumer-defined field that plugs into every schema
|
|
|
14
14
|
- `value` — value semantics (`defaultValue`, `isEmpty`, `validate`) used by every surface.
|
|
15
15
|
- `capabilities` — e.g. `sortable`.
|
|
16
16
|
- `actions` — extra items on the field's "more actions" menus.
|
|
17
|
+
- `form` — the field's input in the entity-page form.
|
|
18
|
+
- `fieldModal` — opts the type into the add/edit-field modal's type picker, so users can create fields of this type.
|
|
17
19
|
- `display` — the type's label and icons in field menus.
|
|
18
20
|
|
|
19
21
|
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.
|
|
@@ -410,6 +412,359 @@ function CustomFieldTypeSpreadsheet() {
|
|
|
410
412
|
}
|
|
411
413
|
```
|
|
412
414
|
|
|
415
|
+
### Add-field modal
|
|
416
|
+
|
|
417
|
+
What you get: a custom type users can create fields of. The `fieldModal` slot opts the Progress type into the add-field modal — click the "+" header button, pick "Progress" in the type picker (it shows the definition's label, icons, subtitle, and group), name it, and confirm. The new field arrives at the source's `fieldActions.addField` as `{ type: 'CUSTOM', customType: 'docs.progress' }` and its column appears immediately, rendered by the type's `editableTable` slot. Requires `schemaPermissions.createField` and `fieldActions.addField` on the source. Note the picker offers only what the source declares (`fieldModal.types`) plus creatable custom types, and persistence belongs to the source's `FieldActions` — this demo stores fields in memory, so they reset on refresh; a source backed by a real service persists them (see the API tab).
|
|
418
|
+
|
|
419
|
+
```tsx
|
|
420
|
+
import React from 'react';
|
|
421
|
+
import { CollectionPage } from '@wix/patterns/page';
|
|
422
|
+
import { EditableTable, defineFieldType } from '@wix/patterns';
|
|
423
|
+
import type { EditableColumn, Field } from '@wix/patterns';
|
|
424
|
+
import {
|
|
425
|
+
useSchemaSource,
|
|
426
|
+
useEditableTableCollection,
|
|
427
|
+
} from '@wix/patterns/schema';
|
|
428
|
+
import type {
|
|
429
|
+
CollectionBackend,
|
|
430
|
+
FieldActions,
|
|
431
|
+
LoadedSchema,
|
|
432
|
+
Schema,
|
|
433
|
+
} from '@wix/patterns/schema';
|
|
434
|
+
|
|
435
|
+
type Task = { id: string; name: string; progress?: number };
|
|
436
|
+
|
|
437
|
+
function CustomFieldTypeFieldModal() {
|
|
438
|
+
// Plain object store (the live-example scope shadows the global `Map`).
|
|
439
|
+
const [store] = React.useState<{ tasks: Task[]; nextId: number }>(() => ({
|
|
440
|
+
nextId: 4,
|
|
441
|
+
tasks: [
|
|
442
|
+
{ id: '1', name: 'Design homepage', progress: 80 },
|
|
443
|
+
{ id: '2', name: 'Set up payments', progress: 100 },
|
|
444
|
+
{ id: '3', name: 'Write product descriptions', progress: 25 },
|
|
445
|
+
],
|
|
446
|
+
}));
|
|
447
|
+
|
|
448
|
+
const clamp = (value: number) =>
|
|
449
|
+
Math.max(0, Math.min(100, Math.round(value) || 0));
|
|
450
|
+
|
|
451
|
+
const ProgressCellView = ({ value }: { value: number }) => (
|
|
452
|
+
<div style={{ display: 'flex', alignItems: 'center', gap: '8px' }}>
|
|
453
|
+
<div
|
|
454
|
+
style={{
|
|
455
|
+
width: '80px',
|
|
456
|
+
height: '6px',
|
|
457
|
+
borderRadius: '3px',
|
|
458
|
+
background: '#DFE5EB',
|
|
459
|
+
overflow: 'hidden',
|
|
460
|
+
}}
|
|
461
|
+
>
|
|
462
|
+
<div
|
|
463
|
+
style={{
|
|
464
|
+
width: `${clamp(value ?? 0)}%`,
|
|
465
|
+
height: '100%',
|
|
466
|
+
background: '#3899EC',
|
|
467
|
+
}}
|
|
468
|
+
/>
|
|
469
|
+
</div>
|
|
470
|
+
<span>{clamp(value ?? 0)}%</span>
|
|
471
|
+
</div>
|
|
472
|
+
);
|
|
473
|
+
|
|
474
|
+
const progressFieldType = defineFieldType<number>({
|
|
475
|
+
type: 'docs.progress',
|
|
476
|
+
display: {
|
|
477
|
+
label: 'Progress',
|
|
478
|
+
icons: { Small: () => <span>%</span>, Medium: () => <span>%</span> },
|
|
479
|
+
},
|
|
480
|
+
filter: { filterable: false },
|
|
481
|
+
value: { defaultValue: 0, isEmpty: (v) => v == null },
|
|
482
|
+
capabilities: { sortable: true },
|
|
483
|
+
editableTable: {
|
|
484
|
+
ViewComponent: ProgressCellView,
|
|
485
|
+
serialize: (v) => String(clamp(v ?? 0)),
|
|
486
|
+
deserialize: (raw) => clamp(parseFloat(raw)),
|
|
487
|
+
},
|
|
488
|
+
// Opts the type into the add-field modal: it shows in the type picker with
|
|
489
|
+
// the definition's label and icons, and a created field arrives at the
|
|
490
|
+
// source's addField as { type: 'CUSTOM', customType: 'docs.progress' }.
|
|
491
|
+
fieldModal: {
|
|
492
|
+
creatable: true,
|
|
493
|
+
namePlaceholder: 'e.g. Progress',
|
|
494
|
+
subtitle: 'A 0–100% progress bar',
|
|
495
|
+
group: 'Custom types',
|
|
496
|
+
},
|
|
497
|
+
});
|
|
498
|
+
|
|
499
|
+
const [schema] = React.useState<Schema>(() => ({
|
|
500
|
+
id: 'docs-custom-field-type-modal',
|
|
501
|
+
fields: {},
|
|
502
|
+
displayField: 'name',
|
|
503
|
+
idField: 'id',
|
|
504
|
+
itemPermissions: { createItem: true, updateItem: true, deleteItem: true },
|
|
505
|
+
// Enables the add-field flow — the editable table shows the "+" header
|
|
506
|
+
// button, which opens the add-field modal.
|
|
507
|
+
schemaPermissions: {
|
|
508
|
+
createField: true,
|
|
509
|
+
updateField: true,
|
|
510
|
+
deleteField: true,
|
|
511
|
+
},
|
|
512
|
+
}));
|
|
513
|
+
|
|
514
|
+
// In-memory field CRUD: each mutation returns the updated fields map, which
|
|
515
|
+
// the source merges into the loaded schema so the columns update in place.
|
|
516
|
+
const fieldActions: FieldActions = {
|
|
517
|
+
addField: async (field) => {
|
|
518
|
+
schema.fields = { ...schema.fields, [field.id]: field };
|
|
519
|
+
return schema.fields;
|
|
520
|
+
},
|
|
521
|
+
editField: async (fieldId, updates) => {
|
|
522
|
+
const existing = schema.fields[fieldId];
|
|
523
|
+
if (existing) {
|
|
524
|
+
schema.fields = {
|
|
525
|
+
...schema.fields,
|
|
526
|
+
[fieldId]: { ...existing, ...updates } as Field,
|
|
527
|
+
};
|
|
528
|
+
}
|
|
529
|
+
return schema.fields;
|
|
530
|
+
},
|
|
531
|
+
deleteField: async (fieldId) => {
|
|
532
|
+
const rest = { ...schema.fields };
|
|
533
|
+
delete rest[fieldId];
|
|
534
|
+
schema.fields = rest;
|
|
535
|
+
return schema.fields;
|
|
536
|
+
},
|
|
537
|
+
};
|
|
538
|
+
|
|
539
|
+
const backend: CollectionBackend<Task> = {
|
|
540
|
+
find: async ({ search = '', sort = [] }) => {
|
|
541
|
+
const found = store.tasks.filter((task) =>
|
|
542
|
+
task.name.toLowerCase().includes(search.toLowerCase()),
|
|
543
|
+
);
|
|
544
|
+
if (sort.length) {
|
|
545
|
+
const [{ fieldName, order }] = sort;
|
|
546
|
+
found.sort((a, b) => {
|
|
547
|
+
const left = a[fieldName as keyof Task] ?? 0;
|
|
548
|
+
const right = b[fieldName as keyof Task] ?? 0;
|
|
549
|
+
const diff = left < right ? -1 : left > right ? 1 : 0;
|
|
550
|
+
return order === 'asc' ? diff : -diff;
|
|
551
|
+
});
|
|
552
|
+
}
|
|
553
|
+
return { items: found, total: found.length };
|
|
554
|
+
},
|
|
555
|
+
create: async (entity) => {
|
|
556
|
+
const created = { id: `task-${store.nextId++}`, name: '', ...entity };
|
|
557
|
+
store.tasks = [...store.tasks, created];
|
|
558
|
+
return created;
|
|
559
|
+
},
|
|
560
|
+
update: async (entity) => {
|
|
561
|
+
store.tasks = store.tasks.map((task) =>
|
|
562
|
+
task.id === entity.id ? entity : task,
|
|
563
|
+
);
|
|
564
|
+
return entity;
|
|
565
|
+
},
|
|
566
|
+
bulkDelete: async (entityIds) => {
|
|
567
|
+
store.tasks = store.tasks.filter((task) => !entityIds.includes(task.id));
|
|
568
|
+
},
|
|
569
|
+
};
|
|
570
|
+
|
|
571
|
+
const loadSchema = async (): Promise<LoadedSchema<Task>> => ({
|
|
572
|
+
schema,
|
|
573
|
+
backend,
|
|
574
|
+
fieldActions,
|
|
575
|
+
});
|
|
576
|
+
|
|
577
|
+
const columns: EditableColumn<Task>[] = [
|
|
578
|
+
{
|
|
579
|
+
id: 'name',
|
|
580
|
+
title: 'Name',
|
|
581
|
+
cellType: 'text',
|
|
582
|
+
getValue: (task) => task.name,
|
|
583
|
+
setValue: (task, value) => ({ ...task, name: value }),
|
|
584
|
+
width: 220,
|
|
585
|
+
},
|
|
586
|
+
];
|
|
587
|
+
|
|
588
|
+
const source = useSchemaSource<Task>({
|
|
589
|
+
collectionId: 'docs-custom-field-type-modal',
|
|
590
|
+
loadSchema,
|
|
591
|
+
fieldTypes: [progressFieldType],
|
|
592
|
+
// The modal renders only what the source declares: these standard picker
|
|
593
|
+
// options plus every creatable custom type (appended automatically).
|
|
594
|
+
fieldModal: {
|
|
595
|
+
text: {
|
|
596
|
+
addTitle: 'Add a field',
|
|
597
|
+
editTitle: 'Edit field',
|
|
598
|
+
},
|
|
599
|
+
types: [
|
|
600
|
+
{
|
|
601
|
+
patternsType: 'SHORT_TEXT',
|
|
602
|
+
label: 'Text',
|
|
603
|
+
subtitle: 'Titles, paragraph',
|
|
604
|
+
group: 'Essentials',
|
|
605
|
+
},
|
|
606
|
+
{
|
|
607
|
+
patternsType: 'NUMBER',
|
|
608
|
+
label: 'Number',
|
|
609
|
+
subtitle: 'ID, rating, order number',
|
|
610
|
+
group: 'Essentials',
|
|
611
|
+
},
|
|
612
|
+
],
|
|
613
|
+
},
|
|
614
|
+
});
|
|
615
|
+
const state = useEditableTableCollection<Task>(source);
|
|
616
|
+
|
|
617
|
+
return (
|
|
618
|
+
<CollectionPage height="400px">
|
|
619
|
+
<CollectionPage.Header title={{ text: 'Tasks' }} />
|
|
620
|
+
<CollectionPage.Content>
|
|
621
|
+
<EditableTable state={state} columns={columns} />
|
|
622
|
+
</CollectionPage.Content>
|
|
623
|
+
</CollectionPage>
|
|
624
|
+
);
|
|
625
|
+
}
|
|
626
|
+
```
|
|
627
|
+
|
|
628
|
+
### Entity-page form
|
|
629
|
+
|
|
630
|
+
What you get: the custom type in the entity-page form. The `form` slot's component renders only the Progress input — it receives `value`/`onChange` props, and the entity page owns the form wiring (registration on the form, validation from the definition's `value.validate`) and the field UI (label, required marker, error message). Without a `form` slot, an entity page rendering the field throws in development (production skips it). Try it: change the progress, save from the header, and the value round-trips through the source's backend.
|
|
631
|
+
|
|
632
|
+
```tsx
|
|
633
|
+
import React from 'react';
|
|
634
|
+
import { defineFieldType } from '@wix/patterns';
|
|
635
|
+
import type { Field, FormFieldComponentProps } from '@wix/patterns';
|
|
636
|
+
import { useForm } from '@wix/patterns/form';
|
|
637
|
+
import {
|
|
638
|
+
EntityPage,
|
|
639
|
+
EntityPageFieldsCard,
|
|
640
|
+
useEntityPage,
|
|
641
|
+
useSchemaSource,
|
|
642
|
+
} from '@wix/patterns/schema';
|
|
643
|
+
import type {
|
|
644
|
+
CollectionBackend,
|
|
645
|
+
LoadedSchema,
|
|
646
|
+
Schema,
|
|
647
|
+
} from '@wix/patterns/schema';
|
|
648
|
+
import { Input } from '@wix/design-system';
|
|
649
|
+
|
|
650
|
+
type Task = { id: string; name: string; progress?: number };
|
|
651
|
+
|
|
652
|
+
function CustomFieldTypeEntityPage() {
|
|
653
|
+
// Plain object store (the live-example scope shadows the global `Map`).
|
|
654
|
+
const [store] = React.useState<{ task: Task }>(() => ({
|
|
655
|
+
task: { id: '1', name: 'Design homepage', progress: 80 },
|
|
656
|
+
}));
|
|
657
|
+
|
|
658
|
+
const clamp = (value: number) =>
|
|
659
|
+
Math.max(0, Math.min(100, Math.round(value) || 0));
|
|
660
|
+
|
|
661
|
+
// The entity-page form input. The entity page owns the form wiring and the
|
|
662
|
+
// field UI (label, error message from the definition's value.validate) —
|
|
663
|
+
// this renders only the input.
|
|
664
|
+
const ProgressFormField = ({
|
|
665
|
+
value,
|
|
666
|
+
onChange,
|
|
667
|
+
onBlur,
|
|
668
|
+
}: FormFieldComponentProps<number>) => (
|
|
669
|
+
<Input
|
|
670
|
+
type="number"
|
|
671
|
+
min={0}
|
|
672
|
+
max={100}
|
|
673
|
+
suffix={<Input.Affix>%</Input.Affix>}
|
|
674
|
+
value={String(value ?? 0)}
|
|
675
|
+
// parseFloat, not Number — the example scope shadows `Number`.
|
|
676
|
+
onChange={(event) => onChange(clamp(parseFloat(event.target.value)))}
|
|
677
|
+
onBlur={onBlur}
|
|
678
|
+
/>
|
|
679
|
+
);
|
|
680
|
+
|
|
681
|
+
const progressFieldType = defineFieldType<number>({
|
|
682
|
+
type: 'docs.progress',
|
|
683
|
+
display: {
|
|
684
|
+
label: 'Progress',
|
|
685
|
+
icons: { Small: () => <span>%</span>, Medium: () => <span>%</span> },
|
|
686
|
+
},
|
|
687
|
+
filter: { filterable: false },
|
|
688
|
+
value: {
|
|
689
|
+
defaultValue: 0,
|
|
690
|
+
isEmpty: (v) => v == null,
|
|
691
|
+
// Runs on every surface that validates the field — the entity-page
|
|
692
|
+
// form wires it into its own validation.
|
|
693
|
+
validate: (v) =>
|
|
694
|
+
v != null && (v < 0 || v > 100)
|
|
695
|
+
? 'Progress must be between 0 and 100'
|
|
696
|
+
: null,
|
|
697
|
+
},
|
|
698
|
+
// Required once the field renders on an entity page — development throws
|
|
699
|
+
// without it; production skips the field.
|
|
700
|
+
form: { Component: ProgressFormField },
|
|
701
|
+
});
|
|
702
|
+
|
|
703
|
+
const progressField: Field = {
|
|
704
|
+
id: 'progress',
|
|
705
|
+
displayName: 'Progress',
|
|
706
|
+
type: 'CUSTOM',
|
|
707
|
+
customType: 'docs.progress',
|
|
708
|
+
};
|
|
709
|
+
|
|
710
|
+
const schema: Schema = {
|
|
711
|
+
id: 'docs-custom-field-type-entity-page',
|
|
712
|
+
fields: {
|
|
713
|
+
name: { id: 'name', displayName: 'Name', type: 'SHORT_TEXT' } as Field,
|
|
714
|
+
progress: progressField,
|
|
715
|
+
},
|
|
716
|
+
displayField: 'name',
|
|
717
|
+
idField: 'id',
|
|
718
|
+
};
|
|
719
|
+
|
|
720
|
+
// The entity page reads and writes the entity through the source's backend:
|
|
721
|
+
// `fetch` derives from `get`, saving from `update`.
|
|
722
|
+
const backend: CollectionBackend<Task> = {
|
|
723
|
+
find: async () => ({ items: [store.task], total: 1 }),
|
|
724
|
+
get: async () => store.task,
|
|
725
|
+
update: async (entity) => {
|
|
726
|
+
store.task = entity;
|
|
727
|
+
return entity;
|
|
728
|
+
},
|
|
729
|
+
};
|
|
730
|
+
|
|
731
|
+
const loadSchema = async (): Promise<LoadedSchema<Task>> => ({
|
|
732
|
+
schema,
|
|
733
|
+
backend,
|
|
734
|
+
});
|
|
735
|
+
|
|
736
|
+
const source = useSchemaSource<Task>({
|
|
737
|
+
collectionId: 'docs-custom-field-type-entity-page',
|
|
738
|
+
loadSchema,
|
|
739
|
+
fieldTypes: [progressFieldType],
|
|
740
|
+
});
|
|
741
|
+
|
|
742
|
+
const form = useForm();
|
|
743
|
+
const state = useEntityPage<Task>(source, {
|
|
744
|
+
parentPageId: '',
|
|
745
|
+
form,
|
|
746
|
+
entityId: '1',
|
|
747
|
+
saveSuccessToast: 'Saved',
|
|
748
|
+
saveErrorToast: () => 'Failed to save',
|
|
749
|
+
});
|
|
750
|
+
|
|
751
|
+
return (
|
|
752
|
+
<EntityPage state={state} dataHook="docs-custom-field-type-entity-page">
|
|
753
|
+
<EntityPage.Header title={{ text: store.task.name }} />
|
|
754
|
+
<EntityPage.Content>
|
|
755
|
+
<EntityPage.MainContent>
|
|
756
|
+
<EntityPageFieldsCard
|
|
757
|
+
title="Fields"
|
|
758
|
+
subtitle="The Progress field renders through its `form` slot"
|
|
759
|
+
minHeight="204px"
|
|
760
|
+
/>
|
|
761
|
+
</EntityPage.MainContent>
|
|
762
|
+
</EntityPage.Content>
|
|
763
|
+
</EntityPage>
|
|
764
|
+
);
|
|
765
|
+
}
|
|
766
|
+
```
|
|
767
|
+
|
|
413
768
|
## API
|
|
414
769
|
|
|
415
770
|
### Overview
|
|
@@ -472,6 +827,56 @@ Items appear on every field-actions menu (editable table column header, manage-f
|
|
|
472
827
|
|
|
473
828
|
- `items?: Array` — `disabledTooltip` returning a string disables the item and shows the tooltip.
|
|
474
829
|
|
|
830
|
+
#### `form` — the entity-page form input
|
|
831
|
+
|
|
832
|
+
Required once a field of this type renders on an entity page — development throws a clear error without it; production skips the field.
|
|
833
|
+
|
|
834
|
+
- `Component` — receives `FormFieldComponentProps` (`field`, `value`, `onChange(value)`, `onBlur`, `dataHook?`) and renders only the input. The entity page owns the form wiring and the field UI: it registers the field on the form (seeding the value from the entity, falling back to `value.defaultValue`), runs `value.validate` on it, and wraps the component in a WDS `FormField` with the label, required marker, and error message.
|
|
835
|
+
|
|
836
|
+
#### `fieldModal` — the add/edit-field modal (opt-in)
|
|
837
|
+
|
|
838
|
+
Absent ⇒ the modal never offers this type. With it, the type shows in the add-field type picker (using `display.label` and `display.icons`), and a created field arrives at the source's `FieldActions.addField` as `{ type: 'CUSTOM', customType: }`. Requires the source to support field creation (`schemaPermissions.createField` + `fieldActions.addField`).
|
|
839
|
+
|
|
840
|
+
- `creatable: boolean` — true ⇒ offered in the picker.
|
|
841
|
+
- `namePlaceholder?: string` — placeholder for the name input; absent ⇒ the modal's generic placeholder.
|
|
842
|
+
- `subtitle?: string` — one-line description under the type in the picker.
|
|
843
|
+
- `group?: string` — group heading the type is listed under.
|
|
844
|
+
- `supportsPii?: boolean` — absent ⇒ follows the source-wide setting.
|
|
845
|
+
- `piiWarning?: () => FieldPiiWarning | undefined` — warning shown while the PII toggle is on.
|
|
846
|
+
- `settingsSection?: FieldSettingsSection` — the type's own collapsible settings section (`Component`, `hasError`, `getValues`, `setValues`); its values reach the source's `addField`/`editField` as `settings`, untouched.
|
|
847
|
+
|
|
848
|
+
##### What the modal offers, and who persists it
|
|
849
|
+
|
|
850
|
+
The modal renders only what the source declares — there is no built-in list of standard types, because offering a type is a promise the source's backend can store it. A source adapter declares its creatable set once (`fieldModal.types` on the source, e.g. `useCmsSchemaSource` declares the types `@wix/data` can create); creatable custom types are appended to that set automatically.
|
|
851
|
+
|
|
852
|
+
Saving goes through the source's `FieldActions` — **persistence is the source's responsibility, Cairo only routes the modal's confirm**:
|
|
853
|
+
|
|
854
|
+
```ts
|
|
855
|
+
const fieldActions: FieldActions = {
|
|
856
|
+
// Called on confirm with the new field — a custom type arrives as
|
|
857
|
+
// { type: 'CUSTOM', customType } — plus the settings section's values.
|
|
858
|
+
// Persist it in your service, then return the collection's updated fields
|
|
859
|
+
// map; Cairo merges it into the loaded schema so the columns update
|
|
860
|
+
// without a reload.
|
|
861
|
+
addField: async (field, settings) => {
|
|
862
|
+
await myService.createField(collectionId, field, settings);
|
|
863
|
+
return (await myService.getSchema(collectionId)).fields;
|
|
864
|
+
},
|
|
865
|
+
editField: async (fieldId, updates, settings) => {
|
|
866
|
+
await myService.updateField(collectionId, fieldId, updates, settings);
|
|
867
|
+
return (await myService.getSchema(collectionId)).fields;
|
|
868
|
+
},
|
|
869
|
+
deleteField: async (fieldId) => {
|
|
870
|
+
await myService.deleteField(collectionId, fieldId);
|
|
871
|
+
return (await myService.getSchema(collectionId)).fields;
|
|
872
|
+
},
|
|
873
|
+
};
|
|
874
|
+
|
|
875
|
+
const loadSchema = async () => ({ schema, backend, fieldActions });
|
|
876
|
+
```
|
|
877
|
+
|
|
878
|
+
Your backend must be able to store and serve fields of the custom type — that verification is the consumer's responsibility. The live examples here keep fields in memory, so their changes reset on refresh; a source backed by a real service (e.g. the CMS adapter, which calls the collection APIs) persists them.
|
|
879
|
+
|
|
475
880
|
|
|
476
881
|
### Props
|
|
477
882
|
|
|
@@ -481,5 +886,7 @@ Items appear on every field-actions menu (editable table column header, manage-f
|
|
|
481
886
|
| `filter` | `FilterTypeConfig \| { filterable: false; }` | Yes | - | Filter behavior, or an explicit opt-out — never silently absent. |
|
|
482
887
|
| `table` | `TableCellConfig<V>` | No | - | Absent ⇒ the field renders with the default cell in the read-only table. |
|
|
483
888
|
| `editableTable` | `EditableCellConfig<V>` | No | - | Absent ⇒ the field renders as a read-only cell in editable surfaces. |
|
|
889
|
+
| `form` | `FormTypeConfig<V>` | No | - | Required once a field of this type renders on an entity page: development throws without it; production skips the field. |
|
|
484
890
|
| `actions` | `FieldActionsConfig` | No | - | Extra items for the field's "more actions" menu. |
|
|
891
|
+
| `fieldModal` | `FieldModalConfig` | No | - | Absent ⇒ the add/edit field modal never offers this type. Fields of the type created elsewhere still open in the modal for name/PII edits. |
|
|
485
892
|
|
|
@@ -65,9 +65,9 @@ import { MultiAutoInlineCheckboxFilter } from '@wix/patterns';
|
|
|
65
65
|
| `align` | `"right" \| "left" \| "center" \| "space-between"` | No | - | Defines how the children are aligned according to the X axis |
|
|
66
66
|
| `page` | `Page` | No | - | This feature is well established and works across many devices and browser versions. It’s been available across browsers since February 2023. **Syntax**: `auto \| <custom-ident>` **Initial value**: `auto` \| Chrome \| Firefox \| Safari \| Edge \| IE \| \| :----: \| :-----: \| :----: \| :----: \| :-: \| \| **85** \| **110** \| **1** \| **85** \| No \| @see https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/page |
|
|
67
67
|
| `inline` | `boolean` | No | - | Defines if the box behaves as an inline element |
|
|
68
|
+
| `minHeight` | `any` | No | - | Sets the minimum height of the box in pixels This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015. **Syntax**: `auto \| <length-percentage [0,∞]> \| min-content \| max-content \| fit-content \| fit-content(<length-percentage [0,∞]>) \| <calc-size()> \| <anchor-size()>` **Initial value**: `auto` \| Chrome \| Firefox \| Safari \| Edge \| IE \| \| :----: \| :-----: \| :-----: \| :----: \| :---: \| \| **1** \| **3** \| **1.3** \| **12** \| **7** \| @see https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/min-height |
|
|
68
69
|
| `width` | `any` | No | - | Sets the width of the box in pixels This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015. **Syntax**: `auto \| <length-percentage [0,∞]> \| min-content \| max-content \| fit-content \| fit-content(<length-percentage [0,∞]>) \| <calc-size()> \| <anchor-size()>` **Initial value**: `auto` \| Chrome \| Firefox \| Safari \| Edge \| IE \| \| :----: \| :-----: \| :----: \| :----: \| :---: \| \| **1** \| **1** \| **1** \| **12** \| **4** \| @see https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/width |
|
|
69
70
|
| `zIndex` | `ZIndex` | No | - | This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015. **Syntax**: `auto \| <integer>` **Initial value**: `auto` \| Chrome \| Firefox \| Safari \| Edge \| IE \| \| :----: \| :-----: \| :----: \| :----: \| :---: \| \| **1** \| **1** \| **1** \| **12** \| **4** \| @see https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/z-index |
|
|
70
|
-
| `minHeight` | `any` | No | - | Sets the minimum height of the box in pixels This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015. **Syntax**: `auto \| <length-percentage [0,∞]> \| min-content \| max-content \| fit-content \| fit-content(<length-percentage [0,∞]>) \| <calc-size()> \| <anchor-size()>` **Initial value**: `auto` \| Chrome \| Firefox \| Safari \| Edge \| IE \| \| :----: \| :-----: \| :-----: \| :----: \| :---: \| \| **1** \| **3** \| **1.3** \| **12** \| **7** \| @see https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/min-height |
|
|
71
71
|
| `grid` | `Grid` | No | - | This feature is well established and works across many devices and browser versions. It’s been available across browsers since October 2017. **Syntax**: `<'grid-template'> \| <'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>? \| [ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'>` \| Chrome \| Firefox \| Safari \| Edge \| IE \| \| :----: \| :-----: \| :------: \| :----: \| :-: \| \| **57** \| **52** \| **10.1** \| **16** \| No \| @see https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/grid |
|
|
72
72
|
| `fill` | `Fill` | No | - | This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2017. **Syntax**: `<paint>` **Initial value**: `black` \| Chrome \| Firefox \| Safari \| Edge \| IE \| \| :----: \| :-----: \| :----: \| :-----: \| :-: \| \| **1** \| **3** \| **4** \| **≤15** \| No \| @see https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/fill |
|
|
73
73
|
| `container` | `Container` | No | - | This feature is well established and works across many devices and browser versions. It’s been available across browsers since February 2023. **Syntax**: `<'container-name'> [ / <'container-type'> ]?` \| Chrome \| Firefox \| Safari \| Edge \| IE \| \| :-----: \| :-----: \| :----: \| :-----: \| :-: \| \| **105** \| **110** \| **16** \| **105** \| No \| @see https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/container |
|
|
@@ -86,9 +86,9 @@ function BasicMultiInlineCheckboxFilter() {
|
|
|
86
86
|
| `align` | `"right" \| "left" \| "center" \| "space-between"` | No | - | Defines how the children are aligned according to the X axis |
|
|
87
87
|
| `page` | `Page` | No | - | This feature is well established and works across many devices and browser versions. It’s been available across browsers since February 2023. **Syntax**: `auto \| <custom-ident>` **Initial value**: `auto` \| Chrome \| Firefox \| Safari \| Edge \| IE \| \| :----: \| :-----: \| :----: \| :----: \| :-: \| \| **85** \| **110** \| **1** \| **85** \| No \| @see https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/page |
|
|
88
88
|
| `inline` | `boolean` | No | - | Defines if the box behaves as an inline element |
|
|
89
|
+
| `minHeight` | `any` | No | - | Sets the minimum height of the box in pixels This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015. **Syntax**: `auto \| <length-percentage [0,∞]> \| min-content \| max-content \| fit-content \| fit-content(<length-percentage [0,∞]>) \| <calc-size()> \| <anchor-size()>` **Initial value**: `auto` \| Chrome \| Firefox \| Safari \| Edge \| IE \| \| :----: \| :-----: \| :-----: \| :----: \| :---: \| \| **1** \| **3** \| **1.3** \| **12** \| **7** \| @see https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/min-height |
|
|
89
90
|
| `width` | `any` | No | - | Sets the width of the box in pixels This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015. **Syntax**: `auto \| <length-percentage [0,∞]> \| min-content \| max-content \| fit-content \| fit-content(<length-percentage [0,∞]>) \| <calc-size()> \| <anchor-size()>` **Initial value**: `auto` \| Chrome \| Firefox \| Safari \| Edge \| IE \| \| :----: \| :-----: \| :----: \| :----: \| :---: \| \| **1** \| **1** \| **1** \| **12** \| **4** \| @see https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/width |
|
|
90
91
|
| `zIndex` | `ZIndex` | No | - | This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015. **Syntax**: `auto \| <integer>` **Initial value**: `auto` \| Chrome \| Firefox \| Safari \| Edge \| IE \| \| :----: \| :-----: \| :----: \| :----: \| :---: \| \| **1** \| **1** \| **1** \| **12** \| **4** \| @see https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/z-index |
|
|
91
|
-
| `minHeight` | `any` | No | - | Sets the minimum height of the box in pixels This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015. **Syntax**: `auto \| <length-percentage [0,∞]> \| min-content \| max-content \| fit-content \| fit-content(<length-percentage [0,∞]>) \| <calc-size()> \| <anchor-size()>` **Initial value**: `auto` \| Chrome \| Firefox \| Safari \| Edge \| IE \| \| :----: \| :-----: \| :-----: \| :----: \| :---: \| \| **1** \| **3** \| **1.3** \| **12** \| **7** \| @see https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/min-height |
|
|
92
92
|
| `grid` | `Grid` | No | - | This feature is well established and works across many devices and browser versions. It’s been available across browsers since October 2017. **Syntax**: `<'grid-template'> \| <'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>? \| [ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'>` \| Chrome \| Firefox \| Safari \| Edge \| IE \| \| :----: \| :-----: \| :------: \| :----: \| :-: \| \| **57** \| **52** \| **10.1** \| **16** \| No \| @see https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/grid |
|
|
93
93
|
| `fill` | `Fill` | No | - | This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2017. **Syntax**: `<paint>` **Initial value**: `black` \| Chrome \| Firefox \| Safari \| Edge \| IE \| \| :----: \| :-----: \| :----: \| :-----: \| :-: \| \| **1** \| **3** \| **4** \| **≤15** \| No \| @see https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/fill |
|
|
94
94
|
| `container` | `Container` | No | - | This feature is well established and works across many devices and browser versions. It’s been available across browsers since February 2023. **Syntax**: `<'container-name'> [ / <'container-type'> ]?` \| Chrome \| Firefox \| Safari \| Edge \| IE \| \| :-----: \| :-----: \| :----: \| :-----: \| :-: \| \| **105** \| **110** \| **16** \| **105** \| No \| @see https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/container |
|
package/dist/docs/TableColumn.md
CHANGED
|
@@ -37,4 +37,5 @@ A column of a [`Table`](./?path=/story/base-components-collections-table-table--
|
|
|
37
37
|
| `render` | `(row: any, rowNum: number) => ReactNode` | Yes | - | A callback that is called for each row in the data to display the value of this row for the specified column. |
|
|
38
38
|
| `mobile` | `ColumnMobileConfig` | No | - | Mobile column configuration. Determines how this column is displayed on mobile devices. - column: 'first' - Stacks vertically with other 'first' columns - column: 'second' - Displays as standalone second column - undefined - Hidden on mobile |
|
|
39
39
|
| `fieldType` | `"SHORT_TEXT" \| "LONG_TEXT" \| "NUMBER" \| "BOOLEAN" \| "DATE" \| "DATE_TIME" \| "DATETIME" \| "TIME" \| "URL" \| "EMAIL" \| "IMAGE" \| "MEDIA_GALLERY" \| "AUDIO" \| "DOCUMENT" \| "MULTI_DOCUMENT" \| "RICH_TEXT" \| "RICH_CONTENT" \| "REFERENCE" \| "MULTI_REFERENCE" \| "OBJECT" \| "ARRAY" \| "ADDRESS" \| "COLOR" \| "INTEGER" \| "DECIMAL" \| "CHECKBOX" \| "DROPDOWN" \| "FILES" \| "MULTI_SELECT"` | No | - | The field type string used to resolve a prefix icon for the column. Cairo maps this to the appropriate icon internally. |
|
|
40
|
+
| `fieldTypeIcons` | `{ Small: ComponentType<{}>; Medium: ComponentType<{}>; }` | No | - | Explicit prefix icons for the column (e.g. a custom field type's `display.icons`). When present, used instead of the `fieldType` mapping. |
|
|
40
41
|
|
package/dist/docs/index.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
|
-
"ActionSubItem": {
|
|
3
|
-
"file": "ActionSubItem.md",
|
|
4
|
-
"category": "Common/Types"
|
|
5
|
-
},
|
|
6
2
|
"AI Assistant": {
|
|
7
3
|
"file": "AI Assistant.md",
|
|
8
4
|
"category": "Integrations/AI Assistant"
|
|
9
5
|
},
|
|
6
|
+
"ActionSubItem": {
|
|
7
|
+
"file": "ActionSubItem.md",
|
|
8
|
+
"category": "Common/Types"
|
|
9
|
+
},
|
|
10
10
|
"AutoCompleteFilter": {
|
|
11
11
|
"file": "AutoCompleteFilter.md",
|
|
12
12
|
"category": "Features/Filter/Components"
|
|
@@ -23,14 +23,14 @@
|
|
|
23
23
|
"file": "CollectionNoResultsState.md",
|
|
24
24
|
"category": "Features/Display/Empty States"
|
|
25
25
|
},
|
|
26
|
-
"CollectionPage": {
|
|
27
|
-
"file": "CollectionPage.md",
|
|
28
|
-
"category": "Base Components/Pages/Collection Page"
|
|
29
|
-
},
|
|
30
26
|
"CollectionOptimisticActions": {
|
|
31
27
|
"file": "CollectionOptimisticActions.md",
|
|
32
28
|
"category": "Features/Actions/Updates"
|
|
33
29
|
},
|
|
30
|
+
"CollectionPage": {
|
|
31
|
+
"file": "CollectionPage.md",
|
|
32
|
+
"category": "Base Components/Pages/Collection Page"
|
|
33
|
+
},
|
|
34
34
|
"CollectionPage.Content": {
|
|
35
35
|
"file": "CollectionPage.Content.md",
|
|
36
36
|
"category": "Base Components/Pages/Collection Page"
|
|
@@ -47,26 +47,26 @@
|
|
|
47
47
|
"file": "CollectionSearch.md",
|
|
48
48
|
"category": "Features/Filter/Components"
|
|
49
49
|
},
|
|
50
|
-
"CollectionSubToolbar": {
|
|
51
|
-
"file": "CollectionSubToolbar.md",
|
|
52
|
-
"category": "Common/Components"
|
|
53
|
-
},
|
|
54
50
|
"CollectionToolbar": {
|
|
55
51
|
"file": "CollectionToolbar.md",
|
|
56
52
|
"category": "Common/Components"
|
|
57
53
|
},
|
|
54
|
+
"CollectionSubToolbar": {
|
|
55
|
+
"file": "CollectionSubToolbar.md",
|
|
56
|
+
"category": "Common/Components"
|
|
57
|
+
},
|
|
58
58
|
"ToolbarFilters": {
|
|
59
59
|
"file": "ToolbarFilters.md",
|
|
60
60
|
"category": "Features/Filter/Components"
|
|
61
61
|
},
|
|
62
|
-
"CustomColumns": {
|
|
63
|
-
"file": "CustomColumns.md",
|
|
64
|
-
"category": "Features/Display/Custom Columns"
|
|
65
|
-
},
|
|
66
62
|
"CustomFieldType": {
|
|
67
63
|
"file": "CustomFieldType.md",
|
|
68
64
|
"category": "Features/Enrich/Custom Field Types"
|
|
69
65
|
},
|
|
66
|
+
"CustomColumns": {
|
|
67
|
+
"file": "CustomColumns.md",
|
|
68
|
+
"category": "Features/Display/Custom Columns"
|
|
69
|
+
},
|
|
70
70
|
"CustomFieldsViewWidget": {
|
|
71
71
|
"file": "CustomFieldsViewWidget.md",
|
|
72
72
|
"category": "Features/Enrich/Data Extension/Components"
|
|
@@ -75,10 +75,6 @@
|
|
|
75
75
|
"file": "CustomFieldsWidget.md",
|
|
76
76
|
"category": "Features/Enrich/Data Extension/Components"
|
|
77
77
|
},
|
|
78
|
-
"DateRangeFilter": {
|
|
79
|
-
"file": "DateRangeFilter.md",
|
|
80
|
-
"category": "Features/Filter/Components"
|
|
81
|
-
},
|
|
82
78
|
"EntityPage": {
|
|
83
79
|
"file": "EntityPage.md",
|
|
84
80
|
"category": "Base Components/Pages/Entity Page"
|
|
@@ -87,14 +83,18 @@
|
|
|
87
83
|
"file": "EntityPage.AdditionalContent.md",
|
|
88
84
|
"category": "Base Components/Pages/Entity Page"
|
|
89
85
|
},
|
|
90
|
-
"
|
|
91
|
-
"file": "
|
|
92
|
-
"category": "
|
|
86
|
+
"DateRangeFilter": {
|
|
87
|
+
"file": "DateRangeFilter.md",
|
|
88
|
+
"category": "Features/Filter/Components"
|
|
93
89
|
},
|
|
94
90
|
"EntityPage.Content": {
|
|
95
91
|
"file": "EntityPage.Content.md",
|
|
96
92
|
"category": "Base Components/Pages/Entity Page"
|
|
97
93
|
},
|
|
94
|
+
"EntityPage.Card": {
|
|
95
|
+
"file": "EntityPage.Card.md",
|
|
96
|
+
"category": "Base Components/Pages/Entity Page"
|
|
97
|
+
},
|
|
98
98
|
"EntityPage.Header": {
|
|
99
99
|
"file": "EntityPage.Header.md",
|
|
100
100
|
"category": "Base Components/Pages/Entity Page"
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
2
|
import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
|
|
3
|
-
var _namespace_ = "
|
|
3
|
+
var _namespace_ = "CardContainer4012966892";
|
|
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": "CardContainer4012966892__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_ = "CmsFieldForm3516791577";
|
|
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": "CmsFieldForm3516791577__root", "fullBleedDivider": "CmsFieldForm3516791577__fullBleedDivider" };
|
|
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_ = "CmsFieldModal2279318908";
|
|
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": "CmsFieldModal2279318908__root", "modal": "CmsFieldModal2279318908__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_ = "ValidationAndDefaultsSection3388606183";
|
|
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": "ValidationAndDefaultsSection3388606183__root", "accordionWrapper": "ValidationAndDefaultsSection3388606183__accordionWrapper" };
|
|
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_ = "CharactersLimitInput1150986335";
|
|
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": "CharactersLimitInput1150986335__root", "field": "CharactersLimitInput1150986335__field" };
|
|
10
10
|
export var keyframes = {};
|
|
11
11
|
export var layers = {};
|
|
12
12
|
export var containers = {};
|