@wix/patterns 1.366.0 → 1.369.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/Collapse/Collapse.st.css.js +3 -3
- package/dist/cjs/components/Collapse/Collapse.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
- package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +3 -3
- package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js +2 -2
- package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.js +6 -3
- package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.js.map +1 -1
- package/dist/cjs/components/CollectionToolbar/CollectionToolbar.js +25 -30
- package/dist/cjs/components/CollectionToolbar/CollectionToolbar.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/CollectionToolbarActionsGroupProps.js.map +1 -1
- package/dist/cjs/components/CollectionToolbar/CollectionToolbarActionsGroupResponsiveLayout.js +66 -17
- package/dist/cjs/components/CollectionToolbar/CollectionToolbarActionsGroupResponsiveLayout.js.map +1 -1
- package/dist/cjs/components/CollectionToolbar/CollectionToolbarActionsToolbarItemsGroup.js +22 -14
- package/dist/cjs/components/CollectionToolbar/CollectionToolbarActionsToolbarItemsGroup.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/CollectionToolbar/ToolbarOverflowMenu.js +329 -0
- package/dist/cjs/components/CollectionToolbar/ToolbarOverflowMenu.js.map +1 -0
- package/dist/cjs/components/CollectionToolbar/useToolbarOverflowItems.js +85 -0
- package/dist/cjs/components/CollectionToolbar/useToolbarOverflowItems.js.map +1 -0
- 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/CtaProps.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/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/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 +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/email/Edit.js +59 -0
- package/dist/cjs/components/EditableTable/cellTypes/email/Edit.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css +4 -0
- package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js +23 -0
- package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/email/Edit.uni.driver.js +20 -0
- package/dist/cjs/components/EditableTable/cellTypes/email/Edit.uni.driver.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/email/View.js +23 -0
- package/dist/cjs/components/EditableTable/cellTypes/email/View.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css +4 -0
- package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js +23 -0
- package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/email/View.uni.driver.js +12 -0
- package/dist/cjs/components/EditableTable/cellTypes/email/View.uni.driver.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/email/index.js +31 -0
- package/dist/cjs/components/EditableTable/cellTypes/email/index.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/index.js +5 -1
- package/dist/cjs/components/EditableTable/cellTypes/index.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/number/Edit.js +4 -9
- package/dist/cjs/components/EditableTable/cellTypes/number/Edit.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.js +4 -5
- package/dist/cjs/components/EditableTable/cellTypes/number/View.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.js +79 -0
- package/dist/cjs/components/EditableTable/cellTypes/object/Edit.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css +4 -0
- package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css.js +23 -0
- package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/object/Edit.uni.driver.js +20 -0
- package/dist/cjs/components/EditableTable/cellTypes/object/Edit.uni.driver.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/object/View.js +30 -0
- package/dist/cjs/components/EditableTable/cellTypes/object/View.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css +4 -0
- package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js +23 -0
- package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/object/View.uni.driver.js +12 -0
- package/dist/cjs/components/EditableTable/cellTypes/object/View.uni.driver.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/object/index.js +45 -0
- package/dist/cjs/components/EditableTable/cellTypes/object/index.js.map +1 -0
- 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/select/View.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/select/View.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 +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/text/View.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/useCellFocusAndEditing.js +15 -0
- package/dist/cjs/components/EditableTable/useCellFocusAndEditing.js.map +1 -1
- package/dist/cjs/components/EditableTable/useKeyboardNavigation.js +10 -0
- package/dist/cjs/components/EditableTable/useKeyboardNavigation.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/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/ScrollableContent/ScrollableContent.st.css.js +2 -2
- package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
- package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
- package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
- package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
- package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
- package/dist/cjs/components/TableGridSwitchButton/TableGridSwitchButton.js +14 -38
- package/dist/cjs/components/TableGridSwitchButton/TableGridSwitchButton.js.map +1 -1
- package/dist/cjs/components/TableGridSwitchButton/layoutConfig.js +34 -0
- package/dist/cjs/components/TableGridSwitchButton/layoutConfig.js.map +1 -0
- package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +3 -3
- package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
- package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
- package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
- package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
- package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js.map +1 -1
- package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
- package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
- package/dist/cjs/components/common.st.css.js +4 -4
- package/dist/cjs/components/common.st.css.js.map +1 -1
- package/dist/cjs/hooks/useStaticListFilterCollection.js +2 -1
- package/dist/cjs/hooks/useStaticListFilterCollection.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/CellInteractionState.js +65 -0
- package/dist/cjs/state/EditableTable/CellInteractionState.js.map +1 -1
- package/dist/cjs/state/EditableTable/types.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/TableState.js +2 -0
- package/dist/cjs/state/TableState.js.map +1 -1
- package/dist/cjs/state/Toolbar/ToolbarResponsiveState.js +38 -4
- package/dist/cjs/state/Toolbar/ToolbarResponsiveState.js.map +1 -1
- package/dist/cjs/state/Toolbar/computeResponsiveTargetState.js +56 -17
- package/dist/cjs/state/Toolbar/computeResponsiveTargetState.js.map +1 -1
- package/dist/cjs/state/Toolbar/toolbarResponsiveConstants.js +5 -1
- package/dist/cjs/state/Toolbar/toolbarResponsiveConstants.js.map +1 -1
- package/dist/cjs/styles.global.css +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/docs/AI Assistant.md +171 -0
- package/dist/docs/ActionCellProps.md +40 -0
- package/dist/docs/ActionSubItem.md +24 -0
- package/dist/docs/Allow Users to Add Extended Fields.md +194 -0
- package/dist/docs/AutoCompleteFilter.md +276 -0
- package/dist/docs/BulkActionModalRenderProp.md +22 -0
- package/dist/docs/BulkSelectState.md +18 -0
- package/dist/docs/Category.md +19 -0
- package/dist/docs/CollectionEmptyState.md +240 -0
- package/dist/docs/CollectionErrorState.md +107 -0
- package/dist/docs/CollectionNoResultsState.md +116 -0
- package/dist/docs/CollectionOptimisticActions.md +1074 -0
- package/dist/docs/CollectionPage.Content.md +154 -0
- package/dist/docs/CollectionPage.Header.md +216 -0
- package/dist/docs/CollectionPage.md +183 -0
- package/dist/docs/CollectionPremiumEmptyState.md +115 -0
- package/dist/docs/CollectionSearch.md +345 -0
- package/dist/docs/CollectionSection.md +16 -0
- package/dist/docs/CollectionState.md +29 -0
- package/dist/docs/CollectionSubToolbar.md +14 -0
- package/dist/docs/CollectionToolbar.md +18 -0
- package/dist/docs/Component Tests.md +191 -0
- package/dist/docs/ComputedQuery.md +45 -0
- package/dist/docs/CtaBaseProps.md +19 -0
- package/dist/docs/CustomColumns.md +916 -0
- package/dist/docs/CustomFieldsViewWidget.md +191 -0
- package/dist/docs/CustomFieldsWidget.md +635 -0
- package/dist/docs/Data Extension Overview.md +85 -0
- package/dist/docs/DataResultRaw.md +25 -0
- package/dist/docs/DateRangeFilter.md +202 -0
- package/dist/docs/Display Extended Fields.md +244 -0
- package/dist/docs/Enable Filters for Extended Fields.md +243 -0
- package/dist/docs/EntityPage.AdditionalContent.md +25 -0
- package/dist/docs/EntityPage.Card.md +250 -0
- package/dist/docs/EntityPage.Content.md +24 -0
- package/dist/docs/EntityPage.Header.md +260 -0
- package/dist/docs/EntityPage.MainContent.md +24 -0
- package/dist/docs/EntityPage.Slots.md +75 -0
- package/dist/docs/EntityPage.md +1030 -0
- package/dist/docs/EntityPageState.md +23 -0
- package/dist/docs/Explore Apps.md +170 -0
- package/dist/docs/ExportTo.md +894 -0
- package/dist/docs/Filter Overview.md +448 -0
- package/dist/docs/FilterProps.md +26 -0
- package/dist/docs/FormPageState.md +17 -0
- package/dist/docs/Grid Sections.md +170 -0
- package/dist/docs/Grid.md +598 -0
- package/dist/docs/GridDragAndDrop.md +131 -0
- package/dist/docs/GridFolders.md +259 -0
- package/dist/docs/GridFoldersSection.md +16 -0
- package/dist/docs/GridFoldersState.md +20 -0
- package/dist/docs/GridSectionsProp.md +22 -0
- package/dist/docs/GridState.md +22 -0
- package/dist/docs/Highlighted Search.md +114 -0
- package/dist/docs/InMemoryBackend.md +81 -0
- package/dist/docs/Indeterminate.md +273 -0
- package/dist/docs/Internal Scroll.md +236 -0
- package/dist/docs/More Actions.md +1015 -0
- package/dist/docs/MoreActionsItem.md +33 -0
- package/dist/docs/MultiAutoInlineCheckboxFilter.md +850 -0
- package/dist/docs/MultiBulkActionToolbar.md +1174 -0
- package/dist/docs/MultiInlineCheckboxFilter.md +871 -0
- package/dist/docs/MultiLevelSorting.md +376 -0
- package/dist/docs/MultiSelectCheckboxFilter.md +369 -0
- package/dist/docs/MultiSelectCollectionFilter.md +218 -0
- package/dist/docs/NestedTable.md +1101 -0
- package/dist/docs/NestedTableLevel.md +24 -0
- package/dist/docs/NestedTableNodeState.md +23 -0
- package/dist/docs/NestedTableOptimisticActions.md +21 -0
- package/dist/docs/NestedTableState.md +21 -0
- package/dist/docs/Next.js.md +143 -0
- package/dist/docs/NumberRangeFilter.md +230 -0
- package/dist/docs/OperatorFilterPicker.md +195 -0
- package/dist/docs/PageWrapper.md +50 -0
- package/dist/docs/PatternsReactRoute.md +31 -0
- package/dist/docs/PatternsReactRouter.md +24 -0
- package/dist/docs/PickerContent.md +129 -0
- package/dist/docs/PickerModal.md +680 -0
- package/dist/docs/PickerStandalone.md +332 -0
- package/dist/docs/PrimaryActionButton.md +323 -0
- package/dist/docs/PrimaryActions.md +173 -0
- package/dist/docs/PrimaryPageButton.md +140 -0
- package/dist/docs/RadioGroupFilter.md +73 -0
- package/dist/docs/RequestId.md +58 -0
- package/dist/docs/SecondaryActions.md +175 -0
- package/dist/docs/SettingsPage.AdditionalContent.md +25 -0
- package/dist/docs/SettingsPage.Card.md +246 -0
- package/dist/docs/SettingsPage.Content.md +24 -0
- package/dist/docs/SettingsPage.Header.md +176 -0
- package/dist/docs/SettingsPage.MainContent.md +24 -0
- package/dist/docs/SettingsPage.md +680 -0
- package/dist/docs/SettingsPageState.md +22 -0
- package/dist/docs/SingleSelectFilter.md +401 -0
- package/dist/docs/Sled Tests.md +109 -0
- package/dist/docs/Sortable Columns.md +250 -0
- package/dist/docs/Suggestions.md +370 -0
- package/dist/docs/SummaryBar.md +515 -0
- package/dist/docs/Table Sections.md +473 -0
- package/dist/docs/Table.md +1065 -0
- package/dist/docs/TableColumn.md +35 -0
- package/dist/docs/TableDragAndDrop.md +502 -0
- package/dist/docs/TableFolders.md +419 -0
- package/dist/docs/TableFoldersState.md +22 -0
- package/dist/docs/TableGridSwitch.md +298 -0
- package/dist/docs/TableGridSwitchDragAndDrop.md +170 -0
- package/dist/docs/TableGridSwitchFolders.md +446 -0
- package/dist/docs/TableGridSwitchFoldersState.md +22 -0
- package/dist/docs/TableGridSwitchState.md +23 -0
- package/dist/docs/TableSectionsProp.md +22 -0
- package/dist/docs/TableState.md +24 -0
- package/dist/docs/TableTopNotification.md +314 -0
- package/dist/docs/TabsFilter.md +484 -0
- package/dist/docs/Tags Overview.md +118 -0
- package/dist/docs/Tags.md +718 -0
- package/dist/docs/TagsWidget.md +419 -0
- package/dist/docs/ToolbarCollectionState.md +19 -0
- package/dist/docs/ToolbarFilters.md +1588 -0
- package/dist/docs/ToolbarSecondaryActions.md +383 -0
- package/dist/docs/ToolbarTitle.md +324 -0
- package/dist/docs/View.md +23 -0
- package/dist/docs/Views.md +786 -0
- package/dist/docs/WidgetsFormProvider.md +61 -0
- package/dist/docs/WixPatternsBMProvider.md +31 -0
- package/dist/docs/WixPatternsBaseProvider.md +87 -0
- package/dist/docs/WixPatternsEssentialsProvider.md +43 -0
- package/dist/docs/WixPatternsGizaProvider.md +37 -0
- package/dist/docs/WixPatternsProvider.md +68 -0
- package/dist/docs/Working with Cache.md +114 -0
- package/dist/docs/arrayFilter.md +226 -0
- package/dist/docs/bulkActionModal.md +40 -0
- package/dist/docs/createNestedTableLevel.md +24 -0
- package/dist/docs/createNestedTableSingleEntityLevels.md +20 -0
- package/dist/docs/customFilter.md +182 -0
- package/dist/docs/dateRangeFilter.md +55 -0
- package/dist/docs/deleteSecondaryAction.md +122 -0
- package/dist/docs/idNameArrayFilter.md +206 -0
- package/dist/docs/index.json +662 -0
- package/dist/docs/operatorFilter.md +183 -0
- package/dist/docs/stringFilter.md +204 -0
- package/dist/docs/stringsArrayFilter.md +118 -0
- package/dist/docs/useAmbassadorCollection.md +45 -0
- package/dist/docs/useCollection.md +61 -0
- package/dist/docs/useCreateCollection.md +32 -0
- package/dist/docs/useCreateNestedOptimisticActions.md +21 -0
- package/dist/docs/useEntity.md +44 -0
- package/dist/docs/useEntityPage.md +57 -0
- package/dist/docs/useEntityPageContext.md +28 -0
- package/dist/docs/useFilterCollection.md +163 -0
- package/dist/docs/useGridCollection.md +58 -0
- package/dist/docs/useGridFolders.md +25 -0
- package/dist/docs/useItemsSelectionFilter.md +60 -0
- package/dist/docs/useNestedTable.md +66 -0
- package/dist/docs/useOptimisticActions.md +1288 -0
- package/dist/docs/usePatternsNavigate.md +57 -0
- package/dist/docs/usePickerContent.md +61 -0
- package/dist/docs/usePickerModal.md +68 -0
- package/dist/docs/usePickerStandalone.md +56 -0
- package/dist/docs/useSelector.md +181 -0
- package/dist/docs/useSettingsPage.md +54 -0
- package/dist/docs/useSettingsPageContext.md +28 -0
- package/dist/docs/useStaticListFilterCollection.md +194 -0
- package/dist/docs/useTableCollection.md +58 -0
- package/dist/docs/useTableFolders.md +25 -0
- package/dist/docs/useTableGridSwitchCollection.md +58 -0
- package/dist/docs/useTableGridSwitchFolders.md +25 -0
- package/dist/docs/useWidgetsFormContext.md +19 -0
- package/dist/esm/components/CardContainer/CardContainer.st.css.js +2 -2
- package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
- package/dist/esm/components/Collapse/Collapse.st.css.js.map +1 -1
- package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
- package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js.map +1 -1
- package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +2 -2
- package/dist/esm/components/CollectionTable/CollectionTable.st.css.js +2 -2
- package/dist/esm/components/CollectionTable/CollectionTableWSRTable.js +3 -1
- package/dist/esm/components/CollectionTable/CollectionTableWSRTable.js.map +1 -1
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.js +3 -2
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.js.map +1 -1
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
- package/dist/esm/components/CollectionToolbar/CollectionToolbarActionsGroupResponsiveLayout.js +39 -6
- package/dist/esm/components/CollectionToolbar/CollectionToolbarActionsGroupResponsiveLayout.js.map +1 -1
- package/dist/esm/components/CollectionToolbar/CollectionToolbarActionsToolbarItemsGroup.js +2 -1
- package/dist/esm/components/CollectionToolbar/CollectionToolbarActionsToolbarItemsGroup.js.map +1 -1
- package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
- package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
- package/dist/esm/components/CollectionToolbar/ToolbarOverflowMenu.js +110 -0
- package/dist/esm/components/CollectionToolbar/ToolbarOverflowMenu.js.map +1 -0
- package/dist/esm/components/CollectionToolbar/useToolbarOverflowItems.js +74 -0
- package/dist/esm/components/CollectionToolbar/useToolbarOverflowItems.js.map +1 -0
- package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
- package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
- package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
- package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
- package/dist/esm/components/EditableTable/EditableCell.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/date/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/date/View.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/email/Edit.js +21 -0
- package/dist/esm/components/EditableTable/cellTypes/email/Edit.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css +4 -0
- package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js +15 -0
- package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/email/Edit.uni.driver.js +13 -0
- package/dist/esm/components/EditableTable/cellTypes/email/Edit.uni.driver.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/email/View.js +5 -0
- package/dist/esm/components/EditableTable/cellTypes/email/View.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/email/View.st.css +4 -0
- package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js +15 -0
- package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/email/View.uni.driver.js +8 -0
- package/dist/esm/components/EditableTable/cellTypes/email/View.uni.driver.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/email/index.js +22 -0
- package/dist/esm/components/EditableTable/cellTypes/email/index.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/index.js +5 -1
- package/dist/esm/components/EditableTable/cellTypes/index.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/number/Edit.js +2 -5
- package/dist/esm/components/EditableTable/cellTypes/number/Edit.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.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/number/View.js.map +1 -1
- 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.js +39 -0
- package/dist/esm/components/EditableTable/cellTypes/object/Edit.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/object/Edit.st.css +4 -0
- package/dist/esm/components/EditableTable/cellTypes/object/Edit.st.css.js +15 -0
- package/dist/esm/components/EditableTable/cellTypes/object/Edit.st.css.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/object/Edit.uni.driver.js +13 -0
- package/dist/esm/components/EditableTable/cellTypes/object/Edit.uni.driver.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/object/View.js +5 -0
- package/dist/esm/components/EditableTable/cellTypes/object/View.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/object/View.st.css +4 -0
- package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js +15 -0
- package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/object/View.uni.driver.js +8 -0
- package/dist/esm/components/EditableTable/cellTypes/object/View.uni.driver.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/object/index.js +47 -0
- package/dist/esm/components/EditableTable/cellTypes/object/index.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/select/View.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/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/useCellFocusAndEditing.js +15 -1
- package/dist/esm/components/EditableTable/useCellFocusAndEditing.js.map +1 -1
- package/dist/esm/components/EditableTable/useKeyboardNavigation.js +10 -0
- package/dist/esm/components/EditableTable/useKeyboardNavigation.js.map +1 -1
- 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/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/ImportButton/ImportStepUpload.st.css.js.map +1 -1
- 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/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
- 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/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
- 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/ScrollableContent/ScrollableContent.st.css.js +2 -2
- package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
- package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
- package/dist/esm/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
- package/dist/esm/components/TableGridSwitchButton/TableGridSwitchButton.js +2 -12
- package/dist/esm/components/TableGridSwitchButton/TableGridSwitchButton.js.map +1 -1
- package/dist/esm/components/TableGridSwitchButton/layoutConfig.js +14 -0
- package/dist/esm/components/TableGridSwitchButton/layoutConfig.js.map +1 -0
- package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
- package/dist/esm/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
- package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
- package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
- package/dist/esm/components/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/common.st.css.js +2 -2
- package/dist/esm/hooks/useStaticListFilterCollection.js +1 -0
- package/dist/esm/hooks/useStaticListFilterCollection.js.map +1 -1
- package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
- package/dist/esm/state/EditableTable/CellInteractionState.js +58 -0
- package/dist/esm/state/EditableTable/CellInteractionState.js.map +1 -1
- package/dist/esm/state/FormPage/FormPageHeader.st.css.js +2 -2
- package/dist/esm/state/TableState.js +2 -0
- package/dist/esm/state/TableState.js.map +1 -1
- package/dist/esm/state/Toolbar/ToolbarResponsiveState.js +40 -5
- package/dist/esm/state/Toolbar/ToolbarResponsiveState.js.map +1 -1
- package/dist/esm/state/Toolbar/computeResponsiveTargetState.js +46 -18
- package/dist/esm/state/Toolbar/computeResponsiveTargetState.js.map +1 -1
- package/dist/esm/state/Toolbar/toolbarResponsiveConstants.js +4 -0
- package/dist/esm/state/Toolbar/toolbarResponsiveConstants.js.map +1 -1
- package/dist/esm/styles.global.css +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/types/components/Collapse/Collapse.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionPageNew/CollectionPage.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionTable/CollectionTable.uni.driver.d.ts +24 -24
- 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/CollectionToolbar.uni.driver.d.ts +11 -11
- package/dist/types/components/CollectionToolbar/CollectionToolbarActionsGroupProps.d.ts +3 -0
- package/dist/types/components/CollectionToolbar/CollectionToolbarActionsGroupProps.d.ts.map +1 -1
- package/dist/types/components/CollectionToolbar/CollectionToolbarActionsGroupResponsiveLayout.d.ts +5 -1
- package/dist/types/components/CollectionToolbar/CollectionToolbarActionsGroupResponsiveLayout.d.ts.map +1 -1
- package/dist/types/components/CollectionToolbar/CollectionToolbarActionsToolbarItemsGroup.d.ts.map +1 -1
- package/dist/types/components/CollectionToolbar/SearchOrCustomFilter.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionToolbar/ToolbarOverflowMenu.d.ts +24 -0
- package/dist/types/components/CollectionToolbar/ToolbarOverflowMenu.d.ts.map +1 -0
- package/dist/types/components/CollectionToolbar/useToolbarOverflowItems.d.ts +17 -0
- package/dist/types/components/CollectionToolbar/useToolbarOverflowItems.d.ts.map +1 -0
- package/dist/types/components/CollectionViewsDropdown/ViewsDropdown.st.css.d.ts.map +1 -1
- package/dist/types/components/CtaProps.d.ts +1 -1
- package/dist/types/components/CustomFieldModal/CustomFieldModal.uni.driver.d.ts +2 -2
- package/dist/types/components/CustomFieldsWidget/CustomFieldsWidget.uni.driver.d.ts +3 -3
- package/dist/types/components/DropdownFilter/CollectionDropdownFilter.uni.driver.d.ts +1 -1
- package/dist/types/components/EditableTable/cellTypes/date/View.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/email/Edit.d.ts +4 -0
- package/dist/types/components/EditableTable/cellTypes/email/Edit.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/email/Edit.st.css.d.ts +14 -0
- package/dist/types/components/EditableTable/cellTypes/email/Edit.st.css.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/email/Edit.uni.driver.d.ts +22 -0
- package/dist/types/components/EditableTable/cellTypes/email/Edit.uni.driver.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/email/View.d.ts +4 -0
- package/dist/types/components/EditableTable/cellTypes/email/View.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/email/View.st.css.d.ts +14 -0
- package/dist/types/components/EditableTable/cellTypes/email/View.st.css.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/email/View.uni.driver.d.ts +15 -0
- package/dist/types/components/EditableTable/cellTypes/email/View.uni.driver.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/email/index.d.ts +5 -0
- package/dist/types/components/EditableTable/cellTypes/email/index.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/index.d.ts +3 -1
- package/dist/types/components/EditableTable/cellTypes/index.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/number/Edit.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/number/View.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/object/Edit.d.ts +4 -0
- package/dist/types/components/EditableTable/cellTypes/object/Edit.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/object/Edit.st.css.d.ts +14 -0
- package/dist/types/components/EditableTable/cellTypes/object/Edit.st.css.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/object/Edit.uni.driver.d.ts +22 -0
- package/dist/types/components/EditableTable/cellTypes/object/Edit.uni.driver.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/object/View.d.ts +4 -0
- package/dist/types/components/EditableTable/cellTypes/object/View.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/object/View.st.css.d.ts +14 -0
- package/dist/types/components/EditableTable/cellTypes/object/View.st.css.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/object/View.uni.driver.d.ts +15 -0
- package/dist/types/components/EditableTable/cellTypes/object/View.uni.driver.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/object/index.d.ts +5 -0
- package/dist/types/components/EditableTable/cellTypes/object/index.d.ts.map +1 -0
- 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/EditableTable/useCellFocusAndEditing.d.ts.map +1 -1
- package/dist/types/components/EditableTable/useKeyboardNavigation.d.ts.map +1 -1
- package/dist/types/components/Fade/Fade.st.css.d.ts.map +1 -1
- package/dist/types/components/FiltersPanel/FiltersPanel.uni.driver.d.ts +4 -4
- package/dist/types/components/Grid/Grid.uni.driver.d.ts +13 -13
- package/dist/types/components/Grid/GridFolders.uni.driver.d.ts +38 -38
- package/dist/types/components/Grid/GridFoldersSection.uni.driver.d.ts +13 -13
- package/dist/types/components/ImportButton/ImportStepUpload.st.css.d.ts.map +1 -1
- package/dist/types/components/Kanban/Kanban.uni.driver.d.ts +11 -11
- package/dist/types/components/MaxHeightText/MaxHeightText.st.css.d.ts.map +1 -1
- package/dist/types/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.d.ts.map +1 -1
- package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts +37 -37
- package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.d.ts.map +1 -1
- package/dist/types/components/PickerContent/PickerContentAdditionalStep.st.css.d.ts.map +1 -1
- package/dist/types/components/SlidingModal/SlidingModal.st.css.d.ts.map +1 -1
- package/dist/types/components/SummaryBar/SummaryBar.uni.driver.d.ts +1 -1
- package/dist/types/components/Table/Table.uni.driver.d.ts +26 -26
- package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts +37 -37
- package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts +40 -40
- package/dist/types/components/TableGridSwitchButton/TableGridSwitchButton.d.ts.map +1 -1
- package/dist/types/components/TableGridSwitchButton/layoutConfig.d.ts +9 -0
- package/dist/types/components/TableGridSwitchButton/layoutConfig.d.ts.map +1 -0
- package/dist/types/components/TabsFilter/TabsFilter.st.css.d.ts.map +1 -1
- package/dist/types/components/TabsFilter/TabsFilter.uni.driver.d.ts +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/hooks/useStaticListFilterCollection.d.ts.map +1 -1
- package/dist/types/state/EditableTable/CellInteractionState.d.ts +7 -0
- package/dist/types/state/EditableTable/CellInteractionState.d.ts.map +1 -1
- package/dist/types/state/EditableTable/types.d.ts +2 -0
- package/dist/types/state/EditableTable/types.d.ts.map +1 -1
- package/dist/types/state/TableState.d.ts +2 -0
- package/dist/types/state/TableState.d.ts.map +1 -1
- package/dist/types/state/Toolbar/ToolbarResponsiveState.d.ts +3 -0
- package/dist/types/state/Toolbar/ToolbarResponsiveState.d.ts.map +1 -1
- package/dist/types/state/Toolbar/computeResponsiveTargetState.d.ts +8 -1
- package/dist/types/state/Toolbar/computeResponsiveTargetState.d.ts.map +1 -1
- package/dist/types/state/Toolbar/toolbarResponsiveConstants.d.ts +2 -0
- package/dist/types/state/Toolbar/toolbarResponsiveConstants.d.ts.map +1 -1
- package/dist/types/testkit/enzyme.d.ts +194 -194
- package/dist/types/testkit/jsdom.d.ts +207 -207
- package/dist/types/testkit/playwright.d.ts +194 -194
- package/dist/types/testkit/puppeteer.d.ts +205 -205
- package/dist/types/version.d.ts +1 -1
- package/package.json +10 -7
- package/src/components/CardContainer/CardContainer.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.tsx +3 -0
- package/src/components/CollectionToolbar/CollectionToolbar.st.css.ts +2 -2
- package/src/components/CollectionToolbar/CollectionToolbar.tsx +11 -4
- package/src/components/CollectionToolbar/CollectionToolbarActionsGroupProps.ts +3 -0
- package/src/components/CollectionToolbar/CollectionToolbarActionsGroupResponsiveLayout.tsx +73 -16
- package/src/components/CollectionToolbar/CollectionToolbarActionsToolbarItemsGroup.tsx +4 -0
- package/src/components/CollectionToolbar/SearchOrCustomFilter.st.css.ts +2 -2
- package/src/components/CollectionToolbar/ToolbarOverflowMenu.tsx +323 -0
- package/src/components/CollectionToolbar/useToolbarOverflowItems.ts +112 -0
- package/src/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.ts +2 -2
- package/src/components/CollectionViewsDropdown/ViewsDropdown.st.css.ts +2 -2
- package/src/components/CtaProps.ts +1 -1
- package/src/components/DragHandle/DragHandle.st.css.ts +2 -2
- package/src/components/EditableTable/EditableCell.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/date/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/date/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/email/Edit.st.css +4 -0
- package/src/components/EditableTable/cellTypes/email/Edit.st.css.ts +25 -0
- package/src/components/EditableTable/cellTypes/email/Edit.tsx +46 -0
- package/src/components/EditableTable/cellTypes/email/Edit.uni.driver.ts +23 -0
- package/src/components/EditableTable/cellTypes/email/View.st.css +4 -0
- package/src/components/EditableTable/cellTypes/email/View.st.css.ts +25 -0
- package/src/components/EditableTable/cellTypes/email/View.tsx +8 -0
- package/src/components/EditableTable/cellTypes/email/View.uni.driver.ts +9 -0
- package/src/components/EditableTable/cellTypes/email/index.ts +23 -0
- package/src/components/EditableTable/cellTypes/index.ts +6 -0
- package/src/components/EditableTable/cellTypes/number/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/number/Edit.tsx +3 -8
- package/src/components/EditableTable/cellTypes/number/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/number/View.tsx +2 -4
- package/src/components/EditableTable/cellTypes/object/Edit.st.css +4 -0
- package/src/components/EditableTable/cellTypes/object/Edit.st.css.ts +25 -0
- package/src/components/EditableTable/cellTypes/object/Edit.tsx +72 -0
- package/src/components/EditableTable/cellTypes/object/Edit.uni.driver.ts +22 -0
- package/src/components/EditableTable/cellTypes/object/View.st.css +4 -0
- package/src/components/EditableTable/cellTypes/object/View.st.css.ts +25 -0
- package/src/components/EditableTable/cellTypes/object/View.tsx +12 -0
- package/src/components/EditableTable/cellTypes/object/View.uni.driver.ts +9 -0
- package/src/components/EditableTable/cellTypes/object/index.ts +49 -0
- package/src/components/EditableTable/cellTypes/select/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/select/View.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/url/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/url/View.st.css.ts +2 -2
- package/src/components/EditableTable/useCellFocusAndEditing.ts +16 -1
- package/src/components/EditableTable/useKeyboardNavigation.ts +11 -0
- 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/NestedTable/NestedTablePlaceholderStatesRow.st.css.ts +2 -2
- package/src/components/NestedTable/NestedTableRow.st.css.ts +2 -2
- package/src/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.ts +2 -2
- package/src/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.ts +2 -2
- package/src/components/PickerContent/PickerContent.st.css.ts +2 -2
- package/src/components/PickerContent/PickerContentAdditionalStep.st.css.ts +2 -2
- package/src/components/PickerTableListItem/PickerTableListItem.st.css.ts +2 -2
- package/src/components/ScrollableContent/ScrollableContent.st.css.ts +2 -2
- package/src/components/SkeletonCard/SkeletonCard.st.css.ts +2 -2
- package/src/components/SlidingModal/SlidingModal.st.css.ts +2 -2
- package/src/components/TableGridSwitchButton/TableGridSwitchButton.tsx +2 -21
- package/src/components/TableGridSwitchButton/layoutConfig.tsx +20 -0
- package/src/components/TabsFilter/TabsFilter.st.css.ts +2 -2
- package/src/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.ts +2 -2
- package/src/components/ToolbarItem/ToolbarItem.st.css.ts +2 -2
- package/src/components/ToolbarItemBox/ToolbarItemBox.st.css.ts +2 -2
- package/src/components/common.st.css.ts +2 -2
- package/src/hooks/useStaticListFilterCollection.ts +1 -0
- package/src/state/CollectionPage/CollectionPageHeader.st.css.ts +2 -2
- package/src/state/EditableTable/CellInteractionState.ts +63 -0
- package/src/state/EditableTable/types.ts +2 -0
- package/src/state/FormPage/FormPageHeader.st.css.ts +2 -2
- package/src/state/TableState.ts +3 -0
- package/src/state/Toolbar/ToolbarResponsiveState.ts +64 -10
- package/src/state/Toolbar/computeResponsiveTargetState.ts +68 -18
- package/src/state/Toolbar/toolbarResponsiveConstants.ts +4 -0
- package/src/styles.global.css +1 -1
- package/src/version.ts +1 -1
|
@@ -0,0 +1,448 @@
|
|
|
1
|
+
# Filter Overview
|
|
2
|
+
|
|
3
|
+
**Category:** Features/Filter
|
|
4
|
+
|
|
5
|
+
##
|
|
6
|
+
|
|
7
|
+
### Overview
|
|
8
|
+
|
|
9
|
+
To better understand the use and configuration of filters in Wix Patterns and especially in [Tabs Filter](./?path=/story/features-filter-components--tabsfilter), [Toolbar Filters](./?path=/story/features-filter-components--toolbarfilters) and [Views](./?path=/story/features-display-views--views) it is important to know the difference between the [Filter Components](./?path=/story/features-filter-components) and the `Filter` object including all the built-in factories Wix Patterns provides.
|
|
10
|
+
|
|
11
|
+
The filter components as the name suggests are just wrappers over [@wix/design-system](https://www.docs.wixdesignsystem.com/?path=/story/getting-started--about) components to handle the filter object, whereas the filter object is a data structure that stores the current state of the filter that being used.
|
|
12
|
+
|
|
13
|
+
Looking to add filters to Data Extensions? [Learn more](./?path=/story/features-enrich-data-extension--data-extension#Filters_&_Sorting).
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### Filter Factories
|
|
17
|
+
|
|
18
|
+
There are several different factories that can be divided into two main categories: common and uncommon. While both categories answer different requirements, usually the options available within the common category are sufficient to meet the needs for most use-cases.
|
|
19
|
+
|
|
20
|
+
Common:
|
|
21
|
+
|
|
22
|
+
- [stringsArrayFilter](./?path=/story/features-filter-factories--stringsarrayfilter) - plain strings selection
|
|
23
|
+
- [idNameArrayFilter](./?path=/story/features-filter-factories--idnamearrayfilter) - object selection
|
|
24
|
+
- [stringFilter](./?path=/story/features-filter-factories--stringfilter) - single string selection
|
|
25
|
+
- [dateRangeFilter](./?path=/story/features-filter-factories--daterangefilter) - specifically for [DateRangeFilter](./?path=/story/common-filters--daterangefilter) component
|
|
26
|
+
|
|
27
|
+
Uncommon:
|
|
28
|
+
|
|
29
|
+
- [arrayFilter](./?path=/story/features-filter-factories--arrayfilter)
|
|
30
|
+
- idArrayFilter
|
|
31
|
+
- rangeFilter
|
|
32
|
+
- idNameArrayFilterNum
|
|
33
|
+
- [customFilter](./?path=/story/features-filter-factories--customfilter)
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
### Filter Components
|
|
37
|
+
|
|
38
|
+
Wix Patterns offers a variety of plug & play components for filters, including auto-complete date ranges and more. Here are all the filter components that Wix Patterns provides out-of-the-box:
|
|
39
|
+
|
|
40
|
+
- [MultiInlineCheckboxFilter](./?path=/story/features-filter-components--multiinlinecheckboxfilter)
|
|
41
|
+
- [MultiSelectCheckboxFilter](./?path=/story/features-filter-components--multiselectcheckboxfilter)
|
|
42
|
+
- [MultiSelectCollectionFilter](./?path=/story/features-filter-components--multiselectcollectionfilter)
|
|
43
|
+
- [SingleSelectFilter](./?path=/story/features-filter-components--singleselectfilter)
|
|
44
|
+
- [AutoCompleteFilter](./?path=/story/features-filter-components--autocompletefilter)
|
|
45
|
+
- [DateRangeFilter](./?path=/story/features-filter-components--daterangefilter)
|
|
46
|
+
- [MultiAutoInlineCheckboxFilter](./?path=/story/features-filter-components--multiautoinlinecheckboxfilter)
|
|
47
|
+
- [RadioGroupFilter](./?path=/story/features-filter-components--radiogroupfilter)
|
|
48
|
+
|
|
49
|
+
The choice of which component to use depends on the desired user experience. Most of the components can be connected with a variety of filters, so the choice is ultimately up to you.
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
### Example
|
|
53
|
+
|
|
54
|
+
Joe, a product manager in the Contacts team, requested that we refactor the Contacts page.\
|
|
55
|
+
Here is the JIRA ticket with the details:
|
|
56
|
+
|
|
57
|
+
> Hi team,
|
|
58
|
+
>
|
|
59
|
+
> Please refactor the Contacts page using the Figma link below. Specifically, I'd like us to replace the old table with the Wix Patterns table component while keeping all of our existing filters, including some new ones that will help enterprise blockers.
|
|
60
|
+
>
|
|
61
|
+
> The filters that I need are:
|
|
62
|
+
> - Level (multiple selection)
|
|
63
|
+
> - Last seen with predefined options (last week, last month, 3 months ago...)
|
|
64
|
+
> - Subscription status (subscribed, unsubscribed)
|
|
65
|
+
> - Initial search value if exists from url params
|
|
66
|
+
>
|
|
67
|
+
> Here's a reminder about our Contact entity structure:
|
|
68
|
+
>```js
|
|
69
|
+
> {
|
|
70
|
+
> id: string;
|
|
71
|
+
> name: string;
|
|
72
|
+
> level: string;
|
|
73
|
+
> subscription?: string;
|
|
74
|
+
> lastSeen?: Date;
|
|
75
|
+
> }
|
|
76
|
+
>```
|
|
77
|
+
>
|
|
78
|
+
> I'm not sure about the UI for some of the filters yet, so if it's not too much trouble, could you create two versions for the contact level and last seen - one using a dropdown and the other using a checkbox group?
|
|
79
|
+
>
|
|
80
|
+
> Thanks a lot Joe, Product Manager@Contacts
|
|
81
|
+
|
|
82
|
+
In this example, we will only be discussing filters. If you need information on creating an initial Wix Patterns table, please refer to the [Table](./?path=/story/base-components-collections-table-table--table) documentation. You have one final opportunity to get some coffee before we begin implementing the ticket ;) Ready? good! Let's go step by step and analyze what Joe asked us to do and which component and filter types will be the most suitable for the job.
|
|
83
|
+
|
|
84
|
+
##### Contact Level
|
|
85
|
+
|
|
86
|
+
Let's assume we need to support this filter for english only, therefore the contact level value is the only thing that is needed for displaying to the user and constructing the filter for the server, it is sufficient to use a simple array of strings as our filter. This is exactly the job for [stringsArrayFilter](), a simple filter to handle selection of one or more plain strings.
|
|
87
|
+
|
|
88
|
+
```js
|
|
89
|
+
import React from 'react';
|
|
90
|
+
import { stringsArrayFilter, useStaticListFilterCollection } from '@wix/wix-patterns';
|
|
91
|
+
|
|
92
|
+
const [filter] = React.useState(() => stringsArrayFilter());
|
|
93
|
+
|
|
94
|
+
const levelsCollection = useStaticListFilterCollection(filter, [
|
|
95
|
+
'Beginner',
|
|
96
|
+
'Amateur',
|
|
97
|
+
'Semi-Pro',
|
|
98
|
+
'Professional',
|
|
99
|
+
'World Class',
|
|
100
|
+
'Legendary',
|
|
101
|
+
'Ultimate'
|
|
102
|
+
]);
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+

|
|
108
|
+
|
|
109
|
+
This is the most basic example for using [stringsArrayFilter](./?path=/story/features-filter-factories--stringsarrayfilter) and [MultiSelectCheckboxFilter](./?path=/story/features-filter-components--multiselectcheckboxfilter)
|
|
110
|
+
|
|
111
|
+
```js
|
|
112
|
+
const [filter] = React.useState(() => stringsArrayFilter());
|
|
113
|
+
|
|
114
|
+
const collection = useFilterCollection(filter, {
|
|
115
|
+
queryName: 'query-contact-levels',
|
|
116
|
+
fetchData: (query) => {
|
|
117
|
+
const { limit, offset } = query;
|
|
118
|
+
return httpClient
|
|
119
|
+
.request(queryContactLevels())
|
|
120
|
+
.then(({ data: { items, total } }) => ({ items, total }));
|
|
121
|
+
},
|
|
122
|
+
limit: 50
|
|
123
|
+
});
|
|
124
|
+
|
|
125
|
+
({
|
|
126
|
+
title: item.level,
|
|
127
|
+
})}
|
|
128
|
+
/>
|
|
129
|
+
```
|
|
130
|
+
##### Last Seen
|
|
131
|
+
|
|
132
|
+
One option for filtering a date range is to use the [DateRangeFilter](./?path=/story/features-filter-components--daterangefilter) component with [dateRangeFilter](./?path=/story/features-filter-factories--daterangefilter) provided by Wix Patterns. This duo can simplify the process of creating options for filtering a date range. However, it is also possible to create the options manually using a more basic filter like [idNameArrayFilter](./?path=/story/features-filter-factories--idnamearrayfilter) if you really want to.
|
|
133
|
+
|
|
134
|
+
```js
|
|
135
|
+
const [filter] = React.useState(() => dateRangeFilter());
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+

|
|
141
|
+
|
|
142
|
+
##### Subscription Status
|
|
143
|
+
|
|
144
|
+
The subscription status is a simple enum in server but while showing the possible options for the user we cannot use the values as-is, certainly for other languages. To handle this we will use [idNameArrayFilter](./?path=/story/features-filter-factories--idnamearrayfilter), the most common filter factory we have.
|
|
145
|
+
|
|
146
|
+
```js
|
|
147
|
+
import React from 'react';
|
|
148
|
+
import { idNameArrayFilter, useStaticListFilterCollection } from '@wix/wix-patterns';
|
|
149
|
+
import { useTranslation } from 'react-i18next';
|
|
150
|
+
|
|
151
|
+
const { t } = useTranslation();
|
|
152
|
+
|
|
153
|
+
const [filter] = React.useState(() => idNameArrayFilter());
|
|
154
|
+
|
|
155
|
+
const subscriptionStatusCollection = useStaticListFilterCollection(filter, [
|
|
156
|
+
{ id: Subscription.SUBSCRIBED, name: t('contact.subscriptionStatus.SUBSCRIBED') },
|
|
157
|
+
{ id: Subscription.UNSUBSCRIBED, name: t('contact.subscriptionStatus.UNSUBSCRIBED') }
|
|
158
|
+
]);
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+

|
|
164
|
+
|
|
165
|
+
At first, this example may appear straightforward but how does the dropdown menu determine the value of each option? In addition, if the contact has a boolean indication for subscription status rather than an enum, assigning the `id` to a boolean value could potentially be problematic (`[{id: true, name: 'Subscribed'}, {id: false, name: 'Unsubscribed'}]`).
|
|
166
|
+
|
|
167
|
+
The [idNameArrayFilter](./?path=/story/features-filter-factories--idnamearrayfilter) filter expects `id` and `name` while `name` is basically the value of the filter. That is why we are able to see the options values without having to explicitly implement them. We could achieve the same result by using the `renderItem` property:
|
|
168
|
+
|
|
169
|
+
```js
|
|
170
|
+
import React from 'react';
|
|
171
|
+
import { idNameArrayFilter, useStaticListFilterCollection } from '@wix/wix-patterns';
|
|
172
|
+
import { useTranslation } from 'react-i18next';
|
|
173
|
+
|
|
174
|
+
const { t } = useTranslation();
|
|
175
|
+
|
|
176
|
+
const [filter] = React.useState(() => idNameArrayFilter());
|
|
177
|
+
|
|
178
|
+
const subscriptionStatusCollection = useStaticListFilterCollection(filter, [
|
|
179
|
+
{ id: Subscription.SUBSCRIBED, name: t('contact.subscriptionStatus.SUBSCRIBED') },
|
|
180
|
+
{ id: Subscription.UNSUBSCRIBED, name: t('contact.subscriptionStatus.UNSUBSCRIBED') }
|
|
181
|
+
]);
|
|
182
|
+
|
|
183
|
+
({title: item.foo, label: item.foo})}
|
|
184
|
+
/>
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
With this information in mind, we can include extra properties in the object and have access to them whenever we need (for example when constructing the filters object inside `fetchData` method), while still using the Wix Patterns provided filters. Here is another example where the outcome is the same but when the subscription status is represented as a boolean value instead of an enum:
|
|
188
|
+
|
|
189
|
+
```js
|
|
190
|
+
import React from 'react';
|
|
191
|
+
import { idNameArrayFilter, useStaticListFilterCollection } from '@wix/wix-patterns';
|
|
192
|
+
import { useTranslation } from 'react-i18next';
|
|
193
|
+
|
|
194
|
+
const { t } = useTranslation();
|
|
195
|
+
|
|
196
|
+
const [filter] = React.useState(() => idNameArrayFilter());
|
|
197
|
+
|
|
198
|
+
const subscriptionStatusCollection = useStaticListFilterCollection(filter, [
|
|
199
|
+
{ id: Subscription.SUBSCRIBED, name: t('contact.subscriptionStatus.SUBSCRIBED'), isSubscribed: true },
|
|
200
|
+
{ id: Subscription.UNSUBSCRIBED, name: t('contact.subscriptionStatus.UNSUBSCRIBED'), isSubscribed: false }
|
|
201
|
+
]);
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
While both the `id` and `name` properties exist and `name` will be used as the filter value, we have also included `isSubscribed` property to be passed with the other properties. For example, during the fetchData process, after the user selects the `Subscribed` filter option, the implementation might look like this:
|
|
207
|
+
|
|
208
|
+
```js
|
|
209
|
+
const fetchData = (query: OffsetQuery) => {
|
|
210
|
+
const { limit, offset, search, filters } = query;
|
|
211
|
+
console.log(filters.subscription); // [{id: '1', name: 'Subscribed', isSubscribed: true}]
|
|
212
|
+
const isSubscribed = filters.subscription[0]?.isSubscribed
|
|
213
|
+
return httpClient.request(queryContacts({limit, offset, search, filters: { isSubscribed }}))
|
|
214
|
+
}
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
##### Search
|
|
218
|
+
|
|
219
|
+
The search parameter is not technically part of the filters panel, but it can be initialized using [stringFilter](./?path=/story/features-filter-factories--stringfilter). This filter is usually opt-in by default, but if you want to pass an initial value for the search input, you can do so by passing your own filter to it.
|
|
220
|
+
|
|
221
|
+
```js
|
|
222
|
+
const collection = useCollection({
|
|
223
|
+
queryName: 'query-contacts',
|
|
224
|
+
search: stringFilter({initialValue: searchFromParams}),
|
|
225
|
+
// ...
|
|
226
|
+
})
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
Using the knowledge we gained from going through the necessary filters, let's apply it to the [Tabs Filter]() feature to create a Wix Patterns [`Table`](./?path=/story/base-components-collections-table-table--table) that includes a filters button featuring all of the previously mentioned filters.
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
### Interactive Example
|
|
234
|
+
|
|
235
|
+
```tsx
|
|
236
|
+
import { Avatar, Badge } from '@wix/design-system';
|
|
237
|
+
import React from 'react';
|
|
238
|
+
/* eslint-disable import/no-extraneous-dependencies */
|
|
239
|
+
import { CollectionPage } from '@wix/patterns/page';
|
|
240
|
+
import {
|
|
241
|
+
CollectionToolbarFilters,
|
|
242
|
+
idNameArrayFilter,
|
|
243
|
+
dateRangeFilter,
|
|
244
|
+
Table,
|
|
245
|
+
MultiSelectCheckboxFilter,
|
|
246
|
+
stringsArrayFilter,
|
|
247
|
+
stringFilter,
|
|
248
|
+
useTableCollection,
|
|
249
|
+
OffsetQuery,
|
|
250
|
+
CollectionEmptyState,
|
|
251
|
+
Filter,
|
|
252
|
+
RangeItem,
|
|
253
|
+
DateRangeFilter,
|
|
254
|
+
SingleSelectFilter,
|
|
255
|
+
MultiInlineCheckboxFilter,
|
|
256
|
+
useStaticListFilterCollection,
|
|
257
|
+
} from '@wix/patterns';
|
|
258
|
+
import { contacts } from '@wix/crm';
|
|
259
|
+
|
|
260
|
+
type ContactsFilters = {
|
|
261
|
+
level: Filter<string[]>;
|
|
262
|
+
lastActivity: Filter<RangeItem<Date>>;
|
|
263
|
+
locale: Filter<{ id: string; name: string }[]>;
|
|
264
|
+
};
|
|
265
|
+
|
|
266
|
+
function ContactsTable() {
|
|
267
|
+
|
|
268
|
+
const t = (key: string) => key.split('.').pop() || '';
|
|
269
|
+
|
|
270
|
+
const fromSearchParams = 'jo';
|
|
271
|
+
|
|
272
|
+
const state = useTableCollection<contacts.Contact, ContactsFilters>({
|
|
273
|
+
search: stringFilter({ initialValue: fromSearchParams }),
|
|
274
|
+
queryName: 'contacts-Table',
|
|
275
|
+
fetchData: (query: OffsetQuery<ContactsFilters>) => {
|
|
276
|
+
const { limit, offset, search, filters } = query;
|
|
277
|
+
|
|
278
|
+
let queryBuilder = contacts.queryContacts().limit(limit).skip(offset);
|
|
279
|
+
|
|
280
|
+
if (search) {
|
|
281
|
+
queryBuilder = queryBuilder.startsWith('info.name.first', search);
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
if (filters.level) {
|
|
285
|
+
queryBuilder = queryBuilder.in('info.jobTitle', filters.level);
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
if (filters.lastActivity) {
|
|
289
|
+
queryBuilder = queryBuilder
|
|
290
|
+
.gt('lastActivity.activityDate', filters.lastActivity.from)
|
|
291
|
+
.lt('lastActivity.activityDate', filters.lastActivity.to);
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
if (filters.locale) {
|
|
295
|
+
queryBuilder = queryBuilder.in(
|
|
296
|
+
'info.locale',
|
|
297
|
+
filters.locale.map(({ id }) => id),
|
|
298
|
+
);
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
return queryBuilder.find().then(({ items = [], totalCount: total }) => ({
|
|
302
|
+
items,
|
|
303
|
+
total,
|
|
304
|
+
}));
|
|
305
|
+
},
|
|
306
|
+
itemName: (item) => `${item.info?.name?.first} ${item.info?.name?.last}`,
|
|
307
|
+
fetchErrorMessage: () => 'Error Fetching Contacts',
|
|
308
|
+
filters: {
|
|
309
|
+
level: stringsArrayFilter(),
|
|
310
|
+
lastActivity: dateRangeFilter(),
|
|
311
|
+
locale: idNameArrayFilter(),
|
|
312
|
+
},
|
|
313
|
+
});
|
|
314
|
+
const collection = state.collection;
|
|
315
|
+
const localeCollection = useStaticListFilterCollection(
|
|
316
|
+
collection.filters.locale,
|
|
317
|
+
[
|
|
318
|
+
{
|
|
319
|
+
id: 'en-US',
|
|
320
|
+
name: t('contacts.info.locale.en-US'),
|
|
321
|
+
},
|
|
322
|
+
{
|
|
323
|
+
id: 'he-IL',
|
|
324
|
+
name: t('contacts.info.locale.he-IL'),
|
|
325
|
+
},
|
|
326
|
+
{
|
|
327
|
+
id: 'fr-FR',
|
|
328
|
+
name: t('contacts.info.locale.fr-FR'),
|
|
329
|
+
},
|
|
330
|
+
{
|
|
331
|
+
id: 'es-ES',
|
|
332
|
+
name: t('contacts.info.locale.es-ES'),
|
|
333
|
+
},
|
|
334
|
+
{
|
|
335
|
+
id: 'de-DE',
|
|
336
|
+
name: t('contacts.info.locale.de-DE'),
|
|
337
|
+
},
|
|
338
|
+
],
|
|
339
|
+
);
|
|
340
|
+
|
|
341
|
+
const levelsCollection = useStaticListFilterCollection(
|
|
342
|
+
collection.filters.level,
|
|
343
|
+
[
|
|
344
|
+
'Beginner',
|
|
345
|
+
'Amateur',
|
|
346
|
+
'Semi-Pro',
|
|
347
|
+
'Professional',
|
|
348
|
+
'World Class',
|
|
349
|
+
'Legendary',
|
|
350
|
+
'Ultimate',
|
|
351
|
+
],
|
|
352
|
+
);
|
|
353
|
+
|
|
354
|
+
return (
|
|
355
|
+
<CollectionPage height="400px">
|
|
356
|
+
<CollectionPage.Header title={{ text: 'Contacts' }} />
|
|
357
|
+
<CollectionPage.Content>
|
|
358
|
+
<Table
|
|
359
|
+
emptyState={<CollectionEmptyState />}
|
|
360
|
+
state={state}
|
|
361
|
+
columns={[
|
|
362
|
+
{
|
|
363
|
+
title: '',
|
|
364
|
+
width: '50px',
|
|
365
|
+
render: (contact) => (
|
|
366
|
+
<Avatar
|
|
367
|
+
name={`${contact.info?.name?.first} ${contact.info?.name?.last}`}
|
|
368
|
+
imgProps={{ src: contact.info?.picture?.image }}
|
|
369
|
+
/>
|
|
370
|
+
),
|
|
371
|
+
},
|
|
372
|
+
{
|
|
373
|
+
title: 'Name',
|
|
374
|
+
width: '250px',
|
|
375
|
+
render: (contact) =>
|
|
376
|
+
`${contact.info?.name?.first} ${contact.info?.name?.last}`,
|
|
377
|
+
},
|
|
378
|
+
{
|
|
379
|
+
title: 'Level',
|
|
380
|
+
render: (contact) => contact.info?.jobTitle,
|
|
381
|
+
},
|
|
382
|
+
{
|
|
383
|
+
title: 'Last Activity',
|
|
384
|
+
render: (contact) =>
|
|
385
|
+
contact.lastActivity?.activityDate?.toLocaleString(),
|
|
386
|
+
},
|
|
387
|
+
{
|
|
388
|
+
title: 'Locale',
|
|
389
|
+
render: (contact) => (
|
|
390
|
+
<Badge
|
|
391
|
+
skin={
|
|
392
|
+
contact.info?.locale === 'en-US' ? 'premium' : 'neutral'
|
|
393
|
+
}
|
|
394
|
+
>
|
|
395
|
+
{t(`contacts.source.sourceType.${contact.info?.locale}`)}
|
|
396
|
+
</Badge>
|
|
397
|
+
),
|
|
398
|
+
},
|
|
399
|
+
]}
|
|
400
|
+
filters={
|
|
401
|
+
<CollectionToolbarFilters
|
|
402
|
+
panelTitle="Filter your contacts"
|
|
403
|
+
useNewFilters
|
|
404
|
+
>
|
|
405
|
+
<MultiSelectCheckboxFilter
|
|
406
|
+
popoverProps={{ appendTo: 'window' }}
|
|
407
|
+
accordionItemProps={{ label: 'Level (Dropdown)' }}
|
|
408
|
+
filter={collection.filters.level}
|
|
409
|
+
collection={levelsCollection}
|
|
410
|
+
renderItem={(level) => ({
|
|
411
|
+
title: level,
|
|
412
|
+
name: level,
|
|
413
|
+
})}
|
|
414
|
+
/>
|
|
415
|
+
<MultiInlineCheckboxFilter
|
|
416
|
+
popoverProps={{ appendTo: 'window' }}
|
|
417
|
+
accordionItemProps={{ label: 'Level (CheckboxGroup)' }}
|
|
418
|
+
filter={collection.filters.level}
|
|
419
|
+
data={[
|
|
420
|
+
'Beginner',
|
|
421
|
+
'Amateur',
|
|
422
|
+
'Semi-Pro',
|
|
423
|
+
'Professional',
|
|
424
|
+
'World Class',
|
|
425
|
+
'Legendary',
|
|
426
|
+
'Ultimate',
|
|
427
|
+
]}
|
|
428
|
+
renderItem={(level, idx) => ({ id: `${idx}`, name: level })}
|
|
429
|
+
/>
|
|
430
|
+
<DateRangeFilter
|
|
431
|
+
filter={collection.filters.lastActivity}
|
|
432
|
+
accordionItemProps={{ label: 'Last Activity' }}
|
|
433
|
+
/>
|
|
434
|
+
<SingleSelectFilter
|
|
435
|
+
popoverProps={{ appendTo: 'window' }}
|
|
436
|
+
filter={collection.filters.locale}
|
|
437
|
+
accordionItemProps={{ label: 'Locale' }}
|
|
438
|
+
collection={localeCollection}
|
|
439
|
+
/>
|
|
440
|
+
</CollectionToolbarFilters>
|
|
441
|
+
}
|
|
442
|
+
/>
|
|
443
|
+
</CollectionPage.Content>
|
|
444
|
+
</CollectionPage>
|
|
445
|
+
);
|
|
446
|
+
}
|
|
447
|
+
```
|
|
448
|
+
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# FilterProps
|
|
2
|
+
|
|
3
|
+
**Category:** Features/Filter/Props
|
|
4
|
+
|
|
5
|
+
## API
|
|
6
|
+
|
|
7
|
+
### Overview
|
|
8
|
+
|
|
9
|
+
The base filter component interface used by all filter types in Wix Patterns. Each filter defines how it renders in the toolbar, its value type, and how it maps to query parameters. See specific filter implementations like [`SingleSelectFilter`](./?path=/story/features-filter-components--singleselectfilter), [`MultiSelectCheckboxFilter`](./?path=/story/features-filter-components--multiselectcheckboxfilter), and [`DateRangeFilter`](./?path=/story/features-filter-components--daterangefilter).
|
|
10
|
+
|
|
11
|
+
### Props
|
|
12
|
+
|
|
13
|
+
| Prop | Type | Required | Default | Description |
|
|
14
|
+
|------|------|----------|---------|-------------|
|
|
15
|
+
| `filter` | `Filter<T>` | Yes | - | A filter state object such as [ArrayFilter](./?path=/story/features-filter-factories--arrayfilter) |
|
|
16
|
+
| `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 filter. Cairo maps this to the appropriate icon internally. |
|
|
17
|
+
| `layout` | `"button"` | No | - | Padding settings. If this prop it omitted, padding will exist on the sides of the filter.<br> <br> Supported values: <br> - `"button"`: Removes padding from the sides of the filter. |
|
|
18
|
+
| `toolbarItemProps` | `{ label?: ReactNode; }` | No | - | Customizes the filter in the toolbar.<br> <br> Supported properties: <br> - `label`: [string] Prefix for the filter element. |
|
|
19
|
+
| `toolbarTagProps` | `{ label?: string; }` | No | - | Customizes the filter tag in the toolbar.<br> <br> Supported properties: <br> - `label`: [string] Overrides the default filter name when filtered tag is shown. |
|
|
20
|
+
| `initiallyOpen` | `boolean` | No | - | Indicates whether the filter should be visible by default in the filters panel |
|
|
21
|
+
| `accordionItemProps` | `(AccordionItemType & { label?: string; })` | No | - | Customizes the filter [accordion](https://www.docs.wixdesignsystem.com/?path=/story/components-lists--accordion).<br> <br> Supported properties: <br> - `label`: [string] Accordion item title. You can also use `AccordionProps['items'][number].title` for more flexibility. <br> - Extends [AccordionProps['items'[number]](https://www.docs.wixdesignsystem.com/?path=/story/components-lists--accordion). |
|
|
22
|
+
| `popoverProps` | `PopoverCommonProps` | No | - | @deprecated |
|
|
23
|
+
| `onAppliedFilterTagRemove` | `((item: FilterItem<T>) => unknown)` | No | - | Callback that's run when a filter is removed by a visitor from the sub-toolbar. @param item |
|
|
24
|
+
| `renderToolbarTag` | `((item: FilterItem<T>) => Partial<Omit<TagProps, "size" \| "onRemove">>)` | No | - | Customizes how the tag list in the sub-toolbar is rendered. <br><br> Extends [`TagListProps['tags'][number]`](https://www.docs.wixdesignsystem.com/?path=/story/components-lists-table--taglist). |
|
|
25
|
+
| `sectionTitle` | `string` | No | - | Title for the section in the accordion. |
|
|
26
|
+
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# FormPageState
|
|
2
|
+
|
|
3
|
+
**Category:** Common/State
|
|
4
|
+
|
|
5
|
+
## API
|
|
6
|
+
|
|
7
|
+
### Overview
|
|
8
|
+
|
|
9
|
+
`FormPageState` manages form state for page components (`EntityPage`, `SettingsPage`). It wraps a `react-hook-form` `UseFormReturn` instance and adds initialization/submission task tracking and optional widgets form state. You typically do not create this directly — it is managed internally by [`EntityPageState`](./?path=/story/base-components-pages-entity-page-state--entitypagestate) or [`SettingsPageState`](./?path=/story/base-components-pages-settings-page-state--settingspagestate).
|
|
10
|
+
|
|
11
|
+
### Props
|
|
12
|
+
|
|
13
|
+
| Prop | Type | Required | Default | Description |
|
|
14
|
+
|------|------|----------|---------|-------------|
|
|
15
|
+
| `validate` | `() => { isValid: boolean; data: Record<string, any>; }` | Yes | - | Get the form data and if it's valid |
|
|
16
|
+
| `isDirty` | `boolean` | Yes | - | Indicates if the form has been modified |
|
|
17
|
+
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
# Grid Sections
|
|
2
|
+
|
|
3
|
+
**Category:** Features/Display/Grid Sections
|
|
4
|
+
|
|
5
|
+
## Design
|
|
6
|
+
|
|
7
|
+
### Description
|
|
8
|
+
|
|
9
|
+
Group [`Grid`](./?path=/story/base-components-collections-grid-grid--grid) data into sections.
|
|
10
|
+
|
|
11
|
+
#### Usage
|
|
12
|
+
|
|
13
|
+
1. Create a [`Grid`](./?path=/story/base-components-collections-grid-grid--grid) collection component.
|
|
14
|
+
1. In the `fetchData` function of the [`useGridCollection()`](./?path=/story/base-components-collections-grid-usegridcollection--usegridcollection) hook, return data grouped by the desired field for creating sections. You can use `sort` for this, or simply return the data grouped by the field in a flat array. Patterns detects this field and sections the grid data by its values.
|
|
15
|
+
1. Define the `sections` prop on the `Grid`. The prop must be a [`GridSectionsProp`](./?path=/story/common-types--gridsectionsprop) object, where the `renderSection` callback returns a [`Section`](./?path=/story/common-types--collectionsection) object with `id`, `title`, and optional `primaryAction` properties.
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
```tsx
|
|
19
|
+
import { GridSections } from '@wix/patterns';
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
### Demo
|
|
23
|
+
|
|
24
|
+
This example sorts and groups the data by `jobTitle`.
|
|
25
|
+
|
|
26
|
+
```tsx
|
|
27
|
+
import React from 'react';
|
|
28
|
+
import { CollectionPage } from '@wix/patterns/page';
|
|
29
|
+
import { Grid, GridSections, useGridCollection } from '@wix/patterns';
|
|
30
|
+
import { contacts } from '@wix/crm';
|
|
31
|
+
import { AddSmall } from '@wix/wix-ui-icons-common';
|
|
32
|
+
|
|
33
|
+
function GridSectionsExample() {
|
|
34
|
+
const groupBy = React.useCallback(
|
|
35
|
+
(item: contacts.Contact) => item.info?.jobTitle as string,
|
|
36
|
+
[],
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
const renderSection = React.useCallback(
|
|
40
|
+
(sectionId: string) => ({
|
|
41
|
+
title: sectionId,
|
|
42
|
+
primaryAction: {
|
|
43
|
+
id: 'primary-action',
|
|
44
|
+
label: 'Primary Action',
|
|
45
|
+
prefixIcon: <AddSmall />,
|
|
46
|
+
onClick: () => {},
|
|
47
|
+
},
|
|
48
|
+
}),
|
|
49
|
+
[],
|
|
50
|
+
);
|
|
51
|
+
|
|
52
|
+
const grid = useGridCollection<contacts.Contact>({
|
|
53
|
+
queryName: 'GridSections',
|
|
54
|
+
paginationMode: 'offset',
|
|
55
|
+
itemName: (item) => `${item.info?.name?.first} ${item.info?.name?.last}`,
|
|
56
|
+
fetchData: (query) => {
|
|
57
|
+
const { limit, offset, search } = query;
|
|
58
|
+
|
|
59
|
+
let queryBuilder = contacts.queryContacts().limit(limit).skip(offset);
|
|
60
|
+
|
|
61
|
+
if (search) {
|
|
62
|
+
queryBuilder = queryBuilder.startsWith('info.name.first', search);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
queryBuilder.ascending('info.jobTitle');
|
|
66
|
+
|
|
67
|
+
return queryBuilder.find().then(({ items = [], totalCount: total }) => ({
|
|
68
|
+
items,
|
|
69
|
+
total,
|
|
70
|
+
}));
|
|
71
|
+
},
|
|
72
|
+
fetchErrorMessage: ({ err }) => String(err),
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
return (
|
|
76
|
+
<CollectionPage height="400px">
|
|
77
|
+
<CollectionPage.Header title={{ text: 'Contacts' }} />
|
|
78
|
+
<CollectionPage.Content>
|
|
79
|
+
<Grid
|
|
80
|
+
sections={{
|
|
81
|
+
GridSections,
|
|
82
|
+
groupBy,
|
|
83
|
+
renderSection,
|
|
84
|
+
}}
|
|
85
|
+
state={grid}
|
|
86
|
+
/>
|
|
87
|
+
</CollectionPage.Content>
|
|
88
|
+
</CollectionPage>
|
|
89
|
+
);
|
|
90
|
+
}
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### With Badge
|
|
94
|
+
|
|
95
|
+
This example shows how to use a badge in the section header.
|
|
96
|
+
|
|
97
|
+
```tsx
|
|
98
|
+
import React from 'react';
|
|
99
|
+
import { CollectionPage } from '@wix/patterns/page';
|
|
100
|
+
import { Grid, GridSections, Section, useGridCollection } from '@wix/patterns';
|
|
101
|
+
import { contacts } from '@wix/crm';
|
|
102
|
+
import { AddSmall } from '@wix/wix-ui-icons-common';
|
|
103
|
+
|
|
104
|
+
function GridSectionsExample() {
|
|
105
|
+
const groupBy = React.useCallback((item: contacts.Contact) => {
|
|
106
|
+
const name = item.info?.name?.first;
|
|
107
|
+
const jobTitle = item.info?.jobTitle;
|
|
108
|
+
return `${jobTitle} - ${name?.slice(0, 1).toUpperCase() || 'other'}`;
|
|
109
|
+
}, []);
|
|
110
|
+
|
|
111
|
+
const renderSection = React.useCallback((sectionId: string) => {
|
|
112
|
+
const firstLetter = sectionId.split(' - ')[1]?.toLowerCase();
|
|
113
|
+
|
|
114
|
+
return {
|
|
115
|
+
title: sectionId,
|
|
116
|
+
primaryAction: {
|
|
117
|
+
id: 'primary-action',
|
|
118
|
+
label: 'Primary Action',
|
|
119
|
+
prefixIcon: <AddSmall />,
|
|
120
|
+
onClick: () => {},
|
|
121
|
+
},
|
|
122
|
+
badge: {
|
|
123
|
+
visible: true,
|
|
124
|
+
skin: firstLetter === 'a' ? 'danger' : 'light',
|
|
125
|
+
} as Section['badge'],
|
|
126
|
+
};
|
|
127
|
+
}, []);
|
|
128
|
+
|
|
129
|
+
const grid = useGridCollection<contacts.Contact>({
|
|
130
|
+
queryName: 'GridSections',
|
|
131
|
+
paginationMode: 'offset',
|
|
132
|
+
itemName: (item) => `${item.info?.name?.first} ${item.info?.name?.last}`,
|
|
133
|
+
fetchData: (query) => {
|
|
134
|
+
const { limit, offset, search } = query;
|
|
135
|
+
|
|
136
|
+
let queryBuilder = contacts.queryContacts().limit(limit).skip(offset);
|
|
137
|
+
|
|
138
|
+
if (search) {
|
|
139
|
+
queryBuilder = queryBuilder.startsWith('info.name.first', search);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
queryBuilder.ascending('info.jobTitle');
|
|
143
|
+
queryBuilder.ascending('info.name.first');
|
|
144
|
+
|
|
145
|
+
return queryBuilder.find().then(({ items = [], totalCount: total }) => ({
|
|
146
|
+
items,
|
|
147
|
+
total,
|
|
148
|
+
}));
|
|
149
|
+
},
|
|
150
|
+
fetchErrorMessage: ({ err }) => String(err),
|
|
151
|
+
});
|
|
152
|
+
|
|
153
|
+
return (
|
|
154
|
+
<CollectionPage height="400px">
|
|
155
|
+
<CollectionPage.Header title={{ text: 'Contacts' }} />
|
|
156
|
+
<CollectionPage.Content>
|
|
157
|
+
<Grid
|
|
158
|
+
sections={{
|
|
159
|
+
GridSections,
|
|
160
|
+
groupBy,
|
|
161
|
+
renderSection,
|
|
162
|
+
}}
|
|
163
|
+
state={grid}
|
|
164
|
+
/>
|
|
165
|
+
</CollectionPage.Content>
|
|
166
|
+
</CollectionPage>
|
|
167
|
+
);
|
|
168
|
+
}
|
|
169
|
+
```
|
|
170
|
+
|