@wix/patterns 1.413.0 → 1.415.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/CollectionToolbar.uni.driver.js +14 -0
- package/dist/cjs/components/CollectionToolbar/CollectionToolbar.uni.driver.js.map +1 -1
- package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +4 -4
- package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
- package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
- package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
- package/dist/cjs/components/DragHandle/DragHandle.st.css.js +2 -2
- package/dist/cjs/components/DragHandle/DragHandle.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/EditableCell.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/EditableCell.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/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/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.js +2 -5
- package/dist/cjs/components/EditableTable/cellTypes/date/Edit.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/DateTimeEditWrapper.js +42 -0
- package/dist/cjs/components/EditableTable/cellTypes/datetime/DateTimeEditWrapper.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.js +428 -0
- package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css +44 -0
- package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css.js +31 -0
- package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.uni.driver.js +20 -0
- package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.uni.driver.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/datetime/View.js +64 -0
- package/dist/cjs/components/EditableTable/cellTypes/datetime/View.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css +36 -0
- package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css.js +30 -0
- package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/datetime/View.uni.driver.js +15 -0
- package/dist/cjs/components/EditableTable/cellTypes/datetime/View.uni.driver.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/datetime/formatters.js +47 -0
- package/dist/cjs/components/EditableTable/cellTypes/datetime/formatters.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/datetime/helpers.js +34 -0
- package/dist/cjs/components/EditableTable/cellTypes/datetime/helpers.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/datetime/index.js +53 -0
- package/dist/cjs/components/EditableTable/cellTypes/datetime/index.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/datetime/mergeDateTime.js +30 -0
- package/dist/cjs/components/EditableTable/cellTypes/datetime/mergeDateTime.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/datetime/subCellContext.js +14 -0
- package/dist/cjs/components/EditableTable/cellTypes/datetime/subCellContext.js.map +1 -0
- 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/index.js +3 -1
- package/dist/cjs/components/EditableTable/cellTypes/index.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/object/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/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.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/time/Edit.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/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/FiltersPanel/FiltersPanel.js +42 -12
- package/dist/cjs/components/FiltersPanel/FiltersPanel.js.map +1 -1
- package/dist/cjs/components/FiltersPanel/FiltersPanel.uni.driver.js +13 -1
- package/dist/cjs/components/FiltersPanel/FiltersPanel.uni.driver.js.map +1 -1
- package/dist/cjs/components/FiltersPanel/FiltersPanelSearch.js +33 -0
- package/dist/cjs/components/FiltersPanel/FiltersPanelSearch.js.map +1 -0
- package/dist/cjs/components/FiltersPanel/FiltersPanelSearchNoResults.js +55 -0
- package/dist/cjs/components/FiltersPanel/FiltersPanelSearchNoResults.js.map +1 -0
- package/dist/cjs/components/FiltersPanel/FiltersPanelState.js +13 -0
- package/dist/cjs/components/FiltersPanel/FiltersPanelState.js.map +1 -1
- package/dist/cjs/components/Heading/Heading.st.css.js +2 -2
- package/dist/cjs/components/Heading/Heading.st.css.js.map +1 -1
- package/dist/cjs/components/ImportButton/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/SetupWidget/AllCompleteState.js +80 -0
- package/dist/cjs/components/SetupWidget/AllCompleteState.js.map +1 -0
- package/dist/cjs/components/SetupWidget/SetupStepCard.js +220 -0
- package/dist/cjs/components/SetupWidget/SetupStepCard.js.map +1 -0
- package/dist/cjs/components/SetupWidget/SetupStepGroup.js +219 -0
- package/dist/cjs/components/SetupWidget/SetupStepGroup.js.map +1 -0
- package/dist/cjs/components/SetupWidget/SetupStepIcon.js +60 -0
- package/dist/cjs/components/SetupWidget/SetupStepIcon.js.map +1 -0
- package/dist/cjs/components/SetupWidget/SetupStepRow.js +243 -0
- package/dist/cjs/components/SetupWidget/SetupStepRow.js.map +1 -0
- package/dist/cjs/components/SetupWidget/SetupWidget.js +257 -0
- package/dist/cjs/components/SetupWidget/SetupWidget.js.map +1 -0
- package/dist/cjs/components/SetupWidget/SetupWidget.st.css +95 -0
- package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js +39 -0
- package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js.map +1 -0
- package/dist/cjs/components/SetupWidget/SetupWidget.uni.driver.js +45 -0
- package/dist/cjs/components/SetupWidget/SetupWidget.uni.driver.js.map +1 -0
- package/dist/cjs/components/SetupWidget/SetupWidgetHeader.js +137 -0
- package/dist/cjs/components/SetupWidget/SetupWidgetHeader.js.map +1 -0
- package/dist/cjs/components/SetupWidget/SetupWidgetSkeleton.js +224 -0
- package/dist/cjs/components/SetupWidget/SetupWidgetSkeleton.js.map +1 -0
- package/dist/cjs/components/SetupWidget/dashboard-setup-integration-gaps.md +231 -0
- package/dist/cjs/components/SetupWidget/dashboard-setup-migration-plan.md +163 -0
- package/dist/cjs/components/SetupWidget/index.js +7 -0
- package/dist/cjs/components/SetupWidget/index.js.map +1 -0
- 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/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/exports/testkit/unidriver.js +3 -1
- package/dist/cjs/exports/testkit/unidriver.js.map +1 -1
- package/dist/cjs/hooks/useBuildAccordionItems.js +21 -14
- package/dist/cjs/hooks/useBuildAccordionItems.js.map +1 -1
- package/dist/cjs/hooks/useSetupWidget/index.js +7 -0
- package/dist/cjs/hooks/useSetupWidget/index.js.map +1 -0
- package/dist/cjs/hooks/useSetupWidget/useSetupWidget.js +33 -0
- package/dist/cjs/hooks/useSetupWidget/useSetupWidget.js.map +1 -0
- package/dist/cjs/index.js +14 -0
- package/dist/cjs/index.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/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/styles.global.css +2 -2
- package/dist/cjs/testkit/jsdom.js +3 -1
- package/dist/cjs/testkit/jsdom.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/docs/index.json +8 -8
- package/dist/esm/components/CardContainer/CardContainer.st.css.js +2 -2
- package/dist/esm/components/CmsFieldManagement/CmsFieldForm.st.css.js +2 -2
- package/dist/esm/components/CmsFieldManagement/CmsFieldModal.st.css.js +2 -2
- package/dist/esm/components/CmsFieldManagement/CmsFieldModal.st.css.js.map +1 -1
- package/dist/esm/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js +2 -2
- package/dist/esm/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js.map +1 -1
- package/dist/esm/components/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/CollectionTable.st.css.js.map +1 -1
- package/dist/esm/components/CollectionTable/CollectionTableWSRTable.st.css.js +2 -2
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.uni.driver.js +14 -0
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.uni.driver.js.map +1 -1
- package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
- package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
- package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
- 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/DragHandle/DragHandle.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/EditableCell.st.css.js +2 -2
- 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/address/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/address/Edit.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/color/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/color/Edit.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/date/Edit.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/date/Edit.js.map +1 -1
- 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/datetime/DateTimeEditWrapper.js +26 -0
- package/dist/esm/components/EditableTable/cellTypes/datetime/DateTimeEditWrapper.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/datetime/Edit.js +289 -0
- package/dist/esm/components/EditableTable/cellTypes/datetime/Edit.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/datetime/Edit.st.css +44 -0
- package/dist/esm/components/EditableTable/cellTypes/datetime/Edit.st.css.js +15 -0
- package/dist/esm/components/EditableTable/cellTypes/datetime/Edit.st.css.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/datetime/Edit.uni.driver.js +16 -0
- package/dist/esm/components/EditableTable/cellTypes/datetime/Edit.uni.driver.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/datetime/View.js +19 -0
- package/dist/esm/components/EditableTable/cellTypes/datetime/View.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/datetime/View.st.css +36 -0
- package/dist/esm/components/EditableTable/cellTypes/datetime/View.st.css.js +15 -0
- package/dist/esm/components/EditableTable/cellTypes/datetime/View.st.css.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/datetime/View.uni.driver.js +14 -0
- package/dist/esm/components/EditableTable/cellTypes/datetime/View.uni.driver.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/datetime/formatters.js +46 -0
- package/dist/esm/components/EditableTable/cellTypes/datetime/formatters.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/datetime/helpers.js +23 -0
- package/dist/esm/components/EditableTable/cellTypes/datetime/helpers.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/datetime/index.js +48 -0
- package/dist/esm/components/EditableTable/cellTypes/datetime/index.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/datetime/mergeDateTime.js +25 -0
- package/dist/esm/components/EditableTable/cellTypes/datetime/mergeDateTime.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/datetime/subCellContext.js +8 -0
- package/dist/esm/components/EditableTable/cellTypes/datetime/subCellContext.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/index.js +3 -1
- package/dist/esm/components/EditableTable/cellTypes/index.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/number/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/number/Edit.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/object/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/object/Edit.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/text/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.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/time/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/time/Edit.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js +2 -2
- package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js +2 -2
- package/dist/esm/components/EntityPage/EntityPagePlain.st.css.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/FiltersPanel/FiltersPanel.js +11 -5
- package/dist/esm/components/FiltersPanel/FiltersPanel.js.map +1 -1
- package/dist/esm/components/FiltersPanel/FiltersPanel.uni.driver.js +13 -1
- package/dist/esm/components/FiltersPanel/FiltersPanel.uni.driver.js.map +1 -1
- package/dist/esm/components/FiltersPanel/FiltersPanelSearch.js +10 -0
- package/dist/esm/components/FiltersPanel/FiltersPanelSearch.js.map +1 -0
- package/dist/esm/components/FiltersPanel/FiltersPanelSearchNoResults.js +14 -0
- package/dist/esm/components/FiltersPanel/FiltersPanelSearchNoResults.js.map +1 -0
- package/dist/esm/components/FiltersPanel/FiltersPanelState.js +14 -1
- package/dist/esm/components/FiltersPanel/FiltersPanelState.js.map +1 -1
- package/dist/esm/components/Heading/Heading.st.css.js +2 -2
- package/dist/esm/components/ImportButton/ImportStepUpload.st.css.js +2 -2
- package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
- package/dist/esm/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
- package/dist/esm/components/LoadingRow/LoadingRow.st.css.js +3 -3
- package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
- package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
- package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
- package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
- package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
- package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
- package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
- package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
- package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
- package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
- package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
- package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
- package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
- package/dist/esm/components/SetupWidget/AllCompleteState.js +19 -0
- package/dist/esm/components/SetupWidget/AllCompleteState.js.map +1 -0
- package/dist/esm/components/SetupWidget/SetupStepCard.js +61 -0
- package/dist/esm/components/SetupWidget/SetupStepCard.js.map +1 -0
- package/dist/esm/components/SetupWidget/SetupStepGroup.js +51 -0
- package/dist/esm/components/SetupWidget/SetupStepGroup.js.map +1 -0
- package/dist/esm/components/SetupWidget/SetupStepIcon.js +17 -0
- package/dist/esm/components/SetupWidget/SetupStepIcon.js.map +1 -0
- package/dist/esm/components/SetupWidget/SetupStepRow.js +68 -0
- package/dist/esm/components/SetupWidget/SetupStepRow.js.map +1 -0
- package/dist/esm/components/SetupWidget/SetupWidget.js +98 -0
- package/dist/esm/components/SetupWidget/SetupWidget.js.map +1 -0
- package/dist/esm/components/SetupWidget/SetupWidget.st.css +95 -0
- package/dist/esm/components/SetupWidget/SetupWidget.st.css.js +15 -0
- package/dist/esm/components/SetupWidget/SetupWidget.st.css.js.map +1 -0
- package/dist/esm/components/SetupWidget/SetupWidget.uni.driver.js +40 -0
- package/dist/esm/components/SetupWidget/SetupWidget.uni.driver.js.map +1 -0
- package/dist/esm/components/SetupWidget/SetupWidgetHeader.js +30 -0
- package/dist/esm/components/SetupWidget/SetupWidgetHeader.js.map +1 -0
- package/dist/esm/components/SetupWidget/SetupWidgetSkeleton.js +44 -0
- package/dist/esm/components/SetupWidget/SetupWidgetSkeleton.js.map +1 -0
- package/dist/esm/components/SetupWidget/dashboard-setup-integration-gaps.md +231 -0
- package/dist/esm/components/SetupWidget/dashboard-setup-migration-plan.md +163 -0
- package/dist/esm/components/SetupWidget/index.js +2 -0
- package/dist/esm/components/SetupWidget/index.js.map +1 -0
- package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
- package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
- package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
- package/dist/esm/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
- package/dist/esm/components/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/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
- package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
- package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
- package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
- package/dist/esm/components/common.st.css.js +2 -2
- package/dist/esm/components/common.st.css.js.map +1 -1
- package/dist/esm/exports/testkit/unidriver.js +1 -0
- package/dist/esm/exports/testkit/unidriver.js.map +1 -1
- package/dist/esm/hooks/useBuildAccordionItems.js +13 -5
- package/dist/esm/hooks/useBuildAccordionItems.js.map +1 -1
- package/dist/esm/hooks/useSetupWidget/index.js +2 -0
- package/dist/esm/hooks/useSetupWidget/index.js.map +1 -0
- package/dist/esm/hooks/useSetupWidget/useSetupWidget.js +23 -0
- package/dist/esm/hooks/useSetupWidget/useSetupWidget.js.map +1 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
- package/dist/esm/state/FormPage/FormPageHeader.st.css.js +2 -2
- package/dist/esm/state/FormPage/FormPageHeader.st.css.js.map +1 -1
- package/dist/esm/styles.global.css +2 -2
- package/dist/esm/testkit/jsdom.js +2 -0
- package/dist/esm/testkit/jsdom.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/types/components/CmsFieldManagement/CmsFieldModal.st.css.d.ts.map +1 -1
- package/dist/types/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionTable/CollectionTable.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionTable/CollectionTable.uni.driver.d.ts +30 -2
- package/dist/types/components/CollectionTable/CollectionTable.uni.driver.d.ts.map +1 -1
- package/dist/types/components/CollectionToolbar/CollectionToolbar.uni.driver.d.ts +44 -3
- package/dist/types/components/CollectionToolbar/CollectionToolbar.uni.driver.d.ts.map +1 -1
- package/dist/types/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionViewsDropdown/ViewsDropdown.st.css.d.ts.map +1 -1
- package/dist/types/components/DragHandle/DragHandle.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/address/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/boolean/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/color/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/date/Edit.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/datetime/DateTimeEditWrapper.d.ts +13 -0
- package/dist/types/components/EditableTable/cellTypes/datetime/DateTimeEditWrapper.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/datetime/Edit.d.ts +4 -0
- package/dist/types/components/EditableTable/cellTypes/datetime/Edit.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/datetime/Edit.st.css.d.ts +22 -0
- package/dist/types/components/EditableTable/cellTypes/datetime/Edit.st.css.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/datetime/Edit.uni.driver.d.ts +21 -0
- package/dist/types/components/EditableTable/cellTypes/datetime/Edit.uni.driver.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/datetime/View.d.ts +4 -0
- package/dist/types/components/EditableTable/cellTypes/datetime/View.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/datetime/View.st.css.d.ts +21 -0
- package/dist/types/components/EditableTable/cellTypes/datetime/View.st.css.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/datetime/View.uni.driver.d.ts +18 -0
- package/dist/types/components/EditableTable/cellTypes/datetime/View.uni.driver.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/datetime/formatters.d.ts +22 -0
- package/dist/types/components/EditableTable/cellTypes/datetime/formatters.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/datetime/helpers.d.ts +10 -0
- package/dist/types/components/EditableTable/cellTypes/datetime/helpers.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/datetime/index.d.ts +15 -0
- package/dist/types/components/EditableTable/cellTypes/datetime/index.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/datetime/mergeDateTime.d.ts +11 -0
- package/dist/types/components/EditableTable/cellTypes/datetime/mergeDateTime.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/datetime/subCellContext.d.ts +12 -0
- package/dist/types/components/EditableTable/cellTypes/datetime/subCellContext.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/email/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/index.d.ts +2 -1
- package/dist/types/components/EditableTable/cellTypes/index.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/number/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/object/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/cellTypes/time/Edit.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/time/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EntityPage/EntityPagePlain.st.css.d.ts.map +1 -1
- package/dist/types/components/Fade/Fade.st.css.d.ts.map +1 -1
- package/dist/types/components/FiltersPanel/FiltersPanel.d.ts.map +1 -1
- package/dist/types/components/FiltersPanel/FiltersPanel.uni.driver.d.ts +7 -0
- package/dist/types/components/FiltersPanel/FiltersPanel.uni.driver.d.ts.map +1 -1
- package/dist/types/components/FiltersPanel/FiltersPanelSearch.d.ts +12 -0
- package/dist/types/components/FiltersPanel/FiltersPanelSearch.d.ts.map +1 -0
- package/dist/types/components/FiltersPanel/FiltersPanelSearchNoResults.d.ts +12 -0
- package/dist/types/components/FiltersPanel/FiltersPanelSearchNoResults.d.ts.map +1 -0
- package/dist/types/components/FiltersPanel/FiltersPanelState.d.ts +3 -0
- package/dist/types/components/FiltersPanel/FiltersPanelState.d.ts.map +1 -1
- package/dist/types/components/Grid/Grid.uni.driver.d.ts +18 -4
- package/dist/types/components/Grid/Grid.uni.driver.d.ts.map +1 -1
- package/dist/types/components/Grid/GridFolders.uni.driver.d.ts +42 -0
- package/dist/types/components/Grid/GridFolders.uni.driver.d.ts.map +1 -1
- package/dist/types/components/Grid/GridFoldersSection.uni.driver.d.ts +14 -0
- package/dist/types/components/Grid/GridFoldersSection.uni.driver.d.ts.map +1 -1
- package/dist/types/components/InputOverflow/InputOverflow.st.css.d.ts.map +1 -1
- package/dist/types/components/Kanban/Kanban.uni.driver.d.ts +14 -0
- package/dist/types/components/Kanban/Kanban.uni.driver.d.ts.map +1 -1
- package/dist/types/components/LayoutSwitch/LayoutSwitch.uni.driver.d.ts +42 -0
- package/dist/types/components/LayoutSwitch/LayoutSwitch.uni.driver.d.ts.map +1 -1
- package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts +78 -0
- package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts.map +1 -1
- package/dist/types/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.d.ts.map +1 -1
- package/dist/types/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.d.ts.map +1 -1
- package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.d.ts.map +1 -1
- package/dist/types/components/PickerTableListItem/PickerTableListItem.st.css.d.ts.map +1 -1
- package/dist/types/components/SetupWidget/AllCompleteState.d.ts +15 -0
- package/dist/types/components/SetupWidget/AllCompleteState.d.ts.map +1 -0
- package/dist/types/components/SetupWidget/SetupStepCard.d.ts +20 -0
- package/dist/types/components/SetupWidget/SetupStepCard.d.ts.map +1 -0
- package/dist/types/components/SetupWidget/SetupStepGroup.d.ts +22 -0
- package/dist/types/components/SetupWidget/SetupStepGroup.d.ts.map +1 -0
- package/dist/types/components/SetupWidget/SetupStepIcon.d.ts +10 -0
- package/dist/types/components/SetupWidget/SetupStepIcon.d.ts.map +1 -0
- package/dist/types/components/SetupWidget/SetupStepRow.d.ts +22 -0
- package/dist/types/components/SetupWidget/SetupStepRow.d.ts.map +1 -0
- package/dist/types/components/SetupWidget/SetupWidget.d.ts +47 -0
- package/dist/types/components/SetupWidget/SetupWidget.d.ts.map +1 -0
- package/dist/types/components/SetupWidget/SetupWidget.st.css.d.ts +30 -0
- package/dist/types/components/SetupWidget/SetupWidget.st.css.d.ts.map +1 -0
- package/dist/types/components/SetupWidget/SetupWidget.uni.driver.d.ts +45 -0
- package/dist/types/components/SetupWidget/SetupWidget.uni.driver.d.ts.map +1 -0
- package/dist/types/components/SetupWidget/SetupWidgetHeader.d.ts +16 -0
- package/dist/types/components/SetupWidget/SetupWidgetHeader.d.ts.map +1 -0
- package/dist/types/components/SetupWidget/SetupWidgetSkeleton.d.ts +12 -0
- package/dist/types/components/SetupWidget/SetupWidgetSkeleton.d.ts.map +1 -0
- package/dist/types/components/SetupWidget/index.d.ts +4 -0
- package/dist/types/components/SetupWidget/index.d.ts.map +1 -0
- package/dist/types/components/SkeletonCard/SkeletonCard.st.css.d.ts.map +1 -1
- package/dist/types/components/SlidingModal/SlidingModal.st.css.d.ts.map +1 -1
- package/dist/types/components/Table/Table.uni.driver.d.ts +28 -0
- package/dist/types/components/Table/Table.uni.driver.d.ts.map +1 -1
- package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts +42 -0
- package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts.map +1 -1
- package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts +42 -0
- package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts.map +1 -1
- package/dist/types/components/TabsFilter/TabsFilter.st.css.d.ts.map +1 -1
- package/dist/types/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.d.ts.map +1 -1
- package/dist/types/components/ToolbarItemBox/ToolbarItemBox.st.css.d.ts.map +1 -1
- package/dist/types/components/common.st.css.d.ts.map +1 -1
- package/dist/types/exports/testkit/unidriver.d.ts +1 -0
- package/dist/types/exports/testkit/unidriver.d.ts.map +1 -1
- package/dist/types/hooks/useBuildAccordionItems.d.ts +1 -1
- package/dist/types/hooks/useBuildAccordionItems.d.ts.map +1 -1
- package/dist/types/hooks/useSetupWidget/index.d.ts +2 -0
- package/dist/types/hooks/useSetupWidget/index.d.ts.map +1 -0
- package/dist/types/hooks/useSetupWidget/useSetupWidget.d.ts +16 -0
- package/dist/types/hooks/useSetupWidget/useSetupWidget.d.ts.map +1 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/state/EditableTable/types.d.ts +1 -0
- package/dist/types/state/EditableTable/types.d.ts.map +1 -1
- package/dist/types/state/FormPage/FormPageHeader.st.css.d.ts.map +1 -1
- package/dist/types/testkit/enzyme.d.ts +210 -0
- package/dist/types/testkit/enzyme.d.ts.map +1 -1
- package/dist/types/testkit/jsdom.d.ts +293 -0
- package/dist/types/testkit/jsdom.d.ts.map +1 -1
- package/dist/types/testkit/playwright.d.ts +210 -0
- package/dist/types/testkit/playwright.d.ts.map +1 -1
- package/dist/types/testkit/puppeteer.d.ts +224 -0
- package/dist/types/testkit/puppeteer.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/CollectionToolbar.uni.driver.ts +15 -0
- package/src/components/CollectionToolbar/SearchOrCustomFilter.st.css.ts +2 -2
- package/src/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.ts +2 -2
- package/src/components/CollectionViewsDropdown/ViewsDropdown.st.css.ts +2 -2
- package/src/components/DragHandle/DragHandle.st.css.ts +2 -2
- package/src/components/EditableTable/EditableCell.st.css.ts +2 -2
- package/src/components/EditableTable/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/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/Edit.tsx +2 -2
- package/src/components/EditableTable/cellTypes/date/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/datetime/DateTimeEditWrapper.tsx +36 -0
- package/src/components/EditableTable/cellTypes/datetime/Edit.st.css +44 -0
- package/src/components/EditableTable/cellTypes/datetime/Edit.st.css.ts +25 -0
- package/src/components/EditableTable/cellTypes/datetime/Edit.tsx +425 -0
- package/src/components/EditableTable/cellTypes/datetime/Edit.uni.driver.ts +19 -0
- package/src/components/EditableTable/cellTypes/datetime/View.st.css +36 -0
- package/src/components/EditableTable/cellTypes/datetime/View.st.css.ts +25 -0
- package/src/components/EditableTable/cellTypes/datetime/View.tsx +47 -0
- package/src/components/EditableTable/cellTypes/datetime/View.uni.driver.ts +16 -0
- package/src/components/EditableTable/cellTypes/datetime/formatters.ts +60 -0
- package/src/components/EditableTable/cellTypes/datetime/helpers.ts +33 -0
- package/src/components/EditableTable/cellTypes/datetime/index.ts +49 -0
- package/src/components/EditableTable/cellTypes/datetime/mergeDateTime.ts +35 -0
- package/src/components/EditableTable/cellTypes/datetime/subCellContext.ts +21 -0
- 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/index.ts +3 -0
- package/src/components/EditableTable/cellTypes/number/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/number/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/object/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/object/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/select/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/text/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/text/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/time/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/time/Edit.tsx +5 -1
- 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/EntityPage/EntityPagePlain.st.css.ts +2 -2
- package/src/components/Fade/Fade.st.css.ts +2 -2
- package/src/components/FiltersPanel/FiltersPanel.tsx +40 -11
- package/src/components/FiltersPanel/FiltersPanel.uni.driver.ts +25 -1
- package/src/components/FiltersPanel/FiltersPanelSearch.tsx +29 -0
- package/src/components/FiltersPanel/FiltersPanelSearchNoResults.tsx +48 -0
- package/src/components/FiltersPanel/FiltersPanelState.ts +19 -1
- 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/SetupWidget/AllCompleteState.tsx +46 -0
- package/src/components/SetupWidget/SetupStepCard.tsx +166 -0
- package/src/components/SetupWidget/SetupStepGroup.tsx +139 -0
- package/src/components/SetupWidget/SetupStepIcon.tsx +31 -0
- package/src/components/SetupWidget/SetupStepRow.tsx +196 -0
- package/src/components/SetupWidget/SetupWidget.st.css +95 -0
- package/src/components/SetupWidget/SetupWidget.st.css.ts +25 -0
- package/src/components/SetupWidget/SetupWidget.tsx +253 -0
- package/src/components/SetupWidget/SetupWidget.uni.driver.ts +59 -0
- package/src/components/SetupWidget/SetupWidgetHeader.tsx +64 -0
- package/src/components/SetupWidget/SetupWidgetSkeleton.tsx +98 -0
- package/src/components/SetupWidget/dashboard-setup-integration-gaps.md +231 -0
- package/src/components/SetupWidget/dashboard-setup-migration-plan.md +163 -0
- package/src/components/SetupWidget/index.ts +9 -0
- package/src/components/SkeletonCard/SkeletonCard.st.css.ts +2 -2
- package/src/components/SlidingModal/SlidingModal.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/exports/testkit/unidriver.ts +1 -0
- package/src/hooks/useBuildAccordionItems.tsx +66 -44
- package/src/hooks/useSetupWidget/index.ts +1 -0
- package/src/hooks/useSetupWidget/useSetupWidget.ts +29 -0
- package/src/index.ts +2 -0
- package/src/state/CollectionPage/CollectionPageHeader.st.css.ts +2 -2
- package/src/state/EditableTable/types.ts +1 -0
- package/src/state/FormPage/FormPageHeader.st.css.ts +2 -2
- package/src/styles.global.css +2 -2
- package/src/testkit/jsdom.ts +4 -0
- package/src/version.ts +1 -1
|
@@ -0,0 +1,425 @@
|
|
|
1
|
+
import React, { useCallback, useEffect, useRef, useState } from 'react';
|
|
2
|
+
import {
|
|
3
|
+
CellDateInput,
|
|
4
|
+
CellTimeInput,
|
|
5
|
+
type CellDateInputImperativeHandle,
|
|
6
|
+
dateToTime,
|
|
7
|
+
timeToDate,
|
|
8
|
+
useTranslations,
|
|
9
|
+
type Time,
|
|
10
|
+
} from '@wix/patterns-fields';
|
|
11
|
+
import type { TimeInputImperativeActions } from '@wix/design-system';
|
|
12
|
+
import type { CellEditProps } from '../../types';
|
|
13
|
+
import { useCloseOnAncestorScroll } from '../../../../hooks/useCloseOnAncestorScroll';
|
|
14
|
+
import { mergeDate, mergeTime } from './mergeDateTime';
|
|
15
|
+
import {
|
|
16
|
+
datePlaceholder,
|
|
17
|
+
formatDatePart,
|
|
18
|
+
formatTimePart,
|
|
19
|
+
timePlaceholder,
|
|
20
|
+
} from './formatters';
|
|
21
|
+
import { isValidDate, setNativeInputValue } from './helpers';
|
|
22
|
+
import { useSubCellClickTracker } from './subCellContext';
|
|
23
|
+
import { classes } from './Edit.st.css.js';
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* DateTimeEdit — 2-in-1 sub-cell editor.
|
|
27
|
+
*
|
|
28
|
+
* Single `Date | null` value rendered as two halves (date | time) with a
|
|
29
|
+
* vertical divider. Each half has its own focus + edit lifecycle, but only
|
|
30
|
+
* one sub-cell is in edit mode at a time. Commits merge the half-value back
|
|
31
|
+
* into the full `Date` before calling onChange (so the other half is
|
|
32
|
+
* preserved).
|
|
33
|
+
*
|
|
34
|
+
* The EditableTable framework has no sub-cell concept — `focusedCell` /
|
|
35
|
+
* `editingCell` are `{rowKey, columnId}` only. So sub-cell focus, intra-cell
|
|
36
|
+
* Tab interception, and date-popover focused-day capture all live here.
|
|
37
|
+
*/
|
|
38
|
+
|
|
39
|
+
type SubEdit = 'date' | 'time';
|
|
40
|
+
|
|
41
|
+
export const DateTimeEdit: React.FC<CellEditProps<Date | null>> = ({
|
|
42
|
+
value,
|
|
43
|
+
onChange,
|
|
44
|
+
onCommit,
|
|
45
|
+
onCancel,
|
|
46
|
+
inputRef,
|
|
47
|
+
editTrigger,
|
|
48
|
+
}) => {
|
|
49
|
+
const { t } = useTranslations();
|
|
50
|
+
|
|
51
|
+
// Initial sub-cell. The View records the clicked half via
|
|
52
|
+
// `onMouseDownCapture` (capture phase, before the framework's onClick
|
|
53
|
+
// stopPropagation) into the wrapper-provided tracker; consume it once.
|
|
54
|
+
const tracker = useSubCellClickTracker();
|
|
55
|
+
const [subEdit, setSubEdit] = useState<SubEdit>(() => {
|
|
56
|
+
if (editTrigger === 'click' || editTrigger === 'doubleClick') {
|
|
57
|
+
return tracker.consume() ?? 'date';
|
|
58
|
+
}
|
|
59
|
+
return 'date';
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
const dateWrapperRef = useRef<HTMLDivElement | null>(null);
|
|
63
|
+
const timeWrapperRef = useRef<HTMLDivElement | null>(null);
|
|
64
|
+
const datePickerRef = useRef<CellDateInputImperativeHandle | null>(null);
|
|
65
|
+
const timeInputRef = useRef<TimeInputImperativeActions | null>(null);
|
|
66
|
+
// Direct refs to the underlying <input> in each half. Populated by
|
|
67
|
+
// CellDateInput / CellTimeInput via their object-ref `inputRef` prop.
|
|
68
|
+
// Used for focus, programmatic typed-key forwarding, and the "is the
|
|
69
|
+
// date input focused?" check — instead of querySelector'ing into WDS
|
|
70
|
+
// internals.
|
|
71
|
+
const dateInputElRef = useRef<HTMLInputElement | null | undefined>(null);
|
|
72
|
+
const timeInputElRef = useRef<HTMLInputElement | null | undefined>(null);
|
|
73
|
+
|
|
74
|
+
const isInsideCell = useCallback((target: EventTarget | null): boolean => {
|
|
75
|
+
if (!(target instanceof Node)) {
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
return Boolean(
|
|
79
|
+
dateWrapperRef.current?.contains(target) ||
|
|
80
|
+
timeWrapperRef.current?.contains(target),
|
|
81
|
+
);
|
|
82
|
+
}, []);
|
|
83
|
+
|
|
84
|
+
// Latest date from the date input (typed or picked), NOT yet committed to
|
|
85
|
+
// editingValue. WDS DateInput's `componentDidUpdate` reformats the input
|
|
86
|
+
// text on every props.value change, so calling onChange while the user is
|
|
87
|
+
// still in the date half would overwrite mid-typing input. We stash here
|
|
88
|
+
// and flush on focusout / intra-cell Tab / Escape.
|
|
89
|
+
const typedDateRef = useRef<Date | null>(null);
|
|
90
|
+
|
|
91
|
+
const onChangeRef = useRef(onChange);
|
|
92
|
+
const onCommitRef = useRef(onCommit);
|
|
93
|
+
const valueRef = useRef(value);
|
|
94
|
+
const subEditRef = useRef(subEdit);
|
|
95
|
+
onChangeRef.current = onChange;
|
|
96
|
+
onCommitRef.current = onCommit;
|
|
97
|
+
valueRef.current = value;
|
|
98
|
+
subEditRef.current = subEdit;
|
|
99
|
+
|
|
100
|
+
// Type-to-edit trigger is consumed exactly once on mount. Without this
|
|
101
|
+
// guard, both type-forwarding effects below would re-inject the typed
|
|
102
|
+
// character every time `subEdit` changes (Tab between halves), because
|
|
103
|
+
// `editTrigger` stays stable for the lifetime of the edit session.
|
|
104
|
+
const typeTriggerConsumedRef = useRef(false);
|
|
105
|
+
|
|
106
|
+
const commitTypedDate = useCallback(() => {
|
|
107
|
+
if (typedDateRef.current) {
|
|
108
|
+
onChangeRef.current(typedDateRef.current);
|
|
109
|
+
typedDateRef.current = null;
|
|
110
|
+
}
|
|
111
|
+
}, []);
|
|
112
|
+
|
|
113
|
+
const closeCalendar = useCallback(
|
|
114
|
+
() => datePickerRef.current?.closeCalendar(),
|
|
115
|
+
[],
|
|
116
|
+
);
|
|
117
|
+
useCloseOnAncestorScroll(dateWrapperRef, closeCalendar, subEdit === 'date');
|
|
118
|
+
|
|
119
|
+
const closeTimeDropdown = useCallback(() => timeInputRef.current?.blur(), []);
|
|
120
|
+
useCloseOnAncestorScroll(
|
|
121
|
+
timeWrapperRef,
|
|
122
|
+
closeTimeDropdown,
|
|
123
|
+
subEdit === 'time',
|
|
124
|
+
);
|
|
125
|
+
|
|
126
|
+
// Flush typed-but-not-committed date when focus leaves the date half. The
|
|
127
|
+
// gesture paths (calendar day pick, Tab/Enter on focused day, intra-cell
|
|
128
|
+
// Tab, Enter on input) flush via their own handlers; this covers external
|
|
129
|
+
// exits — clicking another cell, the toolbar, or anything else outside
|
|
130
|
+
// the date wrapper. Without it the framework's commitEdit (triggered by
|
|
131
|
+
// the focus shift to another cell) would read the stale editingValue and
|
|
132
|
+
// silently discard the user's typing.
|
|
133
|
+
useEffect(() => {
|
|
134
|
+
if (subEdit !== 'date') {
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
const wrapper = dateWrapperRef.current;
|
|
138
|
+
if (!wrapper) {
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
const onFocusOut = (e: FocusEvent) => {
|
|
142
|
+
const next = e.relatedTarget as Node | null;
|
|
143
|
+
if (next && wrapper.contains(next)) {
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
commitTypedDate();
|
|
147
|
+
};
|
|
148
|
+
wrapper.addEventListener('focusout', onFocusOut);
|
|
149
|
+
return () => {
|
|
150
|
+
wrapper.removeEventListener('focusout', onFocusOut);
|
|
151
|
+
};
|
|
152
|
+
}, [subEdit, commitTypedDate]);
|
|
153
|
+
|
|
154
|
+
// Focus active sub-input on mount / sub-cell switch. Deferred via rAF so
|
|
155
|
+
// any in-flight click chain finishes before WDS dropdown options mount —
|
|
156
|
+
// otherwise a stray mousedown can land on a freshly-rendered option and
|
|
157
|
+
// silently commit a value the user never picked.
|
|
158
|
+
useEffect(() => {
|
|
159
|
+
if (subEdit === 'time') {
|
|
160
|
+
const raf = requestAnimationFrame(() => {
|
|
161
|
+
const input = timeInputElRef.current;
|
|
162
|
+
if (input) {
|
|
163
|
+
input.focus();
|
|
164
|
+
input.click(); // auto-open WDS TimeInput dropdown
|
|
165
|
+
}
|
|
166
|
+
});
|
|
167
|
+
return () => cancelAnimationFrame(raf);
|
|
168
|
+
}
|
|
169
|
+
const raf = requestAnimationFrame(() => {
|
|
170
|
+
datePickerRef.current?.focus();
|
|
171
|
+
});
|
|
172
|
+
return () => cancelAnimationFrame(raf);
|
|
173
|
+
}, [subEdit]);
|
|
174
|
+
|
|
175
|
+
// Type-to-edit: forward the typed character into the initial sub-cell's
|
|
176
|
+
// input. Runs once via typeTriggerConsumedRef — re-running on sub-cell
|
|
177
|
+
// switches would re-inject the digit every time the user Tabs between the
|
|
178
|
+
// date and time halves (editTrigger stays stable for the whole session).
|
|
179
|
+
useEffect(() => {
|
|
180
|
+
if (typeTriggerConsumedRef.current) {
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
if (
|
|
184
|
+
!editTrigger ||
|
|
185
|
+
typeof editTrigger !== 'object' ||
|
|
186
|
+
editTrigger.kind !== 'type'
|
|
187
|
+
) {
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
190
|
+
typeTriggerConsumedRef.current = true;
|
|
191
|
+
const key = editTrigger.key;
|
|
192
|
+
if (key.length !== 1) {
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
const raf = requestAnimationFrame(() => {
|
|
196
|
+
if (subEditRef.current === 'date') {
|
|
197
|
+
datePickerRef.current?.openCalendar();
|
|
198
|
+
const dpInput = dateInputElRef.current;
|
|
199
|
+
if (dpInput) {
|
|
200
|
+
setNativeInputValue(dpInput, key);
|
|
201
|
+
}
|
|
202
|
+
return;
|
|
203
|
+
}
|
|
204
|
+
const input = timeInputElRef.current;
|
|
205
|
+
if (input) {
|
|
206
|
+
setNativeInputValue(input, key);
|
|
207
|
+
}
|
|
208
|
+
});
|
|
209
|
+
return () => cancelAnimationFrame(raf);
|
|
210
|
+
}, [editTrigger]);
|
|
211
|
+
|
|
212
|
+
// Wire inputRef to whichever sub-input is currently active.
|
|
213
|
+
useEffect(() => {
|
|
214
|
+
if (!inputRef) {
|
|
215
|
+
return;
|
|
216
|
+
}
|
|
217
|
+
inputRef.current =
|
|
218
|
+
(subEdit === 'time' ? timeInputElRef.current : dateInputElRef.current) ??
|
|
219
|
+
undefined;
|
|
220
|
+
}, [subEdit, inputRef]);
|
|
221
|
+
|
|
222
|
+
// Intra-cell Tab (date → time, Shift+Tab time → date). Document-capture
|
|
223
|
+
// so we run BEFORE the table's useKeyboardNavigation Tab handler — the
|
|
224
|
+
// framework only sees the Tab that should actually exit the cell.
|
|
225
|
+
useEffect(() => {
|
|
226
|
+
const onKeyDownCapture = (e: KeyboardEvent) => {
|
|
227
|
+
if (e.key !== 'Tab') {
|
|
228
|
+
return;
|
|
229
|
+
}
|
|
230
|
+
if (!isInsideCell(e.target)) {
|
|
231
|
+
return;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
if (!e.shiftKey && subEditRef.current === 'date') {
|
|
235
|
+
e.preventDefault();
|
|
236
|
+
e.stopImmediatePropagation();
|
|
237
|
+
commitTypedDate();
|
|
238
|
+
setSubEdit('time');
|
|
239
|
+
return;
|
|
240
|
+
}
|
|
241
|
+
if (e.shiftKey && subEditRef.current === 'time') {
|
|
242
|
+
e.preventDefault();
|
|
243
|
+
e.stopImmediatePropagation();
|
|
244
|
+
setSubEdit('date');
|
|
245
|
+
return;
|
|
246
|
+
}
|
|
247
|
+
};
|
|
248
|
+
document.addEventListener('keydown', onKeyDownCapture, true);
|
|
249
|
+
return () => {
|
|
250
|
+
document.removeEventListener('keydown', onKeyDownCapture, true);
|
|
251
|
+
};
|
|
252
|
+
}, [commitTypedDate, isInsideCell]);
|
|
253
|
+
|
|
254
|
+
// Click on the inactive sub-cell switches sub-edit. pointerdown capture
|
|
255
|
+
// only: calling preventDefault on a primary pointer's pointerdown
|
|
256
|
+
// suppresses the synthesized mousedown / click that would otherwise let
|
|
257
|
+
// WDS DropdownBase.onSelect commit whichever option happens to sit under
|
|
258
|
+
// the click coords. Pair with the rAF defer on dropdown open above.
|
|
259
|
+
useEffect(() => {
|
|
260
|
+
const onPointerDown = (e: PointerEvent) => {
|
|
261
|
+
if (!isInsideCell(e.target)) {
|
|
262
|
+
return;
|
|
263
|
+
}
|
|
264
|
+
const target = e.target as HTMLElement | null;
|
|
265
|
+
const sub = (
|
|
266
|
+
target?.closest('[data-sub-cell]') as HTMLElement | null
|
|
267
|
+
)?.getAttribute('data-sub-cell');
|
|
268
|
+
if (sub !== 'date' && sub !== 'time') {
|
|
269
|
+
return;
|
|
270
|
+
}
|
|
271
|
+
if (sub === subEditRef.current) {
|
|
272
|
+
return;
|
|
273
|
+
}
|
|
274
|
+
e.preventDefault();
|
|
275
|
+
e.stopImmediatePropagation();
|
|
276
|
+
setSubEdit(sub as SubEdit);
|
|
277
|
+
};
|
|
278
|
+
document.addEventListener('pointerdown', onPointerDown, true);
|
|
279
|
+
return () => {
|
|
280
|
+
document.removeEventListener('pointerdown', onPointerDown, true);
|
|
281
|
+
};
|
|
282
|
+
}, [isInsideCell]);
|
|
283
|
+
|
|
284
|
+
const handleDateChange = useCallback((newDate: Date) => {
|
|
285
|
+
// Stash, don't commit — WDS DateInput reformats input text on every
|
|
286
|
+
// props.value change, clobbering mid-typing input. The focusout effect
|
|
287
|
+
// (and intra-cell Tab) flushes this to editingValue at the right moment.
|
|
288
|
+
typedDateRef.current = mergeDate(valueRef.current, newDate);
|
|
289
|
+
}, []);
|
|
290
|
+
|
|
291
|
+
const handleTimeChange = useCallback(
|
|
292
|
+
(time: Time | null) => {
|
|
293
|
+
if (!time) {
|
|
294
|
+
// Per spec: no clear on the time half. CellTimeInput's clear button
|
|
295
|
+
// is suppressed (no onClear prop). If WDS somehow emits null, no-op.
|
|
296
|
+
return;
|
|
297
|
+
}
|
|
298
|
+
const asDate = timeToDate(time);
|
|
299
|
+
const merged = mergeTime(valueRef.current, asDate);
|
|
300
|
+
onChange(merged);
|
|
301
|
+
onCommit();
|
|
302
|
+
},
|
|
303
|
+
[onChange, onCommit],
|
|
304
|
+
);
|
|
305
|
+
|
|
306
|
+
// Clears the entire DateTime value. Wired to the date half's clear (X)
|
|
307
|
+
// button — the single "remove this DateTime" affordance. Time half has no
|
|
308
|
+
// clear button: there is no "date set, time null" state.
|
|
309
|
+
const handleDateClear = useCallback(() => {
|
|
310
|
+
// Drop any stashed typed date so the focusout flush doesn't restore it
|
|
311
|
+
// after we commit null.
|
|
312
|
+
typedDateRef.current = null;
|
|
313
|
+
onChange(null);
|
|
314
|
+
onCommit();
|
|
315
|
+
}, [onChange, onCommit]);
|
|
316
|
+
|
|
317
|
+
const handleEscape = useCallback(
|
|
318
|
+
(e: React.KeyboardEvent) => {
|
|
319
|
+
if (e.key === 'Escape') {
|
|
320
|
+
e.preventDefault();
|
|
321
|
+
e.stopPropagation();
|
|
322
|
+
// Cancellation drops any typed-but-stashed date. Without this, a
|
|
323
|
+
// delayed focusout (browsers fire blur asynchronously when the
|
|
324
|
+
// focused element is removed) could re-introduce the typed value
|
|
325
|
+
// after the user already pressed Escape.
|
|
326
|
+
typedDateRef.current = null;
|
|
327
|
+
onCancel();
|
|
328
|
+
}
|
|
329
|
+
},
|
|
330
|
+
[onCancel],
|
|
331
|
+
);
|
|
332
|
+
|
|
333
|
+
const validDate = isValidDate(value) ? value : null;
|
|
334
|
+
|
|
335
|
+
const timeAsString: Time | null = validDate ? dateToTime(validDate) : null;
|
|
336
|
+
|
|
337
|
+
const placeholderTokens = {
|
|
338
|
+
day: t('CMS.cellDateTime.placeholder.day'),
|
|
339
|
+
month: t('CMS.cellDateTime.placeholder.month'),
|
|
340
|
+
year: t('CMS.cellDateTime.placeholder.year'),
|
|
341
|
+
hour: t('CMS.cellDateTime.placeholder.hour'),
|
|
342
|
+
minute: t('CMS.cellDateTime.placeholder.minute'),
|
|
343
|
+
};
|
|
344
|
+
const datePh = datePlaceholder(placeholderTokens);
|
|
345
|
+
const timePh = timePlaceholder(placeholderTokens);
|
|
346
|
+
|
|
347
|
+
// Event-suppression layers in this component, by owner:
|
|
348
|
+
// 1. halfHandlers.onClick / onMouseDown (React, below)
|
|
349
|
+
// → swallow the framework's "click inside cell during edit" handling
|
|
350
|
+
// so clicks on either half don't re-trigger an edit start.
|
|
351
|
+
// 2. halfHandlers.onKeyDown = handleEscape (React, below)
|
|
352
|
+
// → cancels the edit before the framework's Escape behavior runs.
|
|
353
|
+
// 3. document keydown capture for intra-cell Tab (useEffect above)
|
|
354
|
+
// → date↔time half switch runs BEFORE the framework's Tab handler
|
|
355
|
+
// would move focus to the next column.
|
|
356
|
+
// 4. document pointerdown capture for sub-cell switch (useEffect above)
|
|
357
|
+
// → click on the inactive half switches subEdit without committing,
|
|
358
|
+
// and preventDefault suppresses the synthesized mousedown/click
|
|
359
|
+
// that would otherwise let WDS DropdownBase.onSelect commit a
|
|
360
|
+
// random option under the cursor.
|
|
361
|
+
const halfHandlers = {
|
|
362
|
+
onKeyDown: handleEscape,
|
|
363
|
+
onClick: (e: React.MouseEvent) => e.stopPropagation(),
|
|
364
|
+
onMouseDown: (e: React.MouseEvent) => e.stopPropagation(),
|
|
365
|
+
};
|
|
366
|
+
|
|
367
|
+
return (
|
|
368
|
+
<>
|
|
369
|
+
<div
|
|
370
|
+
ref={dateWrapperRef}
|
|
371
|
+
data-sub-cell="date"
|
|
372
|
+
className={classes.dateHalf}
|
|
373
|
+
{...halfHandlers}
|
|
374
|
+
>
|
|
375
|
+
{subEdit === 'date' ? (
|
|
376
|
+
<CellDateInput
|
|
377
|
+
ref={datePickerRef}
|
|
378
|
+
inputRef={dateInputElRef}
|
|
379
|
+
value={validDate}
|
|
380
|
+
onChange={handleDateChange}
|
|
381
|
+
onClear={handleDateClear}
|
|
382
|
+
placeholder={datePh}
|
|
383
|
+
ariaLabel={t('CMS.cellDateTime.ariaLabel.date')}
|
|
384
|
+
hidePrefix
|
|
385
|
+
dataHook="datetime-date-edit"
|
|
386
|
+
/>
|
|
387
|
+
) : validDate ? (
|
|
388
|
+
<span className={classes.passiveText}>
|
|
389
|
+
{formatDatePart(validDate)}
|
|
390
|
+
</span>
|
|
391
|
+
) : (
|
|
392
|
+
<span className={classes.placeholderText}>{datePh}</span>
|
|
393
|
+
)}
|
|
394
|
+
</div>
|
|
395
|
+
|
|
396
|
+
<span aria-hidden className={classes.divider} />
|
|
397
|
+
|
|
398
|
+
<div
|
|
399
|
+
ref={timeWrapperRef}
|
|
400
|
+
data-sub-cell="time"
|
|
401
|
+
className={classes.timeHalf}
|
|
402
|
+
aria-label={t('CMS.cellDateTime.ariaLabel.time')}
|
|
403
|
+
{...halfHandlers}
|
|
404
|
+
>
|
|
405
|
+
{subEdit === 'time' ? (
|
|
406
|
+
<CellTimeInput
|
|
407
|
+
ref={timeInputRef}
|
|
408
|
+
inputRef={timeInputElRef}
|
|
409
|
+
value={timeAsString}
|
|
410
|
+
onChange={handleTimeChange}
|
|
411
|
+
placeholder={timePh}
|
|
412
|
+
clearable={false}
|
|
413
|
+
dataHook="datetime-time-edit"
|
|
414
|
+
/>
|
|
415
|
+
) : validDate ? (
|
|
416
|
+
<span className={classes.passiveText}>
|
|
417
|
+
{formatTimePart(validDate)}
|
|
418
|
+
</span>
|
|
419
|
+
) : (
|
|
420
|
+
<span className={classes.placeholderText}>{timePh}</span>
|
|
421
|
+
)}
|
|
422
|
+
</div>
|
|
423
|
+
</>
|
|
424
|
+
);
|
|
425
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { UniDriver } from '@wix/wix-ui-test-utils/unidriver';
|
|
2
|
+
import { baseUniDriverFactory } from '../../../../unidriver';
|
|
3
|
+
|
|
4
|
+
export function DateTimeEditUniDriver(base: UniDriver, _body: UniDriver) {
|
|
5
|
+
const dateHalf = () => base.$('[data-sub-cell="date"]');
|
|
6
|
+
const timeHalf = () => base.$('[data-sub-cell="time"]');
|
|
7
|
+
|
|
8
|
+
return {
|
|
9
|
+
...baseUniDriverFactory(base),
|
|
10
|
+
getDateInputValue: () => dateHalf().$('input').attr('value'),
|
|
11
|
+
getTimeInputValue: () => timeHalf().$('input').attr('value'),
|
|
12
|
+
clickDateHalf: () => dateHalf().click(),
|
|
13
|
+
clickTimeHalf: () => timeHalf().click(),
|
|
14
|
+
dateHalfHasInput: () => dateHalf().$('input').exists(),
|
|
15
|
+
timeHalfHasInput: () => timeHalf().$('input').exists(),
|
|
16
|
+
hasTimeClearButton: () =>
|
|
17
|
+
timeHalf().$('[data-hook="cell-time-input-clear"]').exists(),
|
|
18
|
+
};
|
|
19
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
@property st-global(--wds-color-text-placeholder);
|
|
2
|
+
@property st-global(--wds-color-border-standard);
|
|
3
|
+
|
|
4
|
+
.leaf {
|
|
5
|
+
min-width: 0;
|
|
6
|
+
padding: 9px 12px;
|
|
7
|
+
overflow: hidden;
|
|
8
|
+
text-overflow: ellipsis;
|
|
9
|
+
white-space: nowrap;
|
|
10
|
+
font-size: 14px;
|
|
11
|
+
line-height: 18px;
|
|
12
|
+
font-family: inherit;
|
|
13
|
+
box-sizing: border-box;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.datePart {
|
|
17
|
+
-st-extends: leaf;
|
|
18
|
+
flex: 60 1 0;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.timePart {
|
|
22
|
+
-st-extends: leaf;
|
|
23
|
+
flex: 40 1 0;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.placeholder {
|
|
27
|
+
-st-extends: leaf;
|
|
28
|
+
color: var(--wds-color-text-placeholder, #868aa5);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.divider {
|
|
32
|
+
width: 1px;
|
|
33
|
+
height: 16px;
|
|
34
|
+
background: var(--wds-color-border-standard, #dfe5eb);
|
|
35
|
+
flex-shrink: 0;
|
|
36
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
import { classesRuntime, statesRuntime } from "../../../../stylable-esm-runtime.js";
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
var _namespace_ = "View3728138641";
|
|
9
|
+
var _style_ = classesRuntime.bind(null, _namespace_);
|
|
10
|
+
|
|
11
|
+
export var cssStates = statesRuntime.bind(null, _namespace_);
|
|
12
|
+
export var style = _style_;
|
|
13
|
+
export var st: import("@stylable/runtime").STFunction = _style_;
|
|
14
|
+
|
|
15
|
+
export var namespace = _namespace_;
|
|
16
|
+
export var classes = {"root":"View3728138641__root","leaf":"View3728138641__leaf","datePart":"View3728138641__datePart View3728138641__leaf","timePart":"View3728138641__timePart View3728138641__leaf","placeholder":"View3728138641__placeholder View3728138641__leaf","divider":"View3728138641__divider"};
|
|
17
|
+
export var keyframes = {};
|
|
18
|
+
export var layers = {};
|
|
19
|
+
export var containers = {};
|
|
20
|
+
export var stVars = {};
|
|
21
|
+
export var vars = {"wds-color-text-placeholder":"--wds-color-text-placeholder","wds-color-border-standard":"--wds-color-border-standard"};
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import React, { useCallback } from 'react';
|
|
2
|
+
import { useTranslations } from '@wix/patterns-fields';
|
|
3
|
+
import type { CellViewProps } from '../../types';
|
|
4
|
+
import { formatDatePart, formatTimePart } from './formatters';
|
|
5
|
+
import { isValidDate } from './helpers';
|
|
6
|
+
import { useSubCellClickTracker, type SubCell } from './subCellContext';
|
|
7
|
+
import { classes } from './View.st.css.js';
|
|
8
|
+
|
|
9
|
+
export const DateTimeView: React.FC<CellViewProps<Date | null>> = ({
|
|
10
|
+
value,
|
|
11
|
+
}) => {
|
|
12
|
+
const { t } = useTranslations();
|
|
13
|
+
const tracker = useSubCellClickTracker();
|
|
14
|
+
|
|
15
|
+
const recordClick = useCallback(
|
|
16
|
+
(sub: SubCell) => () => tracker.record(sub),
|
|
17
|
+
[tracker],
|
|
18
|
+
);
|
|
19
|
+
|
|
20
|
+
if (!isValidDate(value)) {
|
|
21
|
+
return (
|
|
22
|
+
<span className={classes.placeholder}>
|
|
23
|
+
{t('CMS.cellDateTime.placeholder')}
|
|
24
|
+
</span>
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
return (
|
|
29
|
+
<>
|
|
30
|
+
<span
|
|
31
|
+
data-sub-cell="date"
|
|
32
|
+
className={classes.datePart}
|
|
33
|
+
onMouseDownCapture={recordClick('date')}
|
|
34
|
+
>
|
|
35
|
+
{formatDatePart(value)}
|
|
36
|
+
</span>
|
|
37
|
+
<span aria-hidden className={classes.divider} />
|
|
38
|
+
<span
|
|
39
|
+
data-sub-cell="time"
|
|
40
|
+
className={classes.timePart}
|
|
41
|
+
onMouseDownCapture={recordClick('time')}
|
|
42
|
+
>
|
|
43
|
+
{formatTimePart(value)}
|
|
44
|
+
</span>
|
|
45
|
+
</>
|
|
46
|
+
);
|
|
47
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { UniDriver } from '@wix/wix-ui-test-utils/unidriver';
|
|
2
|
+
import { baseUniDriverFactory } from '../../../../unidriver';
|
|
3
|
+
|
|
4
|
+
export function DateTimeViewUniDriver(base: UniDriver, _body: UniDriver) {
|
|
5
|
+
return {
|
|
6
|
+
...baseUniDriverFactory(base),
|
|
7
|
+
getFormattedDate: () => base.$('[data-sub-cell="date"]').text(),
|
|
8
|
+
getFormattedTime: () => base.$('[data-sub-cell="time"]').text(),
|
|
9
|
+
getPlaceholder: () => base.text(),
|
|
10
|
+
hasDivider: () =>
|
|
11
|
+
base
|
|
12
|
+
.$$('[aria-hidden]')
|
|
13
|
+
.count()
|
|
14
|
+
.then((n) => n > 0),
|
|
15
|
+
};
|
|
16
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { isValidDate } from './helpers';
|
|
2
|
+
|
|
3
|
+
const dateFormatter = new Intl.DateTimeFormat(undefined, {
|
|
4
|
+
day: '2-digit',
|
|
5
|
+
month: '2-digit',
|
|
6
|
+
year: 'numeric',
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
const timeFormatter = new Intl.DateTimeFormat(undefined, {
|
|
10
|
+
hour: 'numeric',
|
|
11
|
+
minute: '2-digit',
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
export const formatDatePart = (value: Date | null): string =>
|
|
15
|
+
isValidDate(value) ? dateFormatter.format(value) : '';
|
|
16
|
+
|
|
17
|
+
export const formatTimePart = (value: Date | null): string =>
|
|
18
|
+
isValidDate(value) ? timeFormatter.format(value) : '';
|
|
19
|
+
|
|
20
|
+
const DATE_PLACEHOLDER_SAMPLE = new Date(2026, 0, 31);
|
|
21
|
+
const TIME_PLACEHOLDER_SAMPLE = new Date(2026, 0, 1, 13, 30);
|
|
22
|
+
|
|
23
|
+
/** Looked up via the consumer's `t()` so each token is translatable. */
|
|
24
|
+
export interface PlaceholderTokens {
|
|
25
|
+
day: string;
|
|
26
|
+
month: string;
|
|
27
|
+
year: string;
|
|
28
|
+
hour: string;
|
|
29
|
+
minute: string;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Derives an input placeholder from the current locale's date format by
|
|
34
|
+
* replacing each part with its translated stand-in (DD, MM, YYYY). E.g.
|
|
35
|
+
* `MM/DD/YYYY` in en-US, `DD.MM.YYYY` in de-DE, `YYYY/MM/DD` in ja-JP.
|
|
36
|
+
*/
|
|
37
|
+
export const datePlaceholder = (tokens: PlaceholderTokens): string =>
|
|
38
|
+
dateFormatter
|
|
39
|
+
.formatToParts(DATE_PLACEHOLDER_SAMPLE)
|
|
40
|
+
.map((part) => {
|
|
41
|
+
if (part.type === 'day') return tokens.day;
|
|
42
|
+
if (part.type === 'month') return tokens.month;
|
|
43
|
+
if (part.type === 'year') return tokens.year;
|
|
44
|
+
return part.value;
|
|
45
|
+
})
|
|
46
|
+
.join('');
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Derives a time input placeholder from the current locale's time format.
|
|
50
|
+
* E.g. `HH:MM AM` in en-US (12-hour) or `HH:MM` in de-DE (24-hour).
|
|
51
|
+
*/
|
|
52
|
+
export const timePlaceholder = (tokens: PlaceholderTokens): string =>
|
|
53
|
+
timeFormatter
|
|
54
|
+
.formatToParts(TIME_PLACEHOLDER_SAMPLE)
|
|
55
|
+
.map((part) => {
|
|
56
|
+
if (part.type === 'hour') return tokens.hour;
|
|
57
|
+
if (part.type === 'minute') return tokens.minute;
|
|
58
|
+
return part.value;
|
|
59
|
+
})
|
|
60
|
+
.join('');
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export const isValidDate = (d: unknown): d is Date =>
|
|
2
|
+
d instanceof Date && !isNaN(d.getTime());
|
|
3
|
+
|
|
4
|
+
export const toValidDate = (
|
|
5
|
+
value: Date | string | null | undefined,
|
|
6
|
+
): Date | null => {
|
|
7
|
+
if (value == null) {
|
|
8
|
+
return null;
|
|
9
|
+
}
|
|
10
|
+
const date = value instanceof Date ? value : new Date(value);
|
|
11
|
+
return isValidDate(date) ? date : null;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Bypass React's synthetic event system to set a controlled <input>'s value
|
|
16
|
+
* AND fire an `input` event that React's listener picks up. Used for the
|
|
17
|
+
* type-to-edit gesture: forward the keystroke that triggered edit into the
|
|
18
|
+
* underlying WDS input without re-implementing its parsing.
|
|
19
|
+
*/
|
|
20
|
+
export const setNativeInputValue = (
|
|
21
|
+
el: HTMLInputElement,
|
|
22
|
+
value: string,
|
|
23
|
+
): void => {
|
|
24
|
+
const setter = Object.getOwnPropertyDescriptor(
|
|
25
|
+
HTMLInputElement.prototype,
|
|
26
|
+
'value',
|
|
27
|
+
)?.set;
|
|
28
|
+
if (!setter) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
setter.call(el, value);
|
|
32
|
+
el.dispatchEvent(new Event('input', { bubbles: true }));
|
|
33
|
+
};
|