Premium

Moment / Luxon migration toolkit

Support an existing date-library stack through the licensed migration workflow. Compatibility loading selects the requested formatting peer dynamically rather than loading both date libraries into every integration.

Loading interactive demo…

What you configure

loadDateFormattingCompatibility
Select moment or luxon3 from the interoperability toolkit.
peer dependency
Install the selected date library in the consuming application.
formatting configuration
Review the legacy format strings, locale settings, and time-zone expectations.

Essential integration

This assumes the shared Quick start already provides premiumLicense and, for UI views, premiumCalendarOptions. Only the feature-specific setup is shown.

Feature-specific TypeScript
import type { CalendarOptions } from '@wts-calendar/core';
import { PremiumCalendarInteroperability } from '@wts-calendar/core/premium-interoperability';

const interoperability = new PremiumCalendarInteroperability({ license: premiumLicense });

// Install only the compatibility peer you select.
const formattingPlugin = await interoperability.loadDateFormattingCompatibility('moment');
export const label = formattingPlugin.format(
  new Date('2026-09-07T09:30:00Z'),
  'dddd, MMMM D YYYY [at] HH:mm',
  { locale: 'en-US', timeZone: 'UTC' },
);
// Pass the plugin in your calendar's plugins array when using legacy format strings.
export const calendarOptions = { plugins: [formattingPlugin] } satisfies Pick<CalendarOptions, 'plugins'>;
// Luxon alternative: loadDateFormattingCompatibility('luxon3') with Luxon patterns.

Behavior and lifecycle

  • Selecting one peer does not automatically load the other.
  • Existing direct format-moment and format-luxon3 entry points remain available separately.

Limits and responsibilities

  • The Premium toolkit adds gated selection and migration workflow; direct formatting compatibility is not reclassified as Premium.
  • This is not a guarantee that every legacy format string or date-library behavior is interchangeable.
Premium

Enable this capability

Optional module
@wts-calendar/core/premium-interoperability
Local capability ID
premium-interoperability · enabled by package-wide Premium

Use the request form to describe your project and deployment origins. Pricing and terms are confirmed privately. A WTS license is separate from provider credentials; do not send passwords or production access tokens.

The live example uses a browser-visible deployment key restricted to this package and approved origins. It does not collect license keys or visitor credentials.

Request Premium pricing

Share the details we need to respond to your request.

Optional for this inquiry, but required before deployment. Add one origin per line without a page path. Registered HTTP localhost origins are allowed for development.

Don’t include license keys, passwords, or confidential information.