noorui-rtl 0.4.4 → 0.4.5

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
@@ -7,17 +7,30 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ### To Be Fixed
11
+ - **Popover Component**: RTL positioning issues in portal-rendered components
12
+ - NotificationCenter popup appears on wrong side in RTL mode
13
+ - TimePicker & TimeRangePicker popups appear on wrong side in RTL mode
14
+ - Need to add automatic direction detection (similar to DropdownMenu pattern)
15
+
16
+ ## [0.4.5] - 2025-12-07
17
+
18
+ ### Changed
19
+ - **Cozy Theme**: Removed opinionated spacing and padding rules for more flexibility
20
+ - Removed forced `margin-bottom: 1.5rem` from headings (h1, h2, h3, h4)
21
+ - Removed forced `padding: 2rem !important` from all card components
22
+ - Removed forced button padding (`padding: .75rem 1.5rem`)
23
+ - Theme now respects component-level spacing defaults
24
+ - Updated both `globals.css` and `package.css` for consistency
25
+
26
+ ### Notes
27
+ This release makes the Cozy theme less opinionated and more flexible, allowing developers to use standard component spacing without theme overrides.
28
+
29
+ ---
30
+
10
31
  ## [0.4.4] - 2025-12-06
11
32
 
12
33
  ### Fixed
13
- - **Popover Component**: Fixed RTL positioning issues by adding automatic direction detection (similar to DropdownMenu)
14
- - Added MutationObserver to detect document direction changes
15
- - Popover Root now automatically passes `dir` prop to Radix UI for proper RTL support
16
- - Fixes notification popups, time pickers, and all popover-based components appearing on wrong side in RTL mode
17
- - **NotificationCenter**: Fixed RTL positioning - popup now appears on correct side in RTL mode
18
- - Updated align logic to `direction === 'rtl' ? 'start' : 'end'` for consistent right-side positioning
19
- - **TimePicker & TimeRangePicker**: Fixed RTL positioning - popups now appear on correct side in RTL mode
20
- - Updated align logic from `isRTL ? 'end' : 'start'` to `isRTL ? 'start' : 'end'`
21
34
  - **Documentation Pages**: Fixed inconsistent section title spacing across component pages
22
35
  - **number-input**: Fixed Use Cases, API Reference, and Features sections
23
36
  - **date-picker**: Fixed Use Cases, Type Definition, API Reference (2x), and Features sections
@@ -25,11 +38,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
25
38
  - All sections now use standard pattern: `<section className="mb-16">` with `<h2 className="text-2xl font-bold tracking-tight mb-6">`
26
39
 
27
40
  ### Changed
28
- - **Popover Component**: Improved architecture to match DropdownMenu pattern for better RTL support
29
41
  - **Component Documentation**: Standardized section spacing for consistent visual hierarchy
30
42
 
31
43
  ### Notes
32
- This release focuses on fixing RTL positioning issues in portal-rendered components (Popover) and improving documentation consistency. All popover-based components (notifications, time pickers, etc.) now position correctly in RTL mode.
44
+ This release focuses on improving documentation consistency and visual hierarchy across all component pages.
33
45
 
34
46
  ## [0.4.3] - 2025-12-05
35
47
 
@@ -234,7 +246,7 @@ This release focuses on code quality improvements and documentation completeness
234
246
  - Updated homepage URL to noorui.com
235
247
 
236
248
  ### Added
237
- - Complete barrel export with all 64 components
249
+ - Complete barrel export with all 74+ components
238
250
  - CHANGELOG.md, CONTRIBUTING.md documentation
239
251
  - Improved package files configuration
240
252
 
@@ -271,7 +283,7 @@ Major update to Noor UI with significant component additions and improvements.
271
283
 
272
284
  **Features**
273
285
  - Complete RTL support with logical properties
274
- - 64 production-ready and experimental components
286
+ - 74+ production-ready and experimental components
275
287
  - Full TypeScript support with type definitions
276
288
  - Radix UI primitives for accessibility
277
289
  - Tailwind CSS with design tokens
@@ -280,7 +292,7 @@ Major update to Noor UI with significant component additions and improvements.
280
292
  - WCAG AA compliant
281
293
 
282
294
  ### Changed
283
- - Updated package structure to include all 64 components
295
+ - Updated package structure to include all 74+ components
284
296
  - Improved TypeScript types and exports
285
297
  - Enhanced documentation
286
298
 
package/README.md CHANGED
@@ -14,7 +14,7 @@ Beautiful RTL-first React components for bilingual applications. Built with Radi
14
14
  ## ✨ Features
15
15
 
16
16
  - 🌍 **RTL-First**: Perfect Arabic/Persian support with logical properties
17
- - 🎨 **65 Components**: Complete UI toolkit for modern applications
17
+ - 🎨 **74+ Components**: Complete UI toolkit for modern applications
18
18
  - ♿ **Accessible**: WCAG AA compliant with full keyboard navigation
19
19
  - 🎯 **TypeScript**: Full type safety and IntelliSense support
20
20
  - 🎭 **Themeable**: Light/dark mode with customizable design tokens
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.3)",
3378
+ performance: "NPM package published (noorui-rtl v0.4.4)",
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.3)",
11782
+ performance: "\u062A\u0645 \u0646\u0634\u0631 \u062D\u0632\u0645\u0629 NPM (noorui-rtl v0.4.4)",
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"
@@ -17691,7 +17691,7 @@ var components_experimental2 = {
17691
17691
  },
17692
17692
  tokenCounterComponent: {
17693
17693
  title: "\u0639\u062F\u0627\u062F \u0627\u0644\u0631\u0645\u0648\u0632",
17694
- description: "\u0639\u062F\u0627\u062F \u0631\u0645\u0648\u0632 \u0641\u064A \u0627\u0644\u0648\u0642\u062A \u0627\u0644\u0641\u0639\u0644\u064A \u0645\u0639 \u062A\u0642\u062F\u064A\u0631\u0627\u062A \u0627\u0644\u062A\u0643\u0644\u0641\u0629 \u0648\u062A\u062D\u0630\u064A\u0631\u0627\u062A \u0627\u0644\u062D\u062F. \u0636\u0631\u0648\u0631\u064A \u0644\u0625\u062F\u0627\u0631\u0629 \u0627\u0633\u062A\u062E\u062F\u0627\u0645 API \u0644\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064A \u0648\u0627\u0644\u062A\u0643\u0627\u0644\u064A\u0641. \u064A\u0639\u0631\u0636 \u0639\u062F\u062F \u0627\u0644\u0631\u0645\u0648\u0632 \u0648\u0627\u0644\u062A\u0633\u0639\u064A\u0631 \u0648\u0627\u0644\u062A\u062D\u0630\u064A\u0631\u0627\u062A \u0627\u0644\u0628\u0635\u0631\u064A\u0629 \u0639\u0646\u062F \u0627\u0644\u0627\u0642\u062A\u0631\u0627\u0628 \u0645\u0646 \u0627\u0644\u062D\u062F\u0648\u062F.",
17694
+ description: "\u0639\u0631\u0636 \u0648\u062A\u062A\u0628\u0639 \u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u0627\u0644\u0631\u0645\u0648\u0632 \u0645\u0639 \u062A\u0642\u062F\u064A\u0631 \u0627\u0644\u062A\u0643\u0644\u0641\u0629 \u0644\u062A\u0641\u0627\u0639\u0644\u0627\u062A \u0646\u0645\u0648\u0630\u062C \u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064A. \u064A\u062A\u0636\u0645\u0646 \u0634\u0631\u064A\u0637 \u0627\u0644\u062A\u0642\u062F\u0645\u060C \u0627\u0644\u062A\u0641\u0635\u064A\u0644 \u062D\u0633\u0628 \u0627\u0644\u0625\u062F\u062E\u0627\u0644/\u0627\u0644\u0625\u062E\u0631\u0627\u062C\u060C \u0648\u0627\u0644\u062A\u062D\u0630\u064A\u0631\u0627\u062A \u0627\u0644\u0645\u0631\u0626\u064A\u0629 \u0639\u0646\u062F \u0627\u0644\u0627\u0642\u062A\u0631\u0627\u0628 \u0645\u0646 \u0627\u0644\u062D\u062F\u0648\u062F.",
17695
17695
  preview: "\u0645\u0639\u0627\u064A\u0646\u0629",
17696
17696
  installation: "\u0627\u0644\u062A\u062B\u0628\u064A\u062A",
17697
17697
  usage: "\u0627\u0644\u0627\u0633\u062A\u062E\u062F\u0627\u0645",
@@ -17725,12 +17725,12 @@ var components_experimental2 = {
17725
17725
  },
17726
17726
  accessibility: {
17727
17727
  title: "\u0625\u0645\u0643\u0627\u0646\u064A\u0629 \u0627\u0644\u0648\u0635\u0648\u0644",
17728
- liveRegion: "\u0645\u0646\u0637\u0642\u0629 \u0645\u0628\u0627\u0634\u0631\u0629",
17729
- liveRegionDesc: "\u064A\u062A\u0645 \u0627\u0644\u0625\u0639\u0644\u0627\u0646 \u0639\u0646 \u062A\u062D\u062F\u064A\u062B\u0627\u062A \u0639\u062F\u062F \u0627\u0644\u0631\u0645\u0648\u0632 \u0644\u0642\u0627\u0631\u0626\u0627\u062A \u0627\u0644\u0634\u0627\u0634\u0629 \u0628\u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u0645\u0646\u0627\u0637\u0642 aria-live.",
17730
- warningAnnouncements: "\u0625\u0639\u0644\u0627\u0646\u0627\u062A \u0627\u0644\u062A\u062D\u0630\u064A\u0631",
17731
- warningAnnouncementsDesc: "\u064A\u062A\u0645 \u0627\u0644\u0625\u0639\u0644\u0627\u0646 \u0639\u0646 \u062A\u062D\u0630\u064A\u0631\u0627\u062A \u0627\u0644\u062D\u062F \u0628\u0634\u0643\u0644 \u0628\u0627\u0631\u0632 \u0645\u0639 \u0633\u0645\u0627\u062A ARIA \u0627\u0644\u0645\u0646\u0627\u0633\u0628\u0629.",
17728
+ screenReader: "\u0642\u0627\u0631\u0626 \u0627\u0644\u0634\u0627\u0634\u0629",
17729
+ screenReaderDesc: "\u064A\u062A\u0636\u0645\u0646 \u0627\u0644\u0645\u0643\u0648\u0646 \u062A\u0633\u0645\u064A\u0627\u062A \u0648\u0646\u0635\u0627\u0626\u062D \u0623\u062F\u0648\u0627\u062A \u0648\u0635\u0641\u064A\u0629. \u064A\u062A\u0645 \u062A\u0646\u0633\u064A\u0642 \u0639\u062F\u062F \u0627\u0644\u0631\u0645\u0648\u0632 \u0648\u0627\u0644\u062A\u0643\u0627\u0644\u064A\u0641 \u0628\u062A\u0646\u0633\u064A\u0642 \u0627\u0644\u0623\u0631\u0642\u0627\u0645 \u0627\u0644\u0645\u0646\u0627\u0633\u0628 \u0644\u0642\u0627\u0631\u0626\u0627\u062A \u0627\u0644\u0634\u0627\u0634\u0629.",
17732
17730
  visualIndicators: "\u0627\u0644\u0645\u0624\u0634\u0631\u0627\u062A \u0627\u0644\u0628\u0635\u0631\u064A\u0629",
17733
- visualIndicatorsDesc: "\u062A\u0648\u0641\u0631 \u0627\u0644\u0645\u0624\u0634\u0631\u0627\u062A \u0627\u0644\u0645\u0634\u0641\u0631\u0629 \u0628\u0627\u0644\u0623\u0644\u0648\u0627\u0646 (\u0623\u0635\u0641\u0631 \u0644\u0644\u062A\u062D\u0630\u064A\u0631\u060C \u0623\u062D\u0645\u0631 \u0644\u0644\u062A\u062C\u0627\u0648\u0632) \u0645\u0644\u0627\u062D\u0638\u0627\u062A \u0628\u0635\u0631\u064A\u0629 \u0648\u0627\u0636\u062D\u0629."
17731
+ visualIndicatorsDesc: "\u062A\u0634\u064A\u0631 \u0625\u0634\u0627\u0631\u0627\u062A \u0628\u0635\u0631\u064A\u0629 \u0645\u062A\u0639\u062F\u062F\u0629 \u0625\u0644\u0649 \u0627\u0644\u062D\u0627\u0644\u0629: \u0644\u0648\u0646 \u0634\u0631\u064A\u0637 \u0627\u0644\u062A\u0642\u062F\u0645\u060C \u0634\u0627\u0631\u0629 \u0627\u0644\u062A\u062D\u0630\u064A\u0631\u060C \u0648\u062A\u063A\u064A\u064A\u0631\u0627\u062A \u0644\u0648\u0646 \u0627\u0644\u062D\u062F\u0648\u062F. \u0647\u0630\u0627 \u064A\u0636\u0645\u0646 \u0623\u0646 \u0627\u0644\u062A\u062D\u0630\u064A\u0631\u0627\u062A \u0645\u0631\u0626\u064A\u0629 \u062D\u062A\u0649 \u062F\u0648\u0646 \u0627\u0644\u0627\u0639\u062A\u0645\u0627\u062F \u0641\u0642\u0637 \u0639\u0644\u0649 \u0627\u0644\u0644\u0648\u0646.",
17732
+ tooltips: "\u0646\u0635\u0627\u0626\u062D \u0627\u0644\u0623\u062F\u0648\u0627\u062A",
17733
+ tooltipsDesc: "\u062A\u0648\u0641\u0631 \u0623\u064A\u0642\u0648\u0646\u0629 \u0627\u0644\u0645\u0639\u0644\u0648\u0645\u0627\u062A \u0633\u064A\u0627\u0642\u064B\u0627 \u062D\u0648\u0644 \u0627\u0644\u0631\u0645\u0648\u0632. \u062A\u0642\u0648\u0645 \u0646\u0635\u064A\u062D\u0629 \u0627\u0644\u062A\u0643\u0644\u0641\u0629 \u0628\u062A\u0641\u0635\u064A\u0644 \u062A\u0643\u0627\u0644\u064A\u0641 \u0627\u0644\u0625\u062F\u062E\u0627\u0644/\u0627\u0644\u0625\u062E\u0631\u0627\u062C \u0628\u0634\u0643\u0644 \u0645\u0646\u0641\u0635\u0644 \u0644\u0644\u0634\u0641\u0627\u0641\u064A\u0629."
17734
17734
  },
17735
17735
  rtl: {
17736
17736
  title: "\u0627\u0639\u062A\u0628\u0627\u0631\u0627\u062A RTL",