noorui-rtl 0.4.6 → 0.5.0
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 +1 -1
- package/CONTRIBUTING.md +2 -0
- package/README.md +4 -2
- package/dist/index.d.mts +10 -2
- package/dist/index.d.ts +10 -2
- package/dist/index.js +77 -26
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +78 -27
- package/dist/index.mjs.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +37 -22
- package/styles/globals.css +0 -9
- package/styles/package.css +0 -9
package/CHANGELOG.md
CHANGED
|
@@ -272,7 +272,7 @@ This release focuses on code quality improvements and documentation completeness
|
|
|
272
272
|
|
|
273
273
|
Major update to Noor UI with significant component additions and improvements.
|
|
274
274
|
|
|
275
|
-
**Core Components (
|
|
275
|
+
**Core Components (69)**
|
|
276
276
|
- Form components: Form, Button, Input, Label, Textarea, Checkbox, Radio Group, Select, Switch, Slider
|
|
277
277
|
- Layout components: Card, Separator, Tabs, Accordion, Collapsible
|
|
278
278
|
- Navigation: Breadcrumb, Pagination, Command
|
package/CONTRIBUTING.md
CHANGED
|
@@ -78,6 +78,8 @@ npm run dev
|
|
|
78
78
|
- `npm run dev` - Start development server (documentation site)
|
|
79
79
|
- `npm run build` - Build for production (includes checks)
|
|
80
80
|
- `npm run build:skip-checks` - Build without running checks
|
|
81
|
+
- `npm run storybook` - Start Storybook for interactive component development
|
|
82
|
+
- `npm run storybook:build` - Build static Storybook
|
|
81
83
|
- `npm run lint` - Run ESLint
|
|
82
84
|
- `npm run type-check` - Run TypeScript type checking
|
|
83
85
|
- `npm run check:translations` - Verify translation completeness
|
package/README.md
CHANGED
|
@@ -4,12 +4,13 @@
|
|
|
4
4
|
|
|
5
5
|
[](https://www.npmjs.com/package/noorui-rtl)
|
|
6
6
|
[](https://opensource.org/licenses/MIT)
|
|
7
|
+
[](https://storybook.noorui.com)
|
|
7
8
|
|
|
8
9
|

|
|
9
10
|
|
|
10
11
|
Beautiful RTL-first React components for bilingual applications. Built with Radix UI, Tailwind CSS, and full Arabic/English support.
|
|
11
12
|
|
|
12
|
-
**[Documentation](https://noorui.com)** · **[Examples](https://noorui.com/examples)** · **[npm](https://www.npmjs.com/package/noorui-rtl)**
|
|
13
|
+
**[Documentation](https://noorui.com)** · **[Storybook](https://storybook.noorui.com)** · **[Examples](https://noorui.com/examples)** · **[npm](https://www.npmjs.com/package/noorui-rtl)**
|
|
13
14
|
|
|
14
15
|
## ✨ Features
|
|
15
16
|
|
|
@@ -204,7 +205,7 @@ export default function App() {
|
|
|
204
205
|
|
|
205
206
|
## 📚 Components
|
|
206
207
|
|
|
207
|
-
### Core UI (
|
|
208
|
+
### Core UI (69 components)
|
|
208
209
|
|
|
209
210
|
**Forms**: Button, Input, Label, Textarea, Checkbox, Radio, Select, Switch, Slider, Form
|
|
210
211
|
|
|
@@ -298,6 +299,7 @@ Full documentation, examples, and guides available at **[noorui.com](https://noo
|
|
|
298
299
|
|
|
299
300
|
- [Getting Started](https://noorui.com/getting-started)
|
|
300
301
|
- [Components](https://noorui.com/components)
|
|
302
|
+
- [Storybook](https://storybook.noorui.com) - **Interactive component playground with 749 stories**
|
|
301
303
|
- [RTL Guide](https://noorui.com/rtl-guide)
|
|
302
304
|
- [Examples](https://noorui.com/examples)
|
|
303
305
|
- [Starters](https://noorui.com/starters)
|
package/dist/index.d.mts
CHANGED
|
@@ -159,8 +159,9 @@ declare const Button: React$1.ForwardRefExoticComponent<ButtonProps & React$1.Re
|
|
|
159
159
|
* Arrow direction semantics:
|
|
160
160
|
* - 'forward': Arrow points in the direction of progression (right in LTR, left in RTL)
|
|
161
161
|
* - 'back': Arrow points in the opposite direction (left in LTR, right in RTL)
|
|
162
|
+
* - 'external': Diagonal arrow for external links (↗ in LTR, ↖ in RTL)
|
|
162
163
|
*/
|
|
163
|
-
type ArrowDirection = 'forward' | 'back';
|
|
164
|
+
type ArrowDirection = 'forward' | 'back' | 'external';
|
|
164
165
|
/**
|
|
165
166
|
* Arrow icon style:
|
|
166
167
|
* - 'chevron': Uses chevron icons (< or >)
|
|
@@ -199,6 +200,13 @@ interface ButtonArrowProps extends ButtonProps {
|
|
|
199
200
|
* Back to Blog
|
|
200
201
|
* </ButtonArrow>
|
|
201
202
|
*
|
|
203
|
+
* // External link button (diagonal arrow, ↗ in LTR, ↖ in RTL)
|
|
204
|
+
* <ButtonArrow direction="external" asChild>
|
|
205
|
+
* <a href="https://example.com" target="_blank" rel="noopener noreferrer">
|
|
206
|
+
* View Documentation
|
|
207
|
+
* </a>
|
|
208
|
+
* </ButtonArrow>
|
|
209
|
+
*
|
|
202
210
|
* // With arrow style
|
|
203
211
|
* <ButtonArrow direction="forward" icon="arrow">
|
|
204
212
|
* Next Step
|
|
@@ -1381,7 +1389,7 @@ declare const RichTextEditor: React$1.ForwardRefExoticComponent<RichTextEditorPr
|
|
|
1381
1389
|
declare const ScrollArea: React$1.ForwardRefExoticComponent<Omit<ScrollAreaPrimitive.ScrollAreaProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
1382
1390
|
declare const ScrollBar: React$1.ForwardRefExoticComponent<Omit<ScrollAreaPrimitive.ScrollAreaScrollbarProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
1383
1391
|
|
|
1384
|
-
declare const Select: typeof SelectPrimitive.Root;
|
|
1392
|
+
declare const Select: ({ dir, ...props }: React$1.ComponentPropsWithoutRef<typeof SelectPrimitive.Root>) => React$1.JSX.Element;
|
|
1385
1393
|
declare const SelectGroup: React$1.ForwardRefExoticComponent<SelectPrimitive.SelectGroupProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
1386
1394
|
declare const SelectValue: React$1.ForwardRefExoticComponent<SelectPrimitive.SelectValueProps & React$1.RefAttributes<HTMLSpanElement>>;
|
|
1387
1395
|
declare const SelectTrigger: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectTriggerProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
|
package/dist/index.d.ts
CHANGED
|
@@ -159,8 +159,9 @@ declare const Button: React$1.ForwardRefExoticComponent<ButtonProps & React$1.Re
|
|
|
159
159
|
* Arrow direction semantics:
|
|
160
160
|
* - 'forward': Arrow points in the direction of progression (right in LTR, left in RTL)
|
|
161
161
|
* - 'back': Arrow points in the opposite direction (left in LTR, right in RTL)
|
|
162
|
+
* - 'external': Diagonal arrow for external links (↗ in LTR, ↖ in RTL)
|
|
162
163
|
*/
|
|
163
|
-
type ArrowDirection = 'forward' | 'back';
|
|
164
|
+
type ArrowDirection = 'forward' | 'back' | 'external';
|
|
164
165
|
/**
|
|
165
166
|
* Arrow icon style:
|
|
166
167
|
* - 'chevron': Uses chevron icons (< or >)
|
|
@@ -199,6 +200,13 @@ interface ButtonArrowProps extends ButtonProps {
|
|
|
199
200
|
* Back to Blog
|
|
200
201
|
* </ButtonArrow>
|
|
201
202
|
*
|
|
203
|
+
* // External link button (diagonal arrow, ↗ in LTR, ↖ in RTL)
|
|
204
|
+
* <ButtonArrow direction="external" asChild>
|
|
205
|
+
* <a href="https://example.com" target="_blank" rel="noopener noreferrer">
|
|
206
|
+
* View Documentation
|
|
207
|
+
* </a>
|
|
208
|
+
* </ButtonArrow>
|
|
209
|
+
*
|
|
202
210
|
* // With arrow style
|
|
203
211
|
* <ButtonArrow direction="forward" icon="arrow">
|
|
204
212
|
* Next Step
|
|
@@ -1381,7 +1389,7 @@ declare const RichTextEditor: React$1.ForwardRefExoticComponent<RichTextEditorPr
|
|
|
1381
1389
|
declare const ScrollArea: React$1.ForwardRefExoticComponent<Omit<ScrollAreaPrimitive.ScrollAreaProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
1382
1390
|
declare const ScrollBar: React$1.ForwardRefExoticComponent<Omit<ScrollAreaPrimitive.ScrollAreaScrollbarProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
1383
1391
|
|
|
1384
|
-
declare const Select: typeof SelectPrimitive.Root;
|
|
1392
|
+
declare const Select: ({ dir, ...props }: React$1.ComponentPropsWithoutRef<typeof SelectPrimitive.Root>) => React$1.JSX.Element;
|
|
1385
1393
|
declare const SelectGroup: React$1.ForwardRefExoticComponent<SelectPrimitive.SelectGroupProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
1386
1394
|
declare const SelectValue: React$1.ForwardRefExoticComponent<SelectPrimitive.SelectValueProps & React$1.RefAttributes<HTMLSpanElement>>;
|
|
1387
1395
|
declare const SelectTrigger: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectTriggerProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
|
package/dist/index.js
CHANGED
|
@@ -104,6 +104,19 @@ function DirectionProvider({ children }) {
|
|
|
104
104
|
if (document.documentElement.lang !== initialLocale) {
|
|
105
105
|
document.documentElement.lang = initialLocale;
|
|
106
106
|
}
|
|
107
|
+
if (typeof window !== "undefined" && window.parent !== window) {
|
|
108
|
+
const observer = new MutationObserver(() => {
|
|
109
|
+
const newDir = document.documentElement.dir || "ltr";
|
|
110
|
+
const newLang = document.documentElement.lang || "en";
|
|
111
|
+
setDirectionState((prevDir) => prevDir !== newDir ? newDir : prevDir);
|
|
112
|
+
setLocaleState((prevLang) => prevLang !== newLang ? newLang : prevLang);
|
|
113
|
+
});
|
|
114
|
+
observer.observe(document.documentElement, {
|
|
115
|
+
attributes: true,
|
|
116
|
+
attributeFilter: ["dir", "lang"]
|
|
117
|
+
});
|
|
118
|
+
return () => observer.disconnect();
|
|
119
|
+
}
|
|
107
120
|
}, []);
|
|
108
121
|
const setDirection = React74__namespace.useCallback((newDirection) => {
|
|
109
122
|
setDirectionState(newDirection);
|
|
@@ -1082,8 +1095,11 @@ var ButtonArrow = React74__namespace.forwardRef(
|
|
|
1082
1095
|
asChild = false,
|
|
1083
1096
|
...props
|
|
1084
1097
|
}, ref) => {
|
|
1085
|
-
const resolvedPosition = iconPosition === "auto" ? direction === "
|
|
1098
|
+
const resolvedPosition = iconPosition === "auto" ? direction === "back" ? "start" : "end" : iconPosition;
|
|
1086
1099
|
const IconComponent = React74__namespace.useMemo(() => {
|
|
1100
|
+
if (direction === "external") {
|
|
1101
|
+
return lucideReact.ArrowUpRight;
|
|
1102
|
+
}
|
|
1087
1103
|
if (icon === "chevron") {
|
|
1088
1104
|
return direction === "forward" ? lucideReact.ChevronRight : lucideReact.ChevronLeft;
|
|
1089
1105
|
}
|
|
@@ -1091,7 +1107,8 @@ var ButtonArrow = React74__namespace.forwardRef(
|
|
|
1091
1107
|
}, [direction, icon]);
|
|
1092
1108
|
const iconClasses = cn(
|
|
1093
1109
|
iconSizeClasses[iconSize],
|
|
1094
|
-
|
|
1110
|
+
// External links need horizontal mirroring (scale-x), not rotation
|
|
1111
|
+
direction === "external" ? "rtl:scale-x-[-1]" : "rtl:rotate-180",
|
|
1095
1112
|
"shrink-0",
|
|
1096
1113
|
"transition-transform duration-200"
|
|
1097
1114
|
);
|
|
@@ -1151,12 +1168,30 @@ var common = {
|
|
|
1151
1168
|
components: "Components",
|
|
1152
1169
|
examples: "Examples",
|
|
1153
1170
|
starters: "Starters",
|
|
1171
|
+
storybook: "Storybook",
|
|
1154
1172
|
rtlGuide: "RTL Guide",
|
|
1155
1173
|
tokens: "Design Tokens",
|
|
1156
1174
|
themes: "Themes",
|
|
1157
1175
|
documentation: "Documentation",
|
|
1158
1176
|
getStarted: "Get Started"
|
|
1159
1177
|
},
|
|
1178
|
+
storybook: {
|
|
1179
|
+
title: "Storybook",
|
|
1180
|
+
viewInStorybook: "View in Storybook",
|
|
1181
|
+
exploreStorybook: "Explore Storybook",
|
|
1182
|
+
tryStorybook: "Try Storybook",
|
|
1183
|
+
openStorybook: "Open Storybook",
|
|
1184
|
+
interactivePlayground: "Interactive Component Playground",
|
|
1185
|
+
description: "Explore 749 interactive stories across 74 components. Switch between RTL/LTR, try different themes, and test accessibility\u2014all in your browser.",
|
|
1186
|
+
shortDescription: "Interactive component showcase with 749 stories",
|
|
1187
|
+
features: {
|
|
1188
|
+
interactive: "Live component playground",
|
|
1189
|
+
rtl: "RTL/LTR switching",
|
|
1190
|
+
themes: "4 theme variants",
|
|
1191
|
+
accessibility: "Full accessibility testing",
|
|
1192
|
+
examples: "Arabic/English examples"
|
|
1193
|
+
}
|
|
1194
|
+
},
|
|
1160
1195
|
ui: {
|
|
1161
1196
|
button: {
|
|
1162
1197
|
submit: "Submit",
|
|
@@ -1582,6 +1617,7 @@ var common = {
|
|
|
1582
1617
|
home: "Home",
|
|
1583
1618
|
gettingStarted: "Getting Started",
|
|
1584
1619
|
documentation: "Documentation",
|
|
1620
|
+
storybook: "Storybook",
|
|
1585
1621
|
rtlGuide: "RTL Development Guide",
|
|
1586
1622
|
roadmap: "Roadmap",
|
|
1587
1623
|
themes: "Themes",
|
|
@@ -3375,7 +3411,7 @@ var home = {
|
|
|
3375
3411
|
},
|
|
3376
3412
|
recentWins: {
|
|
3377
3413
|
title: "Recent Wins",
|
|
3378
|
-
performance: "NPM package published (noorui-rtl v0.4.
|
|
3414
|
+
performance: "NPM package published (noorui-rtl v0.4.6)",
|
|
3379
3415
|
skeletons: "74+ production-ready components with full documentation",
|
|
3380
3416
|
components: "10+ complete demo projects (Blog, Marketplace, AI workflows)",
|
|
3381
3417
|
rebranding: "Full RTL/LTR support for ALL RTL languages (Arabic, Hebrew, Urdu, Farsi) + WCAG AA accessibility"
|
|
@@ -3929,6 +3965,7 @@ var documentation = {
|
|
|
3929
3965
|
title: "Components",
|
|
3930
3966
|
description: "Browse all available UI components",
|
|
3931
3967
|
library: "Component Library",
|
|
3968
|
+
storybook: "Storybook \u2197",
|
|
3932
3969
|
props: "Props Documentation",
|
|
3933
3970
|
examples: "Examples"
|
|
3934
3971
|
},
|
|
@@ -4507,7 +4544,7 @@ var examples = {
|
|
|
4507
4544
|
lookingForAppsDesc: "Browse production-ready starters - complete applications with authentication, database, and everything you need to get started.",
|
|
4508
4545
|
viewStarters: "View Production Starters \u2192",
|
|
4509
4546
|
lookingForComponents: "Looking for Individual Components?",
|
|
4510
|
-
lookingForComponentsDesc: "Browse our complete component library with
|
|
4547
|
+
lookingForComponentsDesc: "Browse our complete component library with 74 fully documented components with live examples and accessibility guidelines.",
|
|
4511
4548
|
viewAllComponents: "View All Components \u2192"
|
|
4512
4549
|
},
|
|
4513
4550
|
exampleCards: [
|
|
@@ -4674,7 +4711,7 @@ var examples = {
|
|
|
4674
4711
|
var components_meta = {
|
|
4675
4712
|
components: {
|
|
4676
4713
|
title: "Components",
|
|
4677
|
-
description: "
|
|
4714
|
+
description: "74 beautifully designed components built with Radix UI, Tailwind CSS, and React Flow. Full RTL support, accessible, and customizable.",
|
|
4678
4715
|
quickPreview: "Quick Preview",
|
|
4679
4716
|
previewDescription: "See how components adapt to different directions",
|
|
4680
4717
|
categories: {
|
|
@@ -9555,12 +9592,30 @@ var common2 = {
|
|
|
9555
9592
|
components: "\u0627\u0644\u0645\u0643\u0648\u0646\u0627\u062A",
|
|
9556
9593
|
examples: "\u0627\u0644\u0623\u0645\u062B\u0644\u0629",
|
|
9557
9594
|
starters: "\u0646\u0645\u0627\u0630\u062C \u0627\u0644\u0628\u062F\u0627\u064A\u0629",
|
|
9595
|
+
storybook: "\u0633\u062A\u0648\u0631\u064A\u0628\u0648\u0643",
|
|
9558
9596
|
rtlGuide: "\u062F\u0644\u064A\u0644 RTL",
|
|
9559
9597
|
tokens: "\u0631\u0645\u0648\u0632 \u0627\u0644\u062A\u0635\u0645\u064A\u0645",
|
|
9560
9598
|
themes: "\u0627\u0644\u0633\u0645\u0627\u062A",
|
|
9561
9599
|
documentation: "\u0627\u0644\u062A\u0648\u062B\u064A\u0642",
|
|
9562
9600
|
getStarted: "\u0627\u0628\u062F\u0623 \u0627\u0644\u0622\u0646"
|
|
9563
9601
|
},
|
|
9602
|
+
storybook: {
|
|
9603
|
+
title: "\u0633\u062A\u0648\u0631\u064A\u0628\u0648\u0643",
|
|
9604
|
+
viewInStorybook: "\u0639\u0631\u0636 \u0641\u064A \u0633\u062A\u0648\u0631\u064A\u0628\u0648\u0643",
|
|
9605
|
+
exploreStorybook: "\u0627\u0633\u062A\u0643\u0634\u0641 \u0633\u062A\u0648\u0631\u064A\u0628\u0648\u0643",
|
|
9606
|
+
tryStorybook: "\u062C\u0631\u0651\u0628 \u0633\u062A\u0648\u0631\u064A\u0628\u0648\u0643",
|
|
9607
|
+
openStorybook: "\u0627\u0641\u062A\u062D \u0633\u062A\u0648\u0631\u064A\u0628\u0648\u0643",
|
|
9608
|
+
interactivePlayground: "\u0633\u0627\u062D\u0629 \u0645\u0643\u0648\u0646\u0627\u062A \u062A\u0641\u0627\u0639\u0644\u064A\u0629",
|
|
9609
|
+
description: "\u0627\u0633\u062A\u0643\u0634\u0641 749 \u0642\u0635\u0629 \u062A\u0641\u0627\u0639\u0644\u064A\u0629 \u0639\u0628\u0631 74 \u0645\u0643\u0648\u0646\u064B\u0627. \u0642\u0645 \u0628\u0627\u0644\u062A\u0628\u062F\u064A\u0644 \u0628\u064A\u0646 RTL/LTR\u060C \u0648\u062C\u0631\u0651\u0628 \u0633\u0645\u0627\u062A \u0645\u062E\u062A\u0644\u0641\u0629\u060C \u0648\u0627\u062E\u062A\u0628\u0631 \u0625\u0645\u0643\u0627\u0646\u064A\u0629 \u0627\u0644\u0648\u0635\u0648\u0644\u2014\u0643\u0644 \u0630\u0644\u0643 \u0641\u064A \u0645\u062A\u0635\u0641\u062D\u0643.",
|
|
9610
|
+
shortDescription: "\u0639\u0631\u0636 \u062A\u0641\u0627\u0639\u0644\u064A \u0644\u0644\u0645\u0643\u0648\u0646\u0627\u062A \u0645\u0639 749 \u0642\u0635\u0629",
|
|
9611
|
+
features: {
|
|
9612
|
+
interactive: "\u0633\u0627\u062D\u0629 \u0645\u0643\u0648\u0646\u0627\u062A \u062D\u064A\u0629",
|
|
9613
|
+
rtl: "\u0627\u0644\u062A\u0628\u062F\u064A\u0644 \u0628\u064A\u0646 RTL/LTR",
|
|
9614
|
+
themes: "4 \u0623\u0646\u0648\u0627\u0639 \u0645\u0646 \u0627\u0644\u0633\u0645\u0627\u062A",
|
|
9615
|
+
accessibility: "\u0627\u062E\u062A\u0628\u0627\u0631 \u0643\u0627\u0645\u0644 \u0644\u0625\u0645\u0643\u0627\u0646\u064A\u0629 \u0627\u0644\u0648\u0635\u0648\u0644",
|
|
9616
|
+
examples: "\u0623\u0645\u062B\u0644\u0629 \u0628\u0627\u0644\u0639\u0631\u0628\u064A\u0629 \u0648\u0627\u0644\u0625\u0646\u062C\u0644\u064A\u0632\u064A\u0629"
|
|
9617
|
+
}
|
|
9618
|
+
},
|
|
9564
9619
|
ui: {
|
|
9565
9620
|
button: {
|
|
9566
9621
|
submit: "\u0625\u0631\u0633\u0627\u0644",
|
|
@@ -9986,6 +10041,7 @@ var common2 = {
|
|
|
9986
10041
|
home: "\u0627\u0644\u0631\u0626\u064A\u0633\u064A\u0629",
|
|
9987
10042
|
gettingStarted: "\u0627\u0644\u0628\u062F\u0621",
|
|
9988
10043
|
documentation: "\u0627\u0644\u062A\u0648\u062B\u064A\u0642",
|
|
10044
|
+
storybook: "\u0633\u062A\u0648\u0631\u064A\u0628\u0648\u0643",
|
|
9989
10045
|
rtlGuide: "\u062F\u0644\u064A\u0644 \u062A\u0637\u0648\u064A\u0631 RTL",
|
|
9990
10046
|
roadmap: "\u062E\u0627\u0631\u0637\u0629 \u0627\u0644\u0637\u0631\u064A\u0642",
|
|
9991
10047
|
themes: "\u0627\u0644\u0633\u0645\u0627\u062A",
|
|
@@ -11779,7 +11835,7 @@ var home2 = {
|
|
|
11779
11835
|
},
|
|
11780
11836
|
recentWins: {
|
|
11781
11837
|
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.
|
|
11838
|
+
performance: "\u062A\u0645 \u0646\u0634\u0631 \u062D\u0632\u0645\u0629 NPM (noorui-rtl v0.4.6)",
|
|
11783
11839
|
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
11840
|
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
11841
|
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"
|
|
@@ -12333,6 +12389,7 @@ var documentation2 = {
|
|
|
12333
12389
|
title: "\u0627\u0644\u0645\u0643\u0648\u0646\u0627\u062A",
|
|
12334
12390
|
description: "\u062A\u0635\u0641\u062D \u062C\u0645\u064A\u0639 \u0645\u0643\u0648\u0646\u0627\u062A \u0648\u0627\u062C\u0647\u0629 \u0627\u0644\u0645\u0633\u062A\u062E\u062F\u0645 \u0627\u0644\u0645\u062A\u0627\u062D\u0629",
|
|
12335
12391
|
library: "\u0645\u0643\u062A\u0628\u0629 \u0627\u0644\u0645\u0643\u0648\u0646\u0627\u062A",
|
|
12392
|
+
storybook: "\u0633\u062A\u0648\u0631\u064A\u0628\u0648\u0643 \u2197",
|
|
12336
12393
|
props: "\u062A\u0648\u062B\u064A\u0642 \u0627\u0644\u062E\u0635\u0627\u0626\u0635",
|
|
12337
12394
|
examples: "\u0627\u0644\u0623\u0645\u062B\u0644\u0629"
|
|
12338
12395
|
},
|
|
@@ -12911,7 +12968,7 @@ var examples2 = {
|
|
|
12911
12968
|
lookingForAppsDesc: "\u062A\u0635\u0641\u062D \u0646\u0645\u0627\u0630\u062C \u0627\u0644\u0628\u062F\u0621 \u0627\u0644\u062C\u0627\u0647\u0632\u0629 \u0644\u0644\u0625\u0646\u062A\u0627\u062C - \u062A\u0637\u0628\u064A\u0642\u0627\u062A \u0643\u0627\u0645\u0644\u0629 \u0645\u0639 \u0645\u0635\u0627\u062F\u0642\u0629\u060C \u0642\u0627\u0639\u062F\u0629 \u0628\u064A\u0627\u0646\u0627\u062A\u060C \u0648\u0643\u0644 \u0645\u0627 \u062A\u062D\u062A\u0627\u062C\u0647 \u0644\u0644\u0628\u062F\u0621.",
|
|
12912
12969
|
viewStarters: "\u0639\u0631\u0636 \u0627\u0644\u0646\u0645\u0627\u0630\u062C \u0627\u0644\u062C\u0627\u0647\u0632\u0629 \u2190",
|
|
12913
12970
|
lookingForComponents: "\u0647\u0644 \u062A\u0628\u062D\u062B \u0639\u0646 \u0627\u0644\u0645\u0643\u0648\u0646\u0627\u062A \u0627\u0644\u0641\u0631\u062F\u064A\u0629\u061F",
|
|
12914
|
-
lookingForComponentsDesc: "\u062A\u0635\u0641\u062D \u0645\u0643\u062A\u0628\u0629 \u0627\u0644\u0645\u0643\u0648\u0646\u0627\u062A \u0627\u0644\u0643\u0627\u0645\u0644\u0629 \u0644\u062F\u064A\u0646\u0627 \u0627\u0644\u062A\u064A \u062A\u062D\u062A\u0648\u064A \u0639\u0644\u0649
|
|
12971
|
+
lookingForComponentsDesc: "\u062A\u0635\u0641\u062D \u0645\u0643\u062A\u0628\u0629 \u0627\u0644\u0645\u0643\u0648\u0646\u0627\u062A \u0627\u0644\u0643\u0627\u0645\u0644\u0629 \u0644\u062F\u064A\u0646\u0627 \u0627\u0644\u062A\u064A \u062A\u062D\u062A\u0648\u064A \u0639\u0644\u0649 74 \u0645\u0643\u0648\u0646\u0627\u064B \u0645\u0648\u062B\u0642\u0627\u064B \u0628\u0627\u0644\u0643\u0627\u0645\u0644 \u0645\u0639 \u0623\u0645\u062B\u0644\u0629 \u062D\u064A\u0629 \u0648\u0625\u0631\u0634\u0627\u062F\u0627\u062A \u0625\u0645\u0643\u0627\u0646\u064A\u0629 \u0627\u0644\u0648\u0635\u0648\u0644.",
|
|
12915
12972
|
viewAllComponents: "\u0639\u0631\u0636 \u062C\u0645\u064A\u0639 \u0627\u0644\u0645\u0643\u0648\u0646\u0627\u062A \u2190"
|
|
12916
12973
|
},
|
|
12917
12974
|
exampleCards: [
|
|
@@ -13078,7 +13135,7 @@ var examples2 = {
|
|
|
13078
13135
|
var components_meta2 = {
|
|
13079
13136
|
components: {
|
|
13080
13137
|
title: "\u0627\u0644\u0645\u0643\u0648\u0646\u0627\u062A",
|
|
13081
|
-
description: "
|
|
13138
|
+
description: "74 \u0645\u0643\u0648\u0651\u0646 \u0645\u0635\u0645\u0645 \u0628\u0634\u0643\u0644 \u062C\u0645\u064A\u0644 \u0628\u0627\u0633\u062A\u062E\u062F\u0627\u0645 Radix UI \u0648 Tailwind CSS \u0648 React Flow. \u062F\u0639\u0645 \u0643\u0627\u0645\u0644 \u0644\u0627\u062A\u062C\u0627\u0647 \u0627\u0644\u0646\u0635\u060C \u0642\u0627\u0628\u0644 \u0644\u0644\u0648\u0635\u0648\u0644\u060C \u0648\u0642\u0627\u0628\u0644 \u0644\u0644\u062A\u062E\u0635\u064A\u0635.",
|
|
13082
13139
|
quickPreview: "\u0645\u0639\u0627\u064A\u0646\u0629 \u0633\u0631\u064A\u0639\u0629",
|
|
13083
13140
|
previewDescription: "\u0634\u0627\u0647\u062F \u0643\u064A\u0641 \u062A\u062A\u0643\u064A\u0641 \u0627\u0644\u0645\u0643\u0648\u0646\u0627\u062A \u0645\u0639 \u0627\u0644\u0627\u062A\u062C\u0627\u0647\u0627\u062A \u0627\u0644\u0645\u062E\u062A\u0644\u0641\u0629",
|
|
13084
13141
|
categories: {
|
|
@@ -18270,7 +18327,7 @@ var Calendar2 = React74__namespace.forwardRef(
|
|
|
18270
18327
|
}
|
|
18271
18328
|
return days2;
|
|
18272
18329
|
}, [locale]);
|
|
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(
|
|
18330
|
+
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 gap-4" }, /* @__PURE__ */ React74__namespace.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React74__namespace.createElement(
|
|
18274
18331
|
Button,
|
|
18275
18332
|
{
|
|
18276
18333
|
type: "button",
|
|
@@ -21050,11 +21107,16 @@ var MessageActions = React74__namespace.forwardRef(
|
|
|
21050
21107
|
}
|
|
21051
21108
|
);
|
|
21052
21109
|
MessageActions.displayName = "MessageActions";
|
|
21053
|
-
var Select = (
|
|
21110
|
+
var Select = ({ dir, ...props }) => {
|
|
21054
21111
|
const { direction } = useDirection();
|
|
21055
|
-
return /* @__PURE__ */ React74__namespace.createElement(
|
|
21056
|
-
|
|
21057
|
-
|
|
21112
|
+
return /* @__PURE__ */ React74__namespace.createElement(
|
|
21113
|
+
SelectPrimitive__namespace.Root,
|
|
21114
|
+
{
|
|
21115
|
+
dir: dir || direction,
|
|
21116
|
+
...props
|
|
21117
|
+
}
|
|
21118
|
+
);
|
|
21119
|
+
};
|
|
21058
21120
|
var SelectGroup = SelectPrimitive__namespace.Group;
|
|
21059
21121
|
var SelectValue = SelectPrimitive__namespace.Value;
|
|
21060
21122
|
var SelectTrigger = React74__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ React74__namespace.createElement(
|
|
@@ -21910,23 +21972,12 @@ var PromptInput = React74__namespace.forwardRef(
|
|
|
21910
21972
|
);
|
|
21911
21973
|
PromptInput.displayName = "PromptInput";
|
|
21912
21974
|
var RadioGroup3 = React74__namespace.forwardRef(({ className, dir, ...props }, ref) => {
|
|
21913
|
-
const
|
|
21914
|
-
React74__namespace.useEffect(() => {
|
|
21915
|
-
setDocumentDir(document.documentElement.dir || "ltr");
|
|
21916
|
-
const observer = new MutationObserver(() => {
|
|
21917
|
-
setDocumentDir(document.documentElement.dir || "ltr");
|
|
21918
|
-
});
|
|
21919
|
-
observer.observe(document.documentElement, {
|
|
21920
|
-
attributes: true,
|
|
21921
|
-
attributeFilter: ["dir"]
|
|
21922
|
-
});
|
|
21923
|
-
return () => observer.disconnect();
|
|
21924
|
-
}, []);
|
|
21975
|
+
const { direction } = useDirection();
|
|
21925
21976
|
return /* @__PURE__ */ React74__namespace.createElement(
|
|
21926
21977
|
RadioGroupPrimitive__namespace.Root,
|
|
21927
21978
|
{
|
|
21928
21979
|
className: cn("grid gap-2", className),
|
|
21929
|
-
dir: dir ||
|
|
21980
|
+
dir: dir || direction,
|
|
21930
21981
|
...props,
|
|
21931
21982
|
ref
|
|
21932
21983
|
}
|