@qumra/fanar 0.0.0 → 0.0.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/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@qumra/fanar",
3
- "version": "0.0.0",
3
+ "version": "0.0.2",
4
4
  "type": "module",
5
- "description": "مكتبة مكوّنات قمرة وتوكنزها عربي أولاً، Tailwind 4، RSC-آمن.",
5
+ "description": "Qumra's Arabic-first component library and design tokens. Tailwind 4, RSC-safe.",
6
6
  "license": "UNLICENSED",
7
7
  "keywords": [
8
8
  "qumra",
@@ -16,12 +16,17 @@
16
16
  ".": "./src/index.ts",
17
17
  "./lib": "./src/lib.ts",
18
18
  "./tokens": "./src/tokens/tokens.ts",
19
+ "./orb": "./src/orb/index.ts",
20
+ "./editor": "./src/editor/index.ts",
21
+ "./notifications": "./src/notifications/index.ts",
22
+ "./ai": "./src/ai/index.ts",
23
+ "./editor.css": "./src/editor/editor.css",
19
24
  "./tokens.css": "./src/tokens/tokens.css",
20
25
  "./tokens.json": "./src/tokens/tokens.json",
21
26
  "./package.json": "./package.json"
22
27
  },
23
28
  "publishConfig": {
24
- "access": "restricted",
29
+ "access": "public",
25
30
  "main": "./dist/index.js",
26
31
  "types": "./dist/index.d.ts",
27
32
  "exports": {
@@ -37,6 +42,23 @@
37
42
  "types": "./dist/tokens.d.ts",
38
43
  "import": "./dist/tokens.js"
39
44
  },
45
+ "./orb": {
46
+ "types": "./dist/orb.d.ts",
47
+ "import": "./dist/orb.js"
48
+ },
49
+ "./editor": {
50
+ "types": "./dist/editor.d.ts",
51
+ "import": "./dist/editor.js"
52
+ },
53
+ "./notifications": {
54
+ "types": "./dist/notifications.d.ts",
55
+ "import": "./dist/notifications.js"
56
+ },
57
+ "./ai": {
58
+ "types": "./dist/ai.d.ts",
59
+ "import": "./dist/ai.js"
60
+ },
61
+ "./editor.css": "./dist/editor.css",
40
62
  "./tokens.css": "./dist/tokens.css",
41
63
  "./tokens.json": "./dist/tokens.json",
42
64
  "./package.json": "./package.json"
@@ -59,6 +81,7 @@
59
81
  "check-tokens": "node scripts/check.mjs",
60
82
  "check-contrast": "node scripts/check-contrast.mjs",
61
83
  "test": "vitest run",
84
+ "check-publish": "node scripts/check-publish.mjs",
62
85
  "test:watch": "vitest",
63
86
  "generate": "node scripts/generate.mjs",
64
87
  "generate:ts": "node scripts/generate-ts.mjs",
@@ -82,6 +105,7 @@
82
105
  "@types/node": "^26.2.0",
83
106
  "@types/react": "^19.2.18",
84
107
  "@types/react-dom": "^19.2.4",
108
+ "@types/three": "^0.185.0",
85
109
  "@vitejs/plugin-react": "^6.1.0",
86
110
  "@vitest/coverage-v8": "^4.1.11",
87
111
  "eslint": "^10.9.0",
@@ -90,34 +114,68 @@
90
114
  "eslint-plugin-react-hooks": "^7.1.1",
91
115
  "globals": "^17.11.0",
92
116
  "happy-dom": "^20.11.6",
117
+ "@qumra/jawab-ai": "link:../jawab-ai",
93
118
  "prettier": "^3.9.6",
94
119
  "react": "^19.2.8",
95
120
  "react-dom": "^19.2.8",
96
121
  "size-limit": "^13.0.3",
122
+ "three": "^0.185.1",
97
123
  "tsup": "^8.5.1",
98
124
  "typescript": "^5.7.3",
99
125
  "typescript-eslint": "^8.67.0",
100
126
  "vitest": "^4.1.11"
101
127
  },
102
128
  "dependencies": {
129
+ "@react-three/drei": "^10.0.0",
130
+ "@react-three/fiber": "^9.0.0",
131
+ "@tiptap/core": "^3.0.9",
132
+ "@tiptap/extension-character-count": "^3.19.0",
133
+ "@tiptap/extension-color": "^3.0.9",
134
+ "@tiptap/extension-dropcursor": "^3.19.0",
135
+ "@tiptap/extension-highlight": "^3.19.0",
136
+ "@tiptap/extension-image": "^3.0.9",
137
+ "@tiptap/extension-link": "^3.0.9",
138
+ "@tiptap/extension-list-item": "^3.0.9",
139
+ "@tiptap/extension-placeholder": "^3.19.0",
140
+ "@tiptap/extension-table": "^3.19.0",
141
+ "@tiptap/extension-table-cell": "^3.19.0",
142
+ "@tiptap/extension-table-header": "^3.19.0",
143
+ "@tiptap/extension-table-row": "^3.19.0",
144
+ "@tiptap/extension-text-align": "^3.0.9",
145
+ "@tiptap/extension-text-style": "^3.0.9",
146
+ "@tiptap/extension-underline": "^3.2.0",
147
+ "@tiptap/pm": "^3.19.0",
148
+ "@tiptap/react": "^3.0.9",
149
+ "@tiptap/starter-kit": "^3.19.0",
150
+ "@tiptap/suggestion": "^3.19.0",
103
151
  "@visx/curve": "^4.0.0",
104
152
  "@visx/scale": "^4.0.0",
105
153
  "@visx/shape": "^4.0.0",
106
154
  "@visx/tooltip": "^4.0.0",
107
155
  "lucide-react": "^1.33.0",
108
- "tailwind-merge": "^3.6.0"
156
+ "tailwind-merge": "^3.6.0",
157
+ "tiptap-extension-resize-image": "^1.3.0",
158
+ "tiptap-text-direction": "^0.3.2"
109
159
  },
110
160
  "peerDependencies": {
111
161
  "@google/model-viewer": ">=4.0.0",
112
162
  "react": "^19.0.0",
113
163
  "react-dom": "^19.0.0",
114
- "tailwindcss": "^4.0.0"
164
+ "tailwindcss": "^4.0.0",
165
+ "@qumra/jawab-ai": "^0.1.0",
166
+ "three": ">=0.171.0"
115
167
  },
116
168
  "peerDependenciesMeta": {
169
+ "@google/model-viewer": {
170
+ "optional": true
171
+ },
172
+ "@qumra/jawab-ai": {
173
+ "optional": true
174
+ },
117
175
  "tailwindcss": {
118
176
  "optional": true
119
177
  },
120
- "@google/model-viewer": {
178
+ "three": {
121
179
  "optional": true
122
180
  }
123
181
  },
@@ -1,159 +0,0 @@
1
- // src/tokens/tokens.ts
2
- var TEXT_SCALE = ["micro", "caption", "ui", "body", "lead", "base", "h4", "h3", "h2", "h1", "display", "hero", "title", "mega"];
3
- var RADIUS_SCALE = ["mark", "xs", "sm", "field", "card", "lg", "section", "full"];
4
- var SHADOW_SCALE = ["raise", "tip", "panel", "pop", "modal", "toast", "sheet"];
5
- var CONTAINER_SCALE = ["page", "shell", "note", "lead"];
6
- var ANIMATE_SCALE = ["qfade", "qslide", "tip", "tip-up", "drawer", "drawer-rtl", "savebar", "skeleton"];
7
- var COLOR_SCALE = ["surface", "bg", "line", "hover", "ink", "ink2", "muted", "muted2", "border", "soft", "soft2", "brand-100", "brand-900", "brand-ink", "brand", "brand-hover", "brand-deep", "skeleton", "tint", "tint2", "mint", "amber-900", "amber", "amber-bg", "amber-ink", "amber-line", "amber-hover", "green", "green-bg", "green-bg2", "green-line", "green-solid", "violet", "violet-bg", "violet-line", "violet-solid", "red-100", "red", "red-bg", "red-line", "danger", "danger-hover", "night", "hero-body", "hero-meta", "hero-dim", "hero-text", "code-bg", "code-plain", "code-key", "code-tag", "code-attr", "code-str", "code-num", "code-note", "code-dim", "code-line", "code-chip"];
8
- var TOKENS = {
9
- "--font-sans": '"Alexandria", system-ui, sans-serif',
10
- "--color-surface": "#ffffff",
11
- "--color-bg": "#f7f9f9",
12
- "--color-line": "#edf1f1",
13
- "--color-hover": "#f2f6f6",
14
- "--color-ink": "#020809",
15
- "--color-ink2": "#3d4545",
16
- "--color-muted": "#5f6a6a",
17
- "--color-muted2": "#687373",
18
- "--color-border": "#7f8c8c",
19
- "--color-soft": "#eaf2f3",
20
- "--color-soft2": "#dceded",
21
- "--color-brand-100": "#a5c9cc",
22
- "--color-brand-900": "#0a2528",
23
- "--color-brand-ink": "#0f4a4e",
24
- "--color-brand": "#207982",
25
- "--color-brand-hover": "#1a646c",
26
- "--color-brand-deep": "#0b3b3e",
27
- "--color-skeleton": "#d6dcdc",
28
- "--color-tint": "#f4faf8",
29
- "--color-tint2": "#eff6f3",
30
- "--color-mint": "#7dd3c0",
31
- "--color-amber-900": "#3d2a05",
32
- "--color-amber": "#f8ac33",
33
- "--color-amber-bg": "#fef6e9",
34
- "--color-amber-ink": "#85570f",
35
- "--color-amber-line": "#fbd79a",
36
- "--color-amber-hover": "#de9219",
37
- "--color-green": "#1e7a45",
38
- "--color-green-bg": "#f1faf4",
39
- "--color-green-bg2": "#e9f6ee",
40
- "--color-green-line": "#bfe6ce",
41
- "--color-green-solid": "#1e7a45",
42
- "--color-violet": "#4b3e8e",
43
- "--color-violet-bg": "#edeaf6",
44
- "--color-violet-line": "#ded8ef",
45
- "--color-violet-solid": "#6d5eb8",
46
- "--color-red-100": "#f3a79e",
47
- "--color-red": "#8e2b20",
48
- "--color-red-bg": "#fdecea",
49
- "--color-red-line": "#f3c9c4",
50
- "--color-danger": "#c94134",
51
- "--color-danger-hover": "#a3362b",
52
- "--color-night": "#0b0f12",
53
- "--color-hero-body": "#bfd9d8",
54
- "--color-hero-meta": "#8fb3b2",
55
- "--color-hero-dim": "#5e7a79",
56
- "--color-hero-text": "#d7e3e2",
57
- "--color-code-bg": "#1f1f1f",
58
- "--color-code-plain": "#d4d4d4",
59
- "--color-code-key": "#569cd6",
60
- "--color-code-tag": "#4ec9b0",
61
- "--color-code-attr": "#9cdcfe",
62
- "--color-code-str": "#ce9178",
63
- "--color-code-num": "#b5cea8",
64
- "--color-code-note": "#6a9955",
65
- "--color-code-dim": "#858585",
66
- "--color-code-line": "#303031",
67
- "--color-code-chip": "#f4f7f7",
68
- "--text-micro": "11px",
69
- "--text-caption": "12px",
70
- "--text-ui": "13px",
71
- "--text-body": "14px",
72
- "--text-lead": "15px",
73
- "--text-base": "16px",
74
- "--text-base--line-height": "initial",
75
- "--text-h4": "17px",
76
- "--text-h3": "20px",
77
- "--text-h2": "24px",
78
- "--text-h1": "30px",
79
- "--text-display": "36px",
80
- "--text-hero": "44px",
81
- "--text-title": "40px",
82
- "--text-mega": "54px",
83
- "--container-page": "1600px",
84
- "--container-shell": "1600px",
85
- "--container-note": "340px",
86
- "--container-lead": "520px",
87
- "--radius-mark": "3px",
88
- "--radius-xs": "5px",
89
- "--radius-sm": "7px",
90
- "--radius-field": "9px",
91
- "--radius-card": "12px",
92
- "--radius-lg": "14px",
93
- "--radius-section": "18px",
94
- "--radius-full": "999px",
95
- "--shadow-raise": "0 1px 3px var(--shadow-color)",
96
- "--shadow-tip": "0 6px 18px var(--shadow-color)",
97
- "--shadow-panel": "0 10px 30px var(--shadow-color)",
98
- "--shadow-pop": "0 18px 44px var(--shadow-color)",
99
- "--shadow-modal": "0 24px 60px rgb(2 8 9 / 0.28)",
100
- "--shadow-toast": "0 16px 40px rgb(2 8 9 / 0.26)",
101
- "--shadow-sheet": "0 -14px 40px rgb(2 8 9 / 0.28), inset 0 1px 0 rgb(255 255 255 / 0.06)",
102
- "--shadow-color": "rgb(2 8 9 / 0.14)",
103
- "--animate-qfade": "qfade 0.16s ease-out",
104
- "--animate-qslide": "qslidein 0.22s ease-out",
105
- "--animate-tip": "tip-in 0.26s cubic-bezier(0.2, 0.8, 0.2, 1)",
106
- "--animate-tip-up": "tip-up 0.3s cubic-bezier(0.2, 0.9, 0.2, 1)",
107
- "--animate-drawer": "drawer-ltr 0.32s cubic-bezier(0.2, 0.9, 0.2, 1)",
108
- "--animate-drawer-rtl": "drawer-rtl 0.32s cubic-bezier(0.2, 0.9, 0.2, 1)",
109
- "--animate-savebar": "savebar-in 0.2s cubic-bezier(0.2, 0.8, 0.2, 1)",
110
- "--animate-skeleton": "skeleton-pulse 1.6s ease-in-out infinite",
111
- "--num-align": "right",
112
- "--num-align-far": "left",
113
- "--num-pad-right": "0.875rem",
114
- "--num-pad-left": "3.5rem",
115
- "--num-icon-pad-right": "2.5rem",
116
- "--num-icon-pad-left": "0.875rem"
117
- };
118
- var DARK_TOKENS = {
119
- "--color-surface": "#101718",
120
- "--color-bg": "#0a0f10",
121
- "--color-line": "#1e2829",
122
- "--color-hover": "#1a2425",
123
- "--color-ink": "#f2f6f6",
124
- "--color-ink2": "#c7d1d1",
125
- "--color-muted": "#93a0a0",
126
- "--color-muted2": "#7a8787",
127
- "--color-border": "#5e6b6c",
128
- "--color-soft": "#12363a",
129
- "--color-soft2": "#17454a",
130
- "--color-brand-ink": "#7dd3c0",
131
- "--color-skeleton": "#2c3232",
132
- "--color-amber": "#f8ac33",
133
- "--color-amber-bg": "#2b2009",
134
- "--color-amber-ink": "#f5c77a",
135
- "--color-amber-line": "#5c4415",
136
- "--color-green": "#6ecf9a",
137
- "--color-green-bg": "#0d2119",
138
- "--color-green-bg2": "#102a22",
139
- "--color-green-line": "#245140",
140
- "--color-violet": "#b9aeea",
141
- "--color-violet-bg": "#1e1a33",
142
- "--color-violet-line": "#38305c",
143
- "--color-red": "#f3a79e",
144
- "--color-red-bg": "#2c1613",
145
- "--color-red-line": "#5c2a24",
146
- "--color-code-chip": "#17201f",
147
- "--shadow-color": "rgb(0 0 0 / 0.55)"
148
- };
149
-
150
- export {
151
- TEXT_SCALE,
152
- RADIUS_SCALE,
153
- SHADOW_SCALE,
154
- CONTAINER_SCALE,
155
- ANIMATE_SCALE,
156
- COLOR_SCALE,
157
- TOKENS,
158
- DARK_TOKENS
159
- };