noorui-rtl 0.1.2

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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 Nuno Marques
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,100 @@
1
+ # Noor UI
2
+
3
+ [![npm version](https://img.shields.io/npm/v/noorui-rtl.svg)](https://www.npmjs.com/package/noorui-rtl)
4
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
5
+
6
+ Beautiful RTL-first React components for bilingual applications. Built with Radix UI, Tailwind CSS, and full Arabic/English support.
7
+
8
+ ## Features
9
+
10
+ ✨ **RTL-First Design** - Built from the ground up with RTL languages in mind
11
+ 🌍 **Bilingual Support** - Seamless English/Arabic language switching
12
+ ♿ **Accessible** - WCAG 2.1 compliant components
13
+ 🎨 **Themeable** - Multiple built-in themes with easy customization
14
+ 📦 **Tree-shakeable** - Import only what you need
15
+ ⚡ **TypeScript** - Full type safety out of the box
16
+ 🕌 **GCC-Specific** - Components for Gulf region markets (Prayer Times, Hijri Calendar, Zakat Calculator)
17
+
18
+ ## Installation
19
+
20
+ ```bash
21
+ npm install noorui-rtl
22
+ ```
23
+
24
+ ## Quick Start
25
+
26
+ ```tsx
27
+ import { NoorProvider } from 'noorui-rtl';
28
+ import 'noorui-rtl/styles.css';
29
+
30
+ function App() {
31
+ return (
32
+ <NoorProvider locale="ar" direction="rtl">
33
+ <YourApp />
34
+ </NoorProvider>
35
+ );
36
+ }
37
+ ```
38
+
39
+ ## Documentation
40
+
41
+ For full documentation, visit [noorui.com](https://noorui.com)
42
+
43
+ ## Components
44
+
45
+ ### Core Components
46
+ - Button, Card, Badge, Avatar, Separator, Label, Input
47
+ - Alert, Toast, Dialog, Sheet, Popover, Tooltip
48
+ - Select, Checkbox, Radio Group, Switch, Slider
49
+ - Tabs, Accordion, Collapsible
50
+ - Table, Data Table, Pagination
51
+ - Command Menu, Dropdown Menu, Context Menu
52
+
53
+ ### Advanced Components
54
+ - Dashboard Shell
55
+ - User Menu
56
+ - Notification Center
57
+ - Stepper
58
+ - File Upload
59
+ - Rich Text Editor
60
+ - Date Picker, Time Picker
61
+ - Number Input
62
+
63
+ ### GCC-Specific Components
64
+ - Prayer Times
65
+ - Hijri Date
66
+ - Arabic Number
67
+ - Zakat Calculator
68
+
69
+ ### AI/LLM Components
70
+ - Chat Message
71
+ - Prompt Input
72
+ - Thinking Indicator
73
+ - Message Actions
74
+ - Model Selector
75
+ - Parameter Slider
76
+ - Token Counter
77
+ - Conversation History
78
+ - Workflow Canvas
79
+ - Workflow Node
80
+
81
+ ## Requirements
82
+
83
+ - React 18+
84
+ - Tailwind CSS 3.4+
85
+ - Node.js 18+
86
+
87
+ ## License
88
+
89
+ MIT © [Nuno Marques](https://ositaka.com)
90
+
91
+ ## Links
92
+
93
+ - 🌐 [Website](https://noorui.com)
94
+ - 📚 [Documentation](https://noorui.com/documentation)
95
+ - 🐛 [Issues](https://github.com/ositaka/noor-ui/issues)
96
+ - 💬 [Discussions](https://github.com/ositaka/noor-ui/discussions)
97
+
98
+ ---
99
+
100
+ Made with ❤️ for the bilingual web
@@ -0,0 +1,50 @@
1
+ import * as React from 'react';
2
+
3
+ /**
4
+ * NoorProvider - Root provider for Noor UI components
5
+ *
6
+ * This provider will handle:
7
+ * - Direction context (LTR/RTL)
8
+ * - Locale context (en/ar)
9
+ * - Theme context
10
+ *
11
+ * @example
12
+ * ```tsx
13
+ * import { NoorProvider } from 'noorui';
14
+ *
15
+ * function App() {
16
+ * return (
17
+ * <NoorProvider locale="ar" direction="rtl">
18
+ * <YourApp />
19
+ * </NoorProvider>
20
+ * );
21
+ * }
22
+ * ```
23
+ */
24
+ interface NoorProviderProps {
25
+ children: React.ReactNode;
26
+ locale?: 'en' | 'ar';
27
+ direction?: 'ltr' | 'rtl';
28
+ }
29
+ declare const NoorProvider: React.FC<NoorProviderProps>;
30
+
31
+ /**
32
+ * Noor UI - Beautiful RTL-first React components for bilingual applications
33
+ *
34
+ * @description A comprehensive UI component library built with Radix UI and Tailwind CSS,
35
+ * featuring full RTL support and bilingual (English/Arabic) capabilities.
36
+ *
37
+ * @version 0.1.0
38
+ * @license MIT
39
+ * @author Nuno Marques <info@ositaka.com>
40
+ * @homepage https://noorui.com
41
+ */
42
+ declare const version = "0.1.0";
43
+ declare const packageInfo: {
44
+ name: string;
45
+ description: string;
46
+ version: string;
47
+ features: string[];
48
+ };
49
+
50
+ export { NoorProvider, packageInfo, version };
@@ -0,0 +1,50 @@
1
+ import * as React from 'react';
2
+
3
+ /**
4
+ * NoorProvider - Root provider for Noor UI components
5
+ *
6
+ * This provider will handle:
7
+ * - Direction context (LTR/RTL)
8
+ * - Locale context (en/ar)
9
+ * - Theme context
10
+ *
11
+ * @example
12
+ * ```tsx
13
+ * import { NoorProvider } from 'noorui';
14
+ *
15
+ * function App() {
16
+ * return (
17
+ * <NoorProvider locale="ar" direction="rtl">
18
+ * <YourApp />
19
+ * </NoorProvider>
20
+ * );
21
+ * }
22
+ * ```
23
+ */
24
+ interface NoorProviderProps {
25
+ children: React.ReactNode;
26
+ locale?: 'en' | 'ar';
27
+ direction?: 'ltr' | 'rtl';
28
+ }
29
+ declare const NoorProvider: React.FC<NoorProviderProps>;
30
+
31
+ /**
32
+ * Noor UI - Beautiful RTL-first React components for bilingual applications
33
+ *
34
+ * @description A comprehensive UI component library built with Radix UI and Tailwind CSS,
35
+ * featuring full RTL support and bilingual (English/Arabic) capabilities.
36
+ *
37
+ * @version 0.1.0
38
+ * @license MIT
39
+ * @author Nuno Marques <info@ositaka.com>
40
+ * @homepage https://noorui.com
41
+ */
42
+ declare const version = "0.1.0";
43
+ declare const packageInfo: {
44
+ name: string;
45
+ description: string;
46
+ version: string;
47
+ features: string[];
48
+ };
49
+
50
+ export { NoorProvider, packageInfo, version };
package/dist/index.js ADDED
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // src/index.ts
31
+ var index_exports = {};
32
+ __export(index_exports, {
33
+ NoorProvider: () => provider_default,
34
+ packageInfo: () => packageInfo,
35
+ version: () => version
36
+ });
37
+ module.exports = __toCommonJS(index_exports);
38
+
39
+ // src/provider.tsx
40
+ var React = __toESM(require("react"));
41
+ var import_jsx_runtime = require("react/jsx-runtime");
42
+ var NoorProvider = ({
43
+ children,
44
+ locale = "en",
45
+ direction = "ltr"
46
+ }) => {
47
+ React.useEffect(() => {
48
+ document.documentElement.dir = direction;
49
+ document.documentElement.lang = locale;
50
+ }, [direction, locale]);
51
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children });
52
+ };
53
+ var provider_default = NoorProvider;
54
+
55
+ // src/index.ts
56
+ var version = "0.1.0";
57
+ var packageInfo = {
58
+ name: "noorui",
59
+ description: "Beautiful RTL-first React components for bilingual applications",
60
+ version: "0.1.0",
61
+ features: [
62
+ "RTL-first design",
63
+ "Bilingual support (English/Arabic)",
64
+ "Built on Radix UI primitives",
65
+ "Tailwind CSS styling",
66
+ "Full TypeScript support",
67
+ "Accessibility compliant",
68
+ "GCC-specific components"
69
+ ]
70
+ };
71
+ // Annotate the CommonJS export names for ESM import in node:
72
+ 0 && (module.exports = {
73
+ NoorProvider,
74
+ packageInfo,
75
+ version
76
+ });
77
+ /**
78
+ * Noor UI - Beautiful RTL-first React components for bilingual applications
79
+ *
80
+ * @description A comprehensive UI component library built with Radix UI and Tailwind CSS,
81
+ * featuring full RTL support and bilingual (English/Arabic) capabilities.
82
+ *
83
+ * @version 0.1.0
84
+ * @license MIT
85
+ * @author Nuno Marques <info@ositaka.com>
86
+ * @homepage https://noorui.com
87
+ */
package/dist/index.mjs ADDED
@@ -0,0 +1,48 @@
1
+ // src/provider.tsx
2
+ import * as React from "react";
3
+ import { Fragment, jsx } from "react/jsx-runtime";
4
+ var NoorProvider = ({
5
+ children,
6
+ locale = "en",
7
+ direction = "ltr"
8
+ }) => {
9
+ React.useEffect(() => {
10
+ document.documentElement.dir = direction;
11
+ document.documentElement.lang = locale;
12
+ }, [direction, locale]);
13
+ return /* @__PURE__ */ jsx(Fragment, { children });
14
+ };
15
+ var provider_default = NoorProvider;
16
+
17
+ // src/index.ts
18
+ var version = "0.1.0";
19
+ var packageInfo = {
20
+ name: "noorui",
21
+ description: "Beautiful RTL-first React components for bilingual applications",
22
+ version: "0.1.0",
23
+ features: [
24
+ "RTL-first design",
25
+ "Bilingual support (English/Arabic)",
26
+ "Built on Radix UI primitives",
27
+ "Tailwind CSS styling",
28
+ "Full TypeScript support",
29
+ "Accessibility compliant",
30
+ "GCC-specific components"
31
+ ]
32
+ };
33
+ export {
34
+ provider_default as NoorProvider,
35
+ packageInfo,
36
+ version
37
+ };
38
+ /**
39
+ * Noor UI - Beautiful RTL-first React components for bilingual applications
40
+ *
41
+ * @description A comprehensive UI component library built with Radix UI and Tailwind CSS,
42
+ * featuring full RTL support and bilingual (English/Arabic) capabilities.
43
+ *
44
+ * @version 0.1.0
45
+ * @license MIT
46
+ * @author Nuno Marques <info@ositaka.com>
47
+ * @homepage https://noorui.com
48
+ */
package/package.json ADDED
@@ -0,0 +1,92 @@
1
+ {
2
+ "name": "noorui-rtl",
3
+ "version": "0.1.2",
4
+ "description": "Beautiful RTL-first React components for bilingual applications. Built with Radix UI, Tailwind CSS, and full Arabic/English support.",
5
+ "main": "./dist/index.js",
6
+ "module": "./dist/index.mjs",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.mjs",
12
+ "require": "./dist/index.js"
13
+ },
14
+ "./styles.css": "./dist/styles.css"
15
+ },
16
+ "files": [
17
+ "dist",
18
+ "README.md",
19
+ "LICENSE"
20
+ ],
21
+ "scripts": {
22
+ "build": "tsup src/index.ts --format cjs,esm --dts --clean",
23
+ "dev": "tsup src/index.ts --format cjs,esm --dts --watch",
24
+ "type-check": "tsc --noEmit",
25
+ "lint": "eslint src --ext .ts,.tsx"
26
+ },
27
+ "keywords": [
28
+ "react",
29
+ "components",
30
+ "ui",
31
+ "design-system",
32
+ "rtl",
33
+ "arabic",
34
+ "bilingual",
35
+ "gcc",
36
+ "nextjs",
37
+ "tailwindcss",
38
+ "typescript",
39
+ "radix-ui",
40
+ "accessibility",
41
+ "a11y"
42
+ ],
43
+ "author": {
44
+ "name": "Nuno Marques",
45
+ "url": "https://ositaka.com",
46
+ "email": "info@ositaka.com"
47
+ },
48
+ "license": "MIT",
49
+ "homepage": "https://noorui.com",
50
+ "repository": {
51
+ "type": "git",
52
+ "url": "git+https://github.com/ositaka/noor-ui.git"
53
+ },
54
+ "bugs": {
55
+ "url": "https://github.com/ositaka/noor-ui/issues"
56
+ },
57
+ "peerDependencies": {
58
+ "react": "^18.0.0",
59
+ "react-dom": "^18.0.0"
60
+ },
61
+ "dependencies": {
62
+ "@radix-ui/react-accordion": "^1.1.2",
63
+ "@radix-ui/react-avatar": "^1.0.4",
64
+ "@radix-ui/react-checkbox": "^1.0.4",
65
+ "@radix-ui/react-collapsible": "^1.0.3",
66
+ "@radix-ui/react-context-menu": "^2.1.5",
67
+ "@radix-ui/react-dialog": "^1.0.5",
68
+ "@radix-ui/react-dropdown-menu": "^2.0.6",
69
+ "@radix-ui/react-label": "^2.0.2",
70
+ "@radix-ui/react-popover": "^1.0.7",
71
+ "@radix-ui/react-progress": "^1.0.3",
72
+ "@radix-ui/react-radio-group": "^1.1.3",
73
+ "@radix-ui/react-scroll-area": "^1.2.10",
74
+ "@radix-ui/react-select": "^2.0.0",
75
+ "@radix-ui/react-separator": "^1.0.3",
76
+ "@radix-ui/react-slider": "^1.1.2",
77
+ "@radix-ui/react-switch": "^1.0.3",
78
+ "@radix-ui/react-tabs": "^1.1.13",
79
+ "@radix-ui/react-toast": "^1.1.5",
80
+ "@radix-ui/react-tooltip": "^1.0.7",
81
+ "class-variance-authority": "^0.7.0",
82
+ "clsx": "^2.1.0",
83
+ "lucide-react": "^0.344.0",
84
+ "tailwind-merge": "^2.2.0"
85
+ },
86
+ "devDependencies": {
87
+ "@types/react": "^18.2.0",
88
+ "@types/react-dom": "^18.2.0",
89
+ "tsup": "^8.0.0",
90
+ "typescript": "^5.3.0"
91
+ }
92
+ }