@aristobyte-ui/react 1.0.36

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/README.md ADDED
@@ -0,0 +1,81 @@
1
+ # @aristobyte-ui/anchor
2
+
3
+ <p align="center">
4
+ <img src="https://img.shields.io/badge/TypeScript-5.8-blue?style=for-the-badge&logo=typescript&logoColor=white" alt="TypeScript" />
5
+ <img src="https://img.shields.io/badge/Build-Turbo-green?style=for-the-badge&logo=turbo&logoColor=white" alt="TurboRepo" />
6
+ <img src="https://img.shields.io/badge/Lint-Strict-red?style=for-the-badge&logo=eslint&logoColor=white" alt="ESLint" />
7
+ <img src="https://img.shields.io/badge/License-MIT-black?style=for-the-badge&logo=open-source-initiative&logoColor=white" alt="License" />
8
+ <img src="https://img.shields.io/badge/AristoByte-UI-purple?style=for-the-badge&logo=react&logoColor=white" alt="AristoByte UI" />
9
+ <img src="https://img.shields.io/badge/Node-20.17.0+-339933?style=for-the-badge&logo=node.js&logoColor=white" alt="Node.js >=20.17.0" />
10
+ <img src="https://img.shields.io/badge/Yarn-1.22+-2C8EBB?style=for-the-badge&logo=yarn&logoColor=white" alt="Yarn >=1.22" />
11
+ <img src="https://img.shields.io/badge/NPM-10.8+-CB3837?style=for-the-badge&logo=npm&logoColor=white" alt="NPM >=10.8" />
12
+ </p>
13
+
14
+ A fully-typed, ripple-enabled Anchor component for AristoByteUI with multiple variants and seamless integration with SCSS modules and design tokens.
15
+
16
+ ## 📦 Installation
17
+
18
+ ```bash
19
+ # Install via Yarn
20
+ yarn add -D @aristobyte-ui/anchor
21
+
22
+ # Or via npm
23
+ npm install -D @aristobyte-ui/anchor
24
+
25
+ # Or via pnpm
26
+ pnpm add -D @aristobyte-ui/anchor
27
+ ```
28
+
29
+ ## 🛠 Usage
30
+
31
+ ```tsx
32
+ import { Anchor } from "@aristobyte-ui/anchor";
33
+
34
+ <Anchor href="https://aristobyte.com" variant="primary">
35
+ Visit AristoByte
36
+ </Anchor>;
37
+ ```
38
+
39
+ ##
40
+
41
+ 📂 Presets Available
42
+ **Variants**: `default` | `primary` | `secondary`
43
+
44
+ Ripple effect automatically applied on click
45
+
46
+ ## 🔧 Example in a Package
47
+
48
+ ```tsx
49
+ <Anchor href="/docs" variant="secondary">
50
+ Documentation
51
+ </Anchor>
52
+ ```
53
+
54
+ ## 📊 Why This Matters
55
+
56
+ - **Performance-first**: Lightweight CSS ensures fast rendering and smooth transitions.
57
+ - **Fully typed**: TypeScript-first API ensures predictable usage and IDE autocomplete.
58
+ - **AristoByteUI ready**: Seamlessly integrates with design tokens and SCSS modules.
59
+ - **Flexible**: Supports multiple variants and ripple-enabled interactive feedback.
60
+
61
+ ## 🏆 Philosophy
62
+
63
+ - **Modular architecture**: Anchor component is fully composable.
64
+ - **Declarative styling**: SCSS modules keep styles maintainable and scoped.
65
+ - **Strict typing & runtime flexibility**: Props fully typed while allowing runtime overrides.
66
+ - **Developer experience optimized**: Easy to use with predictable behavior and minimal boilerplate.
67
+
68
+ ## 📜 License
69
+
70
+ [MIT](./LICENSE) © AristoByte
71
+
72
+ ## 🛡 Shields Showcase
73
+
74
+ <p align="center">
75
+ <img src="https://img.shields.io/badge/Consistency-100%25-green?style=for-the-badge&logo=typescript" />
76
+ <img src="https://img.shields.io/badge/Maintained-Active-brightgreen?style=for-the-badge&logo=github" />
77
+ <img src="https://img.shields.io/badge/Strictness-High-critical?style=for-the-badge&logo=eslint" />
78
+ <img src="https://img.shields.io/badge/Declarations-Enabled-blue?style=for-the-badge&logo=typescript" />
79
+ <img src="https://img.shields.io/badge/Monorepo-Turbo-green?style=for-the-badge&logo=monorepo" />
80
+ <img src="https://img.shields.io/badge/Interop-ESM%2FCJS-orange?style=for-the-badge&logo=javascript" />
81
+ </p>
@@ -0,0 +1,9 @@
1
+ export * from '@aristobyte-ui/anchor';
2
+ export * from '@aristobyte-ui/button';
3
+ export * from '@aristobyte-ui/dropdown';
4
+ export * from '@aristobyte-ui/message-box';
5
+ export * from '@aristobyte-ui/presets';
6
+ export * from '@aristobyte-ui/radio';
7
+ export * from '@aristobyte-ui/spinner';
8
+ export * from '@aristobyte-ui/switch';
9
+ export * from '@aristobyte-ui/utils';
@@ -0,0 +1,9 @@
1
+ export * from '@aristobyte-ui/anchor';
2
+ export * from '@aristobyte-ui/button';
3
+ export * from '@aristobyte-ui/dropdown';
4
+ export * from '@aristobyte-ui/message-box';
5
+ export * from '@aristobyte-ui/presets';
6
+ export * from '@aristobyte-ui/radio';
7
+ export * from '@aristobyte-ui/spinner';
8
+ export * from '@aristobyte-ui/switch';
9
+ export * from '@aristobyte-ui/utils';
package/dist/index.js ADDED
@@ -0,0 +1,43 @@
1
+ "use client";
2
+ import "./index.css";
3
+ "use strict";
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from === "object" || typeof from === "function") {
10
+ for (let key of __getOwnPropNames(from))
11
+ if (!__hasOwnProp.call(to, key) && key !== except)
12
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
+ }
14
+ return to;
15
+ };
16
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // index.ts
20
+ var index_exports = {};
21
+ module.exports = __toCommonJS(index_exports);
22
+ __reExport(index_exports, require("@aristobyte-ui/anchor"), module.exports);
23
+ __reExport(index_exports, require("@aristobyte-ui/button"), module.exports);
24
+ __reExport(index_exports, require("@aristobyte-ui/dropdown"), module.exports);
25
+ __reExport(index_exports, require("@aristobyte-ui/message-box"), module.exports);
26
+ __reExport(index_exports, require("@aristobyte-ui/presets"), module.exports);
27
+ __reExport(index_exports, require("@aristobyte-ui/radio"), module.exports);
28
+ __reExport(index_exports, require("@aristobyte-ui/spinner"), module.exports);
29
+ __reExport(index_exports, require("@aristobyte-ui/switch"), module.exports);
30
+ __reExport(index_exports, require("@aristobyte-ui/utils"), module.exports);
31
+ // Annotate the CommonJS export names for ESM import in node:
32
+ 0 && (module.exports = {
33
+ ...require("@aristobyte-ui/anchor"),
34
+ ...require("@aristobyte-ui/button"),
35
+ ...require("@aristobyte-ui/dropdown"),
36
+ ...require("@aristobyte-ui/message-box"),
37
+ ...require("@aristobyte-ui/presets"),
38
+ ...require("@aristobyte-ui/radio"),
39
+ ...require("@aristobyte-ui/spinner"),
40
+ ...require("@aristobyte-ui/switch"),
41
+ ...require("@aristobyte-ui/utils")
42
+ });
43
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../index.ts"],"sourcesContent":["export * from \"@aristobyte-ui/anchor\";\nexport * from \"@aristobyte-ui/button\";\nexport * from \"@aristobyte-ui/dropdown\";\nexport * from \"@aristobyte-ui/message-box\";\nexport * from \"@aristobyte-ui/presets\";\nexport * from \"@aristobyte-ui/radio\";\nexport * from \"@aristobyte-ui/spinner\";\nexport * from \"@aristobyte-ui/switch\";\nexport * from \"@aristobyte-ui/utils\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,0BAAc,kCAAd;AACA,0BAAc,kCADd;AAEA,0BAAc,oCAFd;AAGA,0BAAc,uCAHd;AAIA,0BAAc,mCAJd;AAKA,0BAAc,iCALd;AAMA,0BAAc,mCANd;AAOA,0BAAc,kCAPd;AAQA,0BAAc,iCARd;","names":[]}
package/dist/index.mjs ADDED
@@ -0,0 +1,14 @@
1
+ "use client";
2
+ import "./index.css";
3
+
4
+ // index.ts
5
+ export * from "@aristobyte-ui/anchor";
6
+ export * from "@aristobyte-ui/button";
7
+ export * from "@aristobyte-ui/dropdown";
8
+ export * from "@aristobyte-ui/message-box";
9
+ export * from "@aristobyte-ui/presets";
10
+ export * from "@aristobyte-ui/radio";
11
+ export * from "@aristobyte-ui/spinner";
12
+ export * from "@aristobyte-ui/switch";
13
+ export * from "@aristobyte-ui/utils";
14
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../index.ts"],"sourcesContent":["export * from \"@aristobyte-ui/anchor\";\nexport * from \"@aristobyte-ui/button\";\nexport * from \"@aristobyte-ui/dropdown\";\nexport * from \"@aristobyte-ui/message-box\";\nexport * from \"@aristobyte-ui/presets\";\nexport * from \"@aristobyte-ui/radio\";\nexport * from \"@aristobyte-ui/spinner\";\nexport * from \"@aristobyte-ui/switch\";\nexport * from \"@aristobyte-ui/utils\";\n"],"mappings":";;;;AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
package/package.json ADDED
@@ -0,0 +1,106 @@
1
+ {
2
+ "name": "@aristobyte-ui/react",
3
+ "description": "AristoByte UI — the complete suite of reusable, production-ready React components with built-in design tokens, accessibility, and theming. Install this package to get the full library in a single dependency.",
4
+ "version": "1.0.36",
5
+ "license": "MIT",
6
+ "private": false,
7
+ "author": "AristoByte <info@aristobyte.com>",
8
+ "homepage": "https://www.npmjs.com/package/@aristobyte-ui",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git+https://github.com/aristobyte-team/aristobyte-ui.git",
12
+ "directory": "packages/react"
13
+ },
14
+ "bugs": {
15
+ "url": "https://github.com/aristobyte-team/aristobyte-ui.git/issues"
16
+ },
17
+ "engines": {
18
+ "node": ">=20.17.0",
19
+ "npm": ">=10.8.2",
20
+ "yarn": ">=1.22.22"
21
+ },
22
+ "keywords": [
23
+ "aristobyte",
24
+ "aristobyte-ui",
25
+ "anchor",
26
+ "button",
27
+ "dropdown",
28
+ "message-box",
29
+ "presets",
30
+ "radio",
31
+ "spinner",
32
+ "switch",
33
+ "utils",
34
+ "@aristobyte-ui/anchor",
35
+ "@aristobyte-ui/button",
36
+ "@aristobyte-ui/dropdown",
37
+ "@aristobyte-ui/message-box",
38
+ "@aristobyte-ui/presets",
39
+ "@aristobyte-ui/radio",
40
+ "@aristobyte-ui/spinner",
41
+ "@aristobyte-ui/switch",
42
+ "@aristobyte-ui/utils",
43
+ "typescript",
44
+ "scss",
45
+ "react",
46
+ "ui-component",
47
+ "component-library",
48
+ "frontend",
49
+ "ui-kit"
50
+ ],
51
+ "files": [
52
+ "dist"
53
+ ],
54
+ "publishConfig": {
55
+ "access": "public"
56
+ },
57
+ "main": "dist/index.js",
58
+ "module": "dist/index.mjs",
59
+ "types": "dist/index.d.ts",
60
+ "exports": {
61
+ ".": {
62
+ "import": "./dist/index.mjs",
63
+ "require": "./dist/index.js"
64
+ }
65
+ },
66
+ "scripts": {
67
+ "build": "tsup",
68
+ "lint": "eslint . --max-warnings 0",
69
+ "generate:component": "turbo gen react-component",
70
+ "check-types": "tsc --noEmit"
71
+ },
72
+ "dependencies": {
73
+ "@aristobyte-ui/anchor": "^1.0.36",
74
+ "@aristobyte-ui/button": "^1.0.36",
75
+ "@aristobyte-ui/dropdown": "^1.0.36",
76
+ "@aristobyte-ui/message-box": "^1.0.36",
77
+ "@aristobyte-ui/presets": "^1.0.36",
78
+ "@aristobyte-ui/radio": "^1.0.36",
79
+ "@aristobyte-ui/spinner": "^1.0.36",
80
+ "@aristobyte-ui/switch": "^1.0.36",
81
+ "@aristobyte-ui/utils": "^1.0.36",
82
+ "esbuild-sass-plugin": "^3.3.1",
83
+ "framer-motion": "^12.23.9",
84
+ "react": "^19.1.0",
85
+ "react-dom": "^19.1.0",
86
+ "sass": "^1.89.0",
87
+ "shiki": "^3.7.0",
88
+ "tsup": "^8.5.0"
89
+ },
90
+ "devDependencies": {
91
+ "@aristobyte-ui/eslint-config": "^1.0.36",
92
+ "@aristobyte-ui/jest-config": "^1.0.36",
93
+ "@aristobyte-ui/typescript-config": "^1.0.36",
94
+ "@turbo/gen": "^2.5.0",
95
+ "@types/node": "^24.3.0",
96
+ "@types/react": "19.1.0",
97
+ "@types/react-dom": "19.1.1",
98
+ "autoprefixer": "^10.4.21",
99
+ "eslint": "^9.27.0",
100
+ "postcss": "^8.5.3",
101
+ "sass-embedded": "^1.91.0",
102
+ "tailwindcss": "^4.1.7",
103
+ "tsup": "^8.5.0",
104
+ "typescript": "^5.8.3"
105
+ }
106
+ }