@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 +81 -0
- package/dist/index.d.mts +9 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.js +43 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +14 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +106 -0
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>
|
package/dist/index.d.mts
ADDED
|
@@ -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.d.ts
ADDED
|
@@ -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
|
+
}
|