@akbarsafari00/ods-react 0.1.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.
Files changed (128) hide show
  1. package/README.md +61 -0
  2. package/dist/components/alert-dialog.d.ts +32 -0
  3. package/dist/components/alert-dialog.d.ts.map +1 -0
  4. package/dist/components/alert-dialog.js +48 -0
  5. package/dist/components/alert-dialog.js.map +1 -0
  6. package/dist/components/alert.d.ts +11 -0
  7. package/dist/components/alert.d.ts.map +1 -0
  8. package/dist/components/alert.js +28 -0
  9. package/dist/components/alert.js.map +1 -0
  10. package/dist/components/badge.d.ts +10 -0
  11. package/dist/components/badge.d.ts.map +1 -0
  12. package/dist/components/badge.js +25 -0
  13. package/dist/components/badge.js.map +1 -0
  14. package/dist/components/button-group.d.ts +17 -0
  15. package/dist/components/button-group.d.ts.map +1 -0
  16. package/dist/components/button-group.js +38 -0
  17. package/dist/components/button-group.js.map +1 -0
  18. package/dist/components/button.d.ts +8 -0
  19. package/dist/components/button.d.ts.map +1 -0
  20. package/dist/components/button.js +21 -0
  21. package/dist/components/button.js.map +1 -0
  22. package/dist/components/card.d.ts +10 -0
  23. package/dist/components/card.d.ts.map +1 -0
  24. package/dist/components/card.js +25 -0
  25. package/dist/components/card.js.map +1 -0
  26. package/dist/components/checkbox.d.ts +5 -0
  27. package/dist/components/checkbox.d.ts.map +1 -0
  28. package/dist/components/checkbox.js +10 -0
  29. package/dist/components/checkbox.js.map +1 -0
  30. package/dist/components/collapsible.d.ts +15 -0
  31. package/dist/components/collapsible.d.ts.map +1 -0
  32. package/dist/components/collapsible.js +16 -0
  33. package/dist/components/collapsible.js.map +1 -0
  34. package/dist/components/combobox.d.ts +34 -0
  35. package/dist/components/combobox.d.ts.map +1 -0
  36. package/dist/components/combobox.js +280 -0
  37. package/dist/components/combobox.js.map +1 -0
  38. package/dist/components/context-menu.d.ts +60 -0
  39. package/dist/components/context-menu.d.ts.map +1 -0
  40. package/dist/components/context-menu.js +71 -0
  41. package/dist/components/context-menu.js.map +1 -0
  42. package/dist/components/data-table.d.ts +68 -0
  43. package/dist/components/data-table.d.ts.map +1 -0
  44. package/dist/components/data-table.js +100 -0
  45. package/dist/components/data-table.js.map +1 -0
  46. package/dist/components/dialog.d.ts +32 -0
  47. package/dist/components/dialog.d.ts.map +1 -0
  48. package/dist/components/dialog.js +43 -0
  49. package/dist/components/dialog.js.map +1 -0
  50. package/dist/components/drawer.d.ts +32 -0
  51. package/dist/components/drawer.d.ts.map +1 -0
  52. package/dist/components/drawer.js +43 -0
  53. package/dist/components/drawer.js.map +1 -0
  54. package/dist/components/field.d.ts +50 -0
  55. package/dist/components/field.d.ts.map +1 -0
  56. package/dist/components/field.js +93 -0
  57. package/dist/components/field.js.map +1 -0
  58. package/dist/components/icon-button.d.ts +14 -0
  59. package/dist/components/icon-button.d.ts.map +1 -0
  60. package/dist/components/icon-button.js +28 -0
  61. package/dist/components/icon-button.js.map +1 -0
  62. package/dist/components/input-group.d.ts +17 -0
  63. package/dist/components/input-group.d.ts.map +1 -0
  64. package/dist/components/input-group.js +56 -0
  65. package/dist/components/input-group.js.map +1 -0
  66. package/dist/components/input.d.ts +9 -0
  67. package/dist/components/input.d.ts.map +1 -0
  68. package/dist/components/input.js +7 -0
  69. package/dist/components/input.js.map +1 -0
  70. package/dist/components/label.d.ts +5 -0
  71. package/dist/components/label.d.ts.map +1 -0
  72. package/dist/components/label.js +8 -0
  73. package/dist/components/label.js.map +1 -0
  74. package/dist/components/menubar.d.ts +73 -0
  75. package/dist/components/menubar.d.ts.map +1 -0
  76. package/dist/components/menubar.js +74 -0
  77. package/dist/components/menubar.js.map +1 -0
  78. package/dist/components/pagination.d.ts +23 -0
  79. package/dist/components/pagination.d.ts.map +1 -0
  80. package/dist/components/pagination.js +64 -0
  81. package/dist/components/pagination.js.map +1 -0
  82. package/dist/components/progress.d.ts +17 -0
  83. package/dist/components/progress.d.ts.map +1 -0
  84. package/dist/components/progress.js +23 -0
  85. package/dist/components/progress.js.map +1 -0
  86. package/dist/components/radio-group.d.ts +6 -0
  87. package/dist/components/radio-group.d.ts.map +1 -0
  88. package/dist/components/radio-group.js +12 -0
  89. package/dist/components/radio-group.js.map +1 -0
  90. package/dist/components/select.d.ts +14 -0
  91. package/dist/components/select.d.ts.map +1 -0
  92. package/dist/components/select.js +38 -0
  93. package/dist/components/select.js.map +1 -0
  94. package/dist/components/separator.d.ts +5 -0
  95. package/dist/components/separator.d.ts.map +1 -0
  96. package/dist/components/separator.js +8 -0
  97. package/dist/components/separator.js.map +1 -0
  98. package/dist/components/skeleton.d.ts +23 -0
  99. package/dist/components/skeleton.d.ts.map +1 -0
  100. package/dist/components/skeleton.js +18 -0
  101. package/dist/components/skeleton.js.map +1 -0
  102. package/dist/components/switch.d.ts +7 -0
  103. package/dist/components/switch.d.ts.map +1 -0
  104. package/dist/components/switch.js +8 -0
  105. package/dist/components/switch.js.map +1 -0
  106. package/dist/components/table.d.ts +22 -0
  107. package/dist/components/table.d.ts.map +1 -0
  108. package/dist/components/table.js +31 -0
  109. package/dist/components/table.js.map +1 -0
  110. package/dist/components/tabs.d.ts +36 -0
  111. package/dist/components/tabs.d.ts.map +1 -0
  112. package/dist/components/tabs.js +49 -0
  113. package/dist/components/tabs.js.map +1 -0
  114. package/dist/components/textarea.d.ts +4 -0
  115. package/dist/components/textarea.d.ts.map +1 -0
  116. package/dist/components/textarea.js +7 -0
  117. package/dist/components/textarea.js.map +1 -0
  118. package/dist/index.d.ts +30 -0
  119. package/dist/index.d.ts.map +1 -0
  120. package/dist/index.js +30 -0
  121. package/dist/index.js.map +1 -0
  122. package/dist/lib/utils.d.ts +3 -0
  123. package/dist/lib/utils.d.ts.map +1 -0
  124. package/dist/lib/utils.js +6 -0
  125. package/dist/lib/utils.js.map +1 -0
  126. package/dist/styles/globals.css +660 -0
  127. package/dist/styles/themes/ods-default.css +130 -0
  128. package/package.json +88 -0
@@ -0,0 +1,130 @@
1
+ /*
2
+ * ODS Default
3
+ *
4
+ * A restrained enterprise theme using the ODS semantic variable contract.
5
+ * Components consume semantic variables; brand themes only replace this map.
6
+ */
7
+
8
+ :root {
9
+ --ods-radius-control: 4px;
10
+ --ods-radius-surface: 6px;
11
+ --ods-layer-base: 0;
12
+ --ods-layer-sticky: 100;
13
+ --ods-layer-floating: 200;
14
+ --ods-layer-scrim: 300;
15
+ --ods-layer-modal: 400;
16
+ --ods-layer-menu: 450;
17
+ --ods-layer-notification: 500;
18
+ --ods-layer-tooltip: 600;
19
+ --ods-motion-duration-feedback: 120ms;
20
+ --ods-motion-duration-enter: 160ms;
21
+ --ods-motion-duration-exit: 120ms;
22
+ --ods-motion-duration-panel-enter: 220ms;
23
+ --ods-motion-duration-panel-exit: 160ms;
24
+ --ods-motion-easing-standard: cubic-bezier(0.2, 0, 0.38, 0.9);
25
+ --ods-motion-easing-enter: cubic-bezier(0, 0, 0.38, 0.9);
26
+ --ods-motion-easing-exit: cubic-bezier(0.2, 0, 1, 0.9);
27
+ }
28
+
29
+ @media (prefers-reduced-motion: reduce) {
30
+ :root {
31
+ --ods-motion-duration-feedback: 0ms;
32
+ --ods-motion-duration-enter: 0ms;
33
+ --ods-motion-duration-exit: 0ms;
34
+ --ods-motion-duration-panel-enter: 0ms;
35
+ --ods-motion-duration-panel-exit: 0ms;
36
+ }
37
+ }
38
+
39
+ :root,
40
+ [data-theme="ods-default"][data-mode="light"] {
41
+ color-scheme: light;
42
+ --background: oklch(0.985 0.002 255);
43
+ --foreground: oklch(0.205 0.018 255);
44
+ --surface: oklch(1 0 0);
45
+ --surface-muted: oklch(0.965 0.006 255);
46
+ --surface-raised: oklch(1 0 0);
47
+ --card: var(--surface);
48
+ --card-foreground: var(--foreground);
49
+ --popover: var(--surface-raised);
50
+ --popover-foreground: var(--foreground);
51
+ --primary: oklch(0.51 0.17 255);
52
+ --primary-foreground: oklch(0.985 0.004 255);
53
+ --secondary: oklch(0.94 0.014 255);
54
+ --secondary-foreground: oklch(0.29 0.045 255);
55
+ --muted: var(--surface-muted);
56
+ --muted-foreground: oklch(0.49 0.025 255);
57
+ --accent: oklch(0.925 0.025 255);
58
+ --accent-foreground: oklch(0.28 0.075 255);
59
+ --destructive: oklch(0.56 0.205 27);
60
+ --destructive-foreground: oklch(0.985 0.004 27);
61
+ --success: oklch(0.49 0.14 148);
62
+ --success-foreground: oklch(0.985 0.004 148);
63
+ --warning: oklch(0.69 0.14 78);
64
+ --warning-foreground: oklch(0.25 0.05 78);
65
+ --info: oklch(0.57 0.15 235);
66
+ --info-foreground: oklch(0.985 0.004 235);
67
+ --border: oklch(0.885 0.012 255);
68
+ --input: oklch(0.855 0.016 255);
69
+ --ring: oklch(0.58 0.16 255);
70
+ --chart-1: oklch(0.58 0.16 255);
71
+ --chart-2: oklch(0.56 0.14 160);
72
+ --chart-3: oklch(0.66 0.14 75);
73
+ --chart-4: oklch(0.58 0.17 310);
74
+ --chart-5: oklch(0.59 0.18 25);
75
+ --radius: 0.375rem;
76
+ --sidebar: oklch(0.965 0.008 255);
77
+ --sidebar-foreground: var(--foreground);
78
+ --sidebar-primary: var(--primary);
79
+ --sidebar-primary-foreground: var(--primary-foreground);
80
+ --sidebar-accent: oklch(0.92 0.025 255);
81
+ --sidebar-accent-foreground: oklch(0.28 0.075 255);
82
+ --sidebar-border: var(--border);
83
+ --sidebar-ring: var(--ring);
84
+ }
85
+
86
+ .dark,
87
+ [data-theme="ods-default"][data-mode="dark"] {
88
+ color-scheme: dark;
89
+ --background: oklch(0.17 0.018 255);
90
+ --foreground: oklch(0.94 0.008 255);
91
+ --surface: oklch(0.205 0.02 255);
92
+ --surface-muted: oklch(0.245 0.022 255);
93
+ --surface-raised: oklch(0.27 0.025 255);
94
+ --card: var(--surface);
95
+ --card-foreground: var(--foreground);
96
+ --popover: var(--surface-raised);
97
+ --popover-foreground: var(--foreground);
98
+ --primary: oklch(0.69 0.15 255);
99
+ --primary-foreground: oklch(0.17 0.03 255);
100
+ --secondary: oklch(0.29 0.035 255);
101
+ --secondary-foreground: oklch(0.93 0.012 255);
102
+ --muted: var(--surface-muted);
103
+ --muted-foreground: oklch(0.7 0.025 255);
104
+ --accent: oklch(0.32 0.055 255);
105
+ --accent-foreground: oklch(0.94 0.012 255);
106
+ --destructive: oklch(0.69 0.19 25);
107
+ --destructive-foreground: oklch(0.17 0.025 25);
108
+ --success: oklch(0.67 0.14 148);
109
+ --success-foreground: oklch(0.17 0.025 148);
110
+ --warning: oklch(0.78 0.13 78);
111
+ --warning-foreground: oklch(0.2 0.04 78);
112
+ --info: oklch(0.71 0.13 235);
113
+ --info-foreground: oklch(0.17 0.025 235);
114
+ --border: oklch(0.42 0.025 255 / 70%);
115
+ --input: oklch(0.46 0.028 255 / 75%);
116
+ --ring: oklch(0.69 0.15 255);
117
+ --chart-1: oklch(0.69 0.15 255);
118
+ --chart-2: oklch(0.7 0.13 160);
119
+ --chart-3: oklch(0.76 0.13 75);
120
+ --chart-4: oklch(0.69 0.15 310);
121
+ --chart-5: oklch(0.7 0.16 25);
122
+ --sidebar: oklch(0.195 0.022 255);
123
+ --sidebar-foreground: var(--foreground);
124
+ --sidebar-primary: var(--primary);
125
+ --sidebar-primary-foreground: var(--primary-foreground);
126
+ --sidebar-accent: oklch(0.3 0.045 255);
127
+ --sidebar-accent-foreground: oklch(0.94 0.012 255);
128
+ --sidebar-border: var(--border);
129
+ --sidebar-ring: var(--ring);
130
+ }
package/package.json ADDED
@@ -0,0 +1,88 @@
1
+ {
2
+ "name": "@akbarsafari00/ods-react",
3
+ "version": "0.1.0",
4
+ "description": "ODS-owned React components, semantic styles, and accessible interaction patterns.",
5
+ "type": "module",
6
+ "private": false,
7
+ "main": "./dist/index.js",
8
+ "module": "./dist/index.js",
9
+ "types": "./dist/index.d.ts",
10
+ "files": [
11
+ "dist",
12
+ "README.md"
13
+ ],
14
+ "sideEffects": [
15
+ "./dist/styles/**/*.css"
16
+ ],
17
+ "keywords": [
18
+ "design-system",
19
+ "ods",
20
+ "react",
21
+ "rtl",
22
+ "tailwindcss",
23
+ "ui-components"
24
+ ],
25
+ "author": "akbarsafari00",
26
+ "scripts": {
27
+ "clean": "node ./scripts/clean-dist.mjs",
28
+ "build": "npm run clean && tsc -p tsconfig.build.json && node ./scripts/copy-styles.mjs",
29
+ "lint": "eslint",
30
+ "format": "prettier --write \"**/*.{ts,tsx}\"",
31
+ "typecheck": "tsc --noEmit",
32
+ "verify:package": "node ./scripts/verify-package.mjs",
33
+ "prepack": "npm run build && npm run verify:package"
34
+ },
35
+ "dependencies": {
36
+ "@fontsource-variable/geist": "^5.3.0",
37
+ "@tanstack/react-table": "9.2.4",
38
+ "class-variance-authority": "^0.7.1",
39
+ "clsx": "^2.1.1",
40
+ "lucide-react": "^1.37.0",
41
+ "radix-ui": "^1.6.7",
42
+ "tailwind-merge": "^3.6.0",
43
+ "tw-animate-css": "^1.4.0"
44
+ },
45
+ "devDependencies": {
46
+ "@eslint/js": "^10",
47
+ "@tailwindcss/vite": "^4",
48
+ "@turbo/gen": "^2.9.15",
49
+ "@types/node": "^24",
50
+ "@types/react": "^19",
51
+ "@types/react-dom": "^19",
52
+ "eslint": "^10",
53
+ "eslint-plugin-react-hooks": "^7.1.1",
54
+ "eslint-plugin-react-refresh": "^0.5.2",
55
+ "globals": "^17",
56
+ "react": "^19.2.6",
57
+ "react-dom": "^19.2.6",
58
+ "tailwindcss": "^4",
59
+ "typescript": "~6",
60
+ "typescript-eslint": "^8"
61
+ },
62
+ "peerDependencies": {
63
+ "react": ">=19.2.0 <20",
64
+ "react-dom": ">=19.2.0 <20",
65
+ "tailwindcss": ">=4.3.0 <5"
66
+ },
67
+ "publishConfig": {
68
+ "access": "public",
69
+ "registry": "https://registry.npmjs.org/"
70
+ },
71
+ "exports": {
72
+ ".": {
73
+ "types": "./dist/index.d.ts",
74
+ "import": "./dist/index.js"
75
+ },
76
+ "./globals.css": "./dist/styles/globals.css",
77
+ "./themes/*": "./dist/styles/themes/*.css",
78
+ "./lib/*": {
79
+ "types": "./dist/lib/*.d.ts",
80
+ "import": "./dist/lib/*.js"
81
+ },
82
+ "./components/*": {
83
+ "types": "./dist/components/*.d.ts",
84
+ "import": "./dist/components/*.js"
85
+ },
86
+ "./package.json": "./package.json"
87
+ }
88
+ }