noorui-rtl 0.4.5 → 0.4.6

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/CHANGELOG.md CHANGED
@@ -13,6 +13,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
13
13
  - TimePicker & TimeRangePicker popups appear on wrong side in RTL mode
14
14
  - Need to add automatic direction detection (similar to DropdownMenu pattern)
15
15
 
16
+ ## [0.4.6] - 2025-12-08
17
+
18
+ ### Fixed
19
+ - **Calendar Component**: Fixed form submission issue when used inside forms
20
+ - Added `type="button"` to all navigation buttons (previous month, next month, today)
21
+ - Added `type="button"` to all date selection buttons
22
+ - Prevents unintended form submissions when selecting dates or navigating months
23
+ - Resolves issue where clicking calendar buttons would trigger parent form submit handlers
24
+
25
+ ### Notes
26
+ This is a critical bugfix for forms containing Calendar components in range or single selection mode. Previously, clicking any button within the Calendar would trigger form submission, causing premature validation and unexpected behavior.
27
+
28
+ ---
29
+
16
30
  ## [0.4.5] - 2025-12-07
17
31
 
18
32
  ### Changed
package/dist/index.js CHANGED
@@ -3375,7 +3375,7 @@ var home = {
3375
3375
  },
3376
3376
  recentWins: {
3377
3377
  title: "Recent Wins",
3378
- performance: "NPM package published (noorui-rtl v0.4.4)",
3378
+ performance: "NPM package published (noorui-rtl v0.4.5)",
3379
3379
  skeletons: "74+ production-ready components with full documentation",
3380
3380
  components: "10+ complete demo projects (Blog, Marketplace, AI workflows)",
3381
3381
  rebranding: "Full RTL/LTR support for ALL RTL languages (Arabic, Hebrew, Urdu, Farsi) + WCAG AA accessibility"
@@ -11779,7 +11779,7 @@ var home2 = {
11779
11779
  },
11780
11780
  recentWins: {
11781
11781
  title: "\u0627\u0644\u0625\u0646\u062C\u0627\u0632\u0627\u062A \u0627\u0644\u0623\u062E\u064A\u0631\u0629",
11782
- performance: "\u062A\u0645 \u0646\u0634\u0631 \u062D\u0632\u0645\u0629 NPM (noorui-rtl v0.4.4)",
11782
+ performance: "\u062A\u0645 \u0646\u0634\u0631 \u062D\u0632\u0645\u0629 NPM (noorui-rtl v0.4.5)",
11783
11783
  skeletons: "\u0623\u0643\u062B\u0631 \u0645\u0646 74 \u0645\u0643\u0648\u0646 \u062C\u0627\u0647\u0632 \u0644\u0644\u0625\u0646\u062A\u0627\u062C \u0645\u0639 \u062A\u0648\u062B\u064A\u0642 \u0643\u0627\u0645\u0644",
11784
11784
  components: "\u0623\u0643\u062B\u0631 \u0645\u0646 10 \u0645\u0634\u0627\u0631\u064A\u0639 \u0639\u0631\u0636 \u0643\u0627\u0645\u0644\u0629 (\u0645\u062F\u0648\u0646\u0629\u060C \u0633\u0648\u0642\u060C \u0633\u064A\u0631 \u0639\u0645\u0644 AI)",
11785
11785
  rebranding: "\u062F\u0639\u0645 \u0643\u0627\u0645\u0644 \u0644\u062C\u0645\u064A\u0639 \u0627\u0644\u0644\u063A\u0627\u062A RTL (\u0627\u0644\u0639\u0631\u0628\u064A\u0629\u060C \u0627\u0644\u0639\u0628\u0631\u064A\u0629\u060C \u0627\u0644\u0623\u0631\u062F\u064A\u0629\u060C \u0627\u0644\u0641\u0627\u0631\u0633\u064A\u0629) + \u0625\u0645\u0643\u0627\u0646\u064A\u0629 \u0627\u0644\u0648\u0635\u0648\u0644 WCAG AA"
@@ -18273,6 +18273,7 @@ var Calendar2 = React74__namespace.forwardRef(
18273
18273
  return /* @__PURE__ */ React74__namespace.createElement("div", { ref, className: cn("w-full p-4", className), ...props }, /* @__PURE__ */ React74__namespace.createElement("div", { className: "flex items-center justify-between mb-4" }, /* @__PURE__ */ React74__namespace.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React74__namespace.createElement(
18274
18274
  Button,
18275
18275
  {
18276
+ type: "button",
18276
18277
  variant: "outline",
18277
18278
  size: "icon",
18278
18279
  onClick: isRTL ? goToNextMonth : goToPreviousMonth,
@@ -18282,13 +18283,14 @@ var Calendar2 = React74__namespace.forwardRef(
18282
18283
  ), /* @__PURE__ */ React74__namespace.createElement(
18283
18284
  Button,
18284
18285
  {
18286
+ type: "button",
18285
18287
  variant: "outline",
18286
18288
  size: "icon",
18287
18289
  onClick: isRTL ? goToPreviousMonth : goToNextMonth,
18288
18290
  className: "h-8 w-8"
18289
18291
  },
18290
18292
  /* @__PURE__ */ React74__namespace.createElement(lucideReact.ChevronRight, { className: "h-4 w-4" })
18291
- )), /* @__PURE__ */ React74__namespace.createElement("div", { className: "text-center" }, /* @__PURE__ */ React74__namespace.createElement("h2", { className: "text-lg font-semibold" }, monthName), showHijri && hijriMonthYear && /* @__PURE__ */ React74__namespace.createElement("p", { className: "text-sm text-muted-foreground" }, hijriMonthYear)), /* @__PURE__ */ React74__namespace.createElement(Button, { variant: "outline", size: "sm", onClick: goToToday }, t.ui.components.today)), /* @__PURE__ */ React74__namespace.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React74__namespace.createElement("div", { className: "grid grid-cols-7 gap-1" }, weekDays.map((day, index) => /* @__PURE__ */ React74__namespace.createElement(
18293
+ )), /* @__PURE__ */ React74__namespace.createElement("div", { className: "text-center" }, /* @__PURE__ */ React74__namespace.createElement("h2", { className: "text-lg font-semibold" }, monthName), showHijri && hijriMonthYear && /* @__PURE__ */ React74__namespace.createElement("p", { className: "text-sm text-muted-foreground" }, hijriMonthYear)), /* @__PURE__ */ React74__namespace.createElement(Button, { type: "button", variant: "outline", size: "sm", onClick: goToToday }, t.ui.components.today)), /* @__PURE__ */ React74__namespace.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React74__namespace.createElement("div", { className: "grid grid-cols-7 gap-1" }, weekDays.map((day, index) => /* @__PURE__ */ React74__namespace.createElement(
18292
18294
  "div",
18293
18295
  {
18294
18296
  key: index,
@@ -18308,6 +18310,7 @@ var Calendar2 = React74__namespace.forwardRef(
18308
18310
  return /* @__PURE__ */ React74__namespace.createElement(
18309
18311
  "button",
18310
18312
  {
18313
+ type: "button",
18311
18314
  key: index,
18312
18315
  onClick: () => handleDateClick(gregorian),
18313
18316
  disabled: isDisabled,