Issue #3522130: Add client-side transform for daterange_default widget
Summary
Fixes https://www.drupal.org/project/canvas/issues/3522130 by adding client-side transform support for the daterange_default widget path.
What changed
- Add
daterange_defaultmapping inReduxIntegratedFieldWidgetsHooks::fieldWidgetInfoAlter(). - Add
dateRangetransform inui/src/utils/transforms.ts. - Register transform library in
ShapeMatchingHooks. - Add/update coverage in:
tests/src/Kernel/EcosystemSupport/FieldWidgetSupportTest.phptests/src/Kernel/HookCanvasStorablePropAlterTest.phpui/tests/vitest/unit/transforms.test.jsui/tests/e2e/prop-types.cy.js
- Harden Cypress date-range test by waiting for each autosave PATCH after each blur.
- Update docs in
docs/redux-integrated-field-widgets.md.
Local verification
-
ddev phpcs src/Hook/ReduxIntegratedFieldWidgetsHooks.php src/Hook/ShapeMatchingHooks.php tests/src/Kernel/EcosystemSupport/FieldWidgetSupportTest.php tests/src/Kernel/HookCanvasStorablePropAlterTest.php(pass) -
ddev phpunit tests/src/Kernel/EcosystemSupport/FieldWidgetSupportTest.php tests/src/Kernel/HookCanvasStorablePropAlterTest.php(pass) -
ddev exec 'npm run lint:eslint -- ui/src/utils/transforms.ts ui/tests/vitest/unit/transforms.test.js ui/tests/e2e/prop-types.cy.js'(pass) -
ddev exec 'cd ui && npm run test -- tests/vitest/unit/transforms.test.js'(pass) -
ddev exec 'npm run type-check --workspace=@drupal-canvas/ui'(pass)