MUIReactDateTimePicker

Content Type: Widget
Categories: Utility,User Interface

Overview

docs/marketplace/MARKETPLACE_LISTING.md

It covers MUI X + date-fns, three modes, validation, locales, styling (#2563eb), use cases, requirements, widget ID, and MIT license within the 500-word limit.

Documentation

InnoVites Date Time Picker

Mendix pluggable widget for selecting dates and times in Mendix 9+ web apps (React client). The picker UI uses MUI X Date and Time Pickers (desktop layout, analog time clock, AM/PM) and date-fns for parsing and locales. Default styling uses a generic SaaS blue palette (primary #2563eb, soft surfaces #f8fafc / #eff6ff).


Widget ID

innovites.muireactdatetimepicker.MUIReactDateTimePicker

Package

innovites.MUIReactDateTimePicker.mpk

Version

1.0.0

Platform

Web (React client)

License

MIT

Full widget documentation (installation, Studio Pro properties, formats, use cases, troubleshooting): docs/WIDGET_DOCUMENTATION.md

Features

  • Three modes: date & time, date only, or time only
  • MUI X desktop UI: calendar + analog Time Clock, footer with Today / Cancel / OK
  • 12-hour / 24-hour: follows locale; optional custom date-fns format strings
  • Locales: date-fns locales (e.g. ennldefres, …)
  • Validation: min/max date, disable past, optional “Valid date” boolean attribute
  • Time constraints: min/max hours, minutes, seconds; hour/minute/second steps
  • UX: clearable field, week numbers, read-only as control or text, Studio Pro design preview

Requirements

  • Node.js 16 or later
  • Mendix Studio Pro 9.x with React client enabled
  • npm (or compatible package manager)

Quick start (Mendix)

  1. Clone or copy this repository.
  2. Install dependencies:
npm install
  1. Set your Mendix test app path in package.json:
"config": {
  "projectPath": "../../YourMendixApp"
}
  1. Build the widget:
npm run build
  1. Copy one package into your app’s widgets folder:
  2. dist/1.0.0/innovites.MUIReactDateTimePicker.mpk
  3. In Studio Pro, add InnoVites Date Time Picker to a page and bind the DateTime attribute.

UI prototype (no Mendix)

Run a local Vite app to try the same React UI used in the widget:

npm install
npm run prototype

Open http://localhost:5173 — three cards demonstrate datetime, date-only, and time-only modes.

Development

Command

Description

npm run dev

Watch build + hot reload with Mendix (config.mendixHost, default http://localhost:8080)

npm run start

Watch build and copy widget into the test project widgets folder

npm run build

Production build → dist/1.0.0/*.mpk

npm run lint

ESLint via Mendix pluggable-widgets-tools

npm run lint:fix

Auto-fix lint issues

npm run release

Release build (after prerelease / lint)

Project layout

src/
  MUIReactDateTimePicker.tsx       # Mendix container (class component)
  ReactDateTimePickerUI.tsx        # MUI X pickers + date-fns logic
  MuiPickerProvider.tsx            # Theme + LocalizationProvider
  muiTimeViewRenderers.ts          # Analog TimeClock view renderers
  utils/dateTimeFormat.ts          # Locale 12h/24h + format helpers
  ui/ReactDateTimePicker.css       # Widget + popover styling
  ReactDateTimePicker.editorPreview.tsx
prototype/                         # Standalone Vite demo

 

Third-party libraries

 

Marketplace listing

Copy-paste text for Mendix Marketplace Publish Component: docs/marketplace/MARKETPLACE_LISTING.md

Cover image (PNG or JPG, max 1 MB, min 600×420 px): upload assets/marketplace-cover.jpg (recommended) or assets/marketplace-cover.png. See assets/README.md.

License

Copyright (c) InnoVites B.V. — MIT. See package.json and project license terms.

Releases

Version: 1.0.0
Framework Version: 10.24.15
Release Notes:

version 1