@unkn0wndo3s/nova-design-system 0.1.0 → 0.2.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.
- package/LICENSE.md +46 -46
- package/README.md +159 -165
- package/package.json +28 -28
- package/src/components/Button/_button.scss +36 -36
- package/src/components/Button/button.astro +14 -14
- package/src/components/Icons/Arrow2/Arrow2.astro +45 -45
- package/src/components/Icons/Arrow2/svgs/arrow2-16-down.svg +3 -3
- package/src/components/Icons/Arrow2/svgs/arrow2-16-left.svg +3 -3
- package/src/components/Icons/Arrow2/svgs/arrow2-16-right.svg +3 -3
- package/src/components/Icons/Arrow2/svgs/arrow2-16-up.svg +3 -3
- package/src/components/Icons/Arrow2/svgs/arrow2-24-down.svg +3 -3
- package/src/components/Icons/Arrow2/svgs/arrow2-24-left.svg +3 -3
- package/src/components/Icons/Arrow2/svgs/arrow2-24-right.svg +3 -3
- package/src/components/Icons/Arrow2/svgs/arrow2-24-up.svg +3 -3
- package/src/components/Icons/Arrow2/svgs/arrow2-32-down.svg +3 -3
- package/src/components/Icons/Arrow2/svgs/arrow2-32-left.svg +3 -3
- package/src/components/Icons/Arrow2/svgs/arrow2-32-right.svg +3 -3
- package/src/components/Icons/Arrow2/svgs/arrow2-32-up.svg +3 -3
- package/src/components/Icons/bin/bin.astro +26 -26
- package/src/components/Icons/bin/svgs/bin-16.svg +3 -3
- package/src/components/Icons/bin/svgs/bin-24.svg +3 -3
- package/src/components/Icons/bin/svgs/bin-32.svg +3 -3
- package/src/components/Icons/burger/burger.astro +26 -26
- package/src/components/Icons/burger/svgs/burger-16.svg +3 -3
- package/src/components/Icons/burger/svgs/burger-24.svg +3 -3
- package/src/components/Icons/burger/svgs/burger-32.svg +3 -3
- package/src/components/Icons/calendar/calendar.astro +26 -26
- package/src/components/Icons/calendar/svgs/calendar-16.svg +3 -3
- package/src/components/Icons/calendar/svgs/calendar-24.svg +3 -3
- package/src/components/Icons/calendar/svgs/calendar-32.svg +3 -3
- package/src/components/Icons/check/check.astro +26 -26
- package/src/components/Icons/check/svgs/check-16.svg +3 -3
- package/src/components/Icons/check/svgs/check-24.svg +3 -3
- package/src/components/Icons/check/svgs/check-32.svg +3 -3
- package/src/components/Icons/close/close.astro +27 -27
- package/src/components/Icons/close/svgs/close-16.svg +3 -3
- package/src/components/Icons/close/svgs/close-24.svg +3 -3
- package/src/components/Icons/close/svgs/close-32.svg +3 -3
- package/src/components/Icons/code/code.astro +26 -26
- package/src/components/Icons/code/svgs/code-16.svg +3 -3
- package/src/components/Icons/code/svgs/code-24.svg +3 -3
- package/src/components/Icons/code/svgs/code-32.svg +3 -3
- package/src/components/Icons/cube/cube.astro +26 -26
- package/src/components/Icons/cube/svgs/cube-16.svg +3 -3
- package/src/components/Icons/cube/svgs/cube-24.svg +3 -3
- package/src/components/Icons/cube/svgs/cube-32.svg +3 -3
- package/src/components/Icons/download/download.astro +26 -26
- package/src/components/Icons/download/svgs/download-16.svg +5 -5
- package/src/components/Icons/download/svgs/download-24.svg +4 -4
- package/src/components/Icons/download/svgs/download-32.svg +4 -4
- package/src/components/Icons/filter/filter.astro +26 -26
- package/src/components/Icons/filter/svgs/filter-16.svg +3 -3
- package/src/components/Icons/filter/svgs/filter-24.svg +3 -3
- package/src/components/Icons/filter/svgs/filter-32.svg +3 -3
- package/src/components/Icons/help/help.astro +26 -26
- package/src/components/Icons/help/svgs/help-16.svg +5 -5
- package/src/components/Icons/help/svgs/help-24.svg +5 -5
- package/src/components/Icons/help/svgs/help-32.svg +3 -3
- package/src/components/Icons/home/home.astro +26 -26
- package/src/components/Icons/home/svgs/home-16.svg +3 -3
- package/src/components/Icons/home/svgs/home-24.svg +3 -3
- package/src/components/Icons/home/svgs/home-32.svg +3 -3
- package/src/components/Icons/index.ts +25 -25
- package/src/components/Icons/link/link.astro +26 -26
- package/src/components/Icons/link/svgs/link-16.svg +3 -3
- package/src/components/Icons/link/svgs/link-24.svg +3 -3
- package/src/components/Icons/link/svgs/link-32.svg +3 -3
- package/src/components/Icons/minus/minus.astro +26 -26
- package/src/components/Icons/minus/svgs/minus-16.svg +3 -3
- package/src/components/Icons/minus/svgs/minus-24.svg +3 -3
- package/src/components/Icons/minus/svgs/minus-32.svg +3 -3
- package/src/components/Icons/more/more.astro +26 -26
- package/src/components/Icons/more/svgs/more-16.svg +3 -3
- package/src/components/Icons/more/svgs/more-24.svg +3 -3
- package/src/components/Icons/more/svgs/more-32.svg +3 -3
- package/src/components/Icons/overview/overview.astro +26 -26
- package/src/components/Icons/overview/svgs/overview-16.svg +3 -3
- package/src/components/Icons/overview/svgs/overview-24.svg +3 -3
- package/src/components/Icons/overview/svgs/overview-32.svg +3 -3
- package/src/components/Icons/plus/plus.astro +26 -26
- package/src/components/Icons/plus/svgs/plus-16.svg +3 -3
- package/src/components/Icons/plus/svgs/plus-24.svg +3 -3
- package/src/components/Icons/plus/svgs/plus-32.svg +3 -3
- package/src/components/Icons/profile/profile.astro +27 -27
- package/src/components/Icons/profile/svgs/profile-16.svg +3 -3
- package/src/components/Icons/profile/svgs/profile-24.svg +3 -3
- package/src/components/Icons/profile/svgs/profile-32.svg +3 -3
- package/src/components/Icons/search/search.astro +27 -27
- package/src/components/Icons/search/svgs/search-16.svg +3 -3
- package/src/components/Icons/search/svgs/search-24.svg +3 -3
- package/src/components/Icons/search/svgs/search-32.svg +3 -3
- package/src/components/Icons/settings/settings.astro +26 -26
- package/src/components/Icons/settings/svgs/settings-16.svg +3 -3
- package/src/components/Icons/settings/svgs/settings-24.svg +3 -3
- package/src/components/Icons/settings/svgs/settings-32.svg +3 -3
- package/src/components/Icons/share/share.astro +27 -27
- package/src/components/Icons/share/svgs/share-16.svg +3 -3
- package/src/components/Icons/share/svgs/share-24.svg +3 -3
- package/src/components/Icons/share/svgs/share-32.svg +3 -3
- package/src/components/Icons/shield/shield.astro +26 -26
- package/src/components/Icons/shield/svgs/shield-16.svg +3 -3
- package/src/components/Icons/shield/svgs/shield-24.svg +3 -3
- package/src/components/Icons/shield/svgs/shield-32.svg +3 -3
- package/src/components/Icons/sort/sort.astro +38 -38
- package/src/components/Icons/sort/svgs/sort-16-ascend.svg +4 -4
- package/src/components/Icons/sort/svgs/sort-16-default.svg +3 -3
- package/src/components/Icons/sort/svgs/sort-16-descend.svg +4 -4
- package/src/components/Icons/sort/svgs/sort-24-ascend.svg +4 -4
- package/src/components/Icons/sort/svgs/sort-24-default.svg +3 -3
- package/src/components/Icons/sort/svgs/sort-24-descend.svg +4 -4
- package/src/components/Icons/sort/svgs/sort-32-ascend.svg +4 -4
- package/src/components/Icons/sort/svgs/sort-32-default.svg +3 -3
- package/src/components/Icons/sort/svgs/sort-32-descend.svg +4 -4
- package/src/components/Icons/stats/stats.astro +26 -26
- package/src/components/Icons/stats/svgs/stats-16.svg +3 -3
- package/src/components/Icons/stats/svgs/stats-24.svg +3 -3
- package/src/components/Icons/stats/svgs/stats-32.svg +3 -3
- package/src/components/Icons/upload/svgs/upload-16.svg +3 -3
- package/src/components/Icons/upload/svgs/upload-24.svg +3 -3
- package/src/components/Icons/upload/svgs/upload-32.svg +3 -3
- package/src/components/Icons/upload/upload.astro +27 -27
- package/src/components/Link/_link.scss +29 -29
- package/src/components/Link/link.astro +15 -15
- package/src/components/ListItem/_listItem.scss +69 -20
- package/src/components/ListItem/listItem.astro +14 -14
- package/src/components/ListItem/listItemSubtitle.astro +6 -6
- package/src/components/ListItem/listItemTitle.astro +6 -6
- package/src/components/Notifications/_notification.scss +61 -61
- package/src/components/Notifications/notification.astro +22 -22
- package/src/components/Tabs/_tab.scss +32 -32
- package/src/components/Tabs/tab.astro +53 -53
- package/src/components/Tabs/tabContent.astro +20 -20
- package/src/components/Tabs/tabItem.astro +40 -40
- package/src/components/Toggle/_toggle.scss +33 -33
- package/src/components/Toggle/toggle.astro +61 -61
- package/src/components/index.ts +13 -10
- package/src/index.ts +1 -1
- package/src/layouts/Layout.astro +29 -29
- package/src/pages/index.astro +338 -338
- package/src/styles/index.scss +10 -10
- package/src/styles/tokens/_colors.scss +69 -69
- package/src/styles/tokens/_spacing.scss +32 -32
- package/src/styles/tokens/_typography.scss +50 -50
package/LICENSE.md
CHANGED
|
@@ -1,47 +1,47 @@
|
|
|
1
|
-
# LICENSE - Nova Design System (NDS)
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2026 Unkn0wn
|
|
4
|
-
|
|
5
|
-
## 1. Ownership and Scope
|
|
6
|
-
Nova Design System (NDS), including its source code, components, documentation, and visual assets such as icons and layout logic, is the property of its creator.
|
|
7
|
-
This license applies to both the public and private versions of the repository.
|
|
8
|
-
|
|
9
|
-
## 2. Usage Rights and Restrictions
|
|
10
|
-
|
|
11
|
-
### 2.1 Personal and Internal Use
|
|
12
|
-
Use of NDS for personal projects and internal projects is permitted.
|
|
13
|
-
You may study the project and draw inspiration from it, but direct copying of the core logic, styles, or components is prohibited unless explicitly authorized.
|
|
14
|
-
|
|
15
|
-
### 2.2 Commercial Products and Services
|
|
16
|
-
Any use of NDS in a commercial product or service requires explicit written authorization from the original creator.
|
|
17
|
-
Only the original creator may grant that authorization.
|
|
18
|
-
Contributors do not have the authority to grant usage rights to third parties.
|
|
19
|
-
|
|
20
|
-
Selling a website, application, service, or product that uses NDS is prohibited unless a specific commercial agreement has been granted by the creator.
|
|
21
|
-
|
|
22
|
-
## 3. Modifications and Contributions
|
|
23
|
-
All modifications to the library must go through the official GitHub workflow, including Issues and Pull Requests.
|
|
24
|
-
|
|
25
|
-
Any authorized modification or derivative work of NDS must remain under this same license.
|
|
26
|
-
Re-licensing modified versions under a different license is prohibited.
|
|
27
|
-
|
|
28
|
-
## 4. Assets and Iconography
|
|
29
|
-
Icons and visual assets introduced into NDS remain part of the project.
|
|
30
|
-
Unless explicitly authorized, these assets may only be used through the NDS library itself.
|
|
31
|
-
External reuse, extraction, redistribution, or standalone use of these assets is prohibited.
|
|
32
|
-
|
|
33
|
-
## 5. Disclaimer of Warranty and Liability
|
|
34
|
-
This library is provided on an **"as is"** basis, without warranty of any kind.
|
|
35
|
-
|
|
36
|
-
If a bug or issue is found, it should be reported through the official repository.
|
|
37
|
-
The creator may choose to fix reported issues but is under no obligation to do so within any specific timeframe.
|
|
38
|
-
|
|
39
|
-
Under no circumstances shall the creator be held liable for any loss of data, damages, service interruption, legal issue, or other consequence resulting from the use or inability to use the library.
|
|
40
|
-
|
|
41
|
-
## 6. Termination
|
|
42
|
-
Failure to comply with this license results in immediate termination of any right to use the library.
|
|
43
|
-
The creator reserves the right to take action in case of intellectual property infringement or unauthorized use.
|
|
44
|
-
|
|
45
|
-
---
|
|
46
|
-
|
|
1
|
+
# LICENSE - Nova Design System (NDS)
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Unkn0wn
|
|
4
|
+
|
|
5
|
+
## 1. Ownership and Scope
|
|
6
|
+
Nova Design System (NDS), including its source code, components, documentation, and visual assets such as icons and layout logic, is the property of its creator.
|
|
7
|
+
This license applies to both the public and private versions of the repository.
|
|
8
|
+
|
|
9
|
+
## 2. Usage Rights and Restrictions
|
|
10
|
+
|
|
11
|
+
### 2.1 Personal and Internal Use
|
|
12
|
+
Use of NDS for personal projects and internal projects is permitted.
|
|
13
|
+
You may study the project and draw inspiration from it, but direct copying of the core logic, styles, or components is prohibited unless explicitly authorized.
|
|
14
|
+
|
|
15
|
+
### 2.2 Commercial Products and Services
|
|
16
|
+
Any use of NDS in a commercial product or service requires explicit written authorization from the original creator.
|
|
17
|
+
Only the original creator may grant that authorization.
|
|
18
|
+
Contributors do not have the authority to grant usage rights to third parties.
|
|
19
|
+
|
|
20
|
+
Selling a website, application, service, or product that uses NDS is prohibited unless a specific commercial agreement has been granted by the creator.
|
|
21
|
+
|
|
22
|
+
## 3. Modifications and Contributions
|
|
23
|
+
All modifications to the library must go through the official GitHub workflow, including Issues and Pull Requests.
|
|
24
|
+
|
|
25
|
+
Any authorized modification or derivative work of NDS must remain under this same license.
|
|
26
|
+
Re-licensing modified versions under a different license is prohibited.
|
|
27
|
+
|
|
28
|
+
## 4. Assets and Iconography
|
|
29
|
+
Icons and visual assets introduced into NDS remain part of the project.
|
|
30
|
+
Unless explicitly authorized, these assets may only be used through the NDS library itself.
|
|
31
|
+
External reuse, extraction, redistribution, or standalone use of these assets is prohibited.
|
|
32
|
+
|
|
33
|
+
## 5. Disclaimer of Warranty and Liability
|
|
34
|
+
This library is provided on an **"as is"** basis, without warranty of any kind.
|
|
35
|
+
|
|
36
|
+
If a bug or issue is found, it should be reported through the official repository.
|
|
37
|
+
The creator may choose to fix reported issues but is under no obligation to do so within any specific timeframe.
|
|
38
|
+
|
|
39
|
+
Under no circumstances shall the creator be held liable for any loss of data, damages, service interruption, legal issue, or other consequence resulting from the use or inability to use the library.
|
|
40
|
+
|
|
41
|
+
## 6. Termination
|
|
42
|
+
Failure to comply with this license results in immediate termination of any right to use the library.
|
|
43
|
+
The creator reserves the right to take action in case of intellectual property infringement or unauthorized use.
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
47
|
For authorization requests, please open an Issue on the official repository or contact the creator directly.
|
package/README.md
CHANGED
|
@@ -1,165 +1,159 @@
|
|
|
1
|
-
# Nova Design System (NDS)
|
|
2
|
-
|
|
3
|
-
Nova Design System (NDS) is a lightweight, responsive
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
1. [Overview](#overview)
|
|
10
|
-
2. [Project Status](#project-status)
|
|
11
|
-
3. [Core Principles](#core-principles)
|
|
12
|
-
4. [Available Components](#available-components)
|
|
13
|
-
5. [
|
|
14
|
-
6. [
|
|
15
|
-
7. [
|
|
16
|
-
8. [
|
|
17
|
-
9. [
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
NDS
|
|
24
|
-
|
|
25
|
-
## Project Status
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
- **Responsive Architecture:** Components are built
|
|
32
|
-
- **Security-Centric:** Unsafe patterns
|
|
33
|
-
- **Native Theming:**
|
|
34
|
-
- **Type Safety:**
|
|
35
|
-
- **Consistency First:** Shared tokens, naming conventions, and reusable patterns take priority over one-off
|
|
36
|
-
|
|
37
|
-
## Available Components
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
-
|
|
65
|
-
-
|
|
66
|
-
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
###
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
## License
|
|
163
|
-
This project is **not distributed under a standard open-source license**.
|
|
164
|
-
Usage, redistribution, commercial use, and derivative work rules are defined in `LICENSE.md`.
|
|
165
|
-
Read that file carefully before using the library in a product or service.
|
|
1
|
+
# Nova Design System (NDS)
|
|
2
|
+
|
|
3
|
+
Nova Design System (NDS) is a lightweight, responsive UI component library built with **Astro**. It is developed primarily for internal and personal projects, and is publicly available for reference and contributions.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Table of Contents
|
|
8
|
+
|
|
9
|
+
1. [Overview](#overview)
|
|
10
|
+
2. [Project Status](#project-status)
|
|
11
|
+
3. [Core Principles](#core-principles)
|
|
12
|
+
4. [Available Components](#available-components)
|
|
13
|
+
5. [Design Tokens](#design-tokens)
|
|
14
|
+
6. [Installation](#installation)
|
|
15
|
+
7. [Usage](#usage)
|
|
16
|
+
8. [Development](#development)
|
|
17
|
+
9. [License](#license)
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Overview
|
|
22
|
+
|
|
23
|
+
NDS provides a focused set of reusable Astro components with centralized design tokens, light/dark theming, and a strong focus on consistency and maintainability. The component documentation and showcase are also built with Astro.
|
|
24
|
+
|
|
25
|
+
## Project Status
|
|
26
|
+
|
|
27
|
+
> **ALPHA** — The library is under active development. Component APIs, token naming, and internal architecture may change before a stable release.
|
|
28
|
+
|
|
29
|
+
## Core Principles
|
|
30
|
+
|
|
31
|
+
- **Responsive Architecture:** Components are built mobile-first and work correctly across modern screen sizes.
|
|
32
|
+
- **Security-Centric:** Unsafe patterns (injection, untrusted rendering) are avoided by design.
|
|
33
|
+
- **Native Theming:** All styling relies on centralized design tokens and supports Light and Dark modes.
|
|
34
|
+
- **Type Safety:** Written in TypeScript for stronger reliability and a better developer experience.
|
|
35
|
+
- **Consistency First:** Shared tokens, naming conventions, and reusable patterns take priority over one-off styles.
|
|
36
|
+
|
|
37
|
+
## Available Components
|
|
38
|
+
|
|
39
|
+
These are the components currently implemented in `src/components/`:
|
|
40
|
+
|
|
41
|
+
| Component | Category |
|
|
42
|
+
|---|---|
|
|
43
|
+
| `Button` | Actions |
|
|
44
|
+
| `Toggle` | Actions |
|
|
45
|
+
| `Tabs` / `Tab` / `TabItem` / `TabContent` | Navigation |
|
|
46
|
+
| `Link` | Layout |
|
|
47
|
+
| `ListItem` | Data Display |
|
|
48
|
+
| `Notifications` | Feedback |
|
|
49
|
+
| `Icons` | Utility |
|
|
50
|
+
|
|
51
|
+
> Many components listed in earlier versions of this README (Navbar, Sidebar, Card, Modal, etc.) are planned but not yet implemented.
|
|
52
|
+
|
|
53
|
+
## Design Tokens
|
|
54
|
+
|
|
55
|
+
All styling is controlled via CSS custom properties prefixed with `--nds-`, defined in `src/styles/tokens/`:
|
|
56
|
+
|
|
57
|
+
| File | Contents |
|
|
58
|
+
|---|---|
|
|
59
|
+
| `_colors.scss` | Color palette and semantic colors (`success`, `warning`, `error`, `info`) |
|
|
60
|
+
| `_spacing.scss` | Base spacing scale, border radius, and border width |
|
|
61
|
+
| `_typography.scss` | Font families, sizes, and weights |
|
|
62
|
+
|
|
63
|
+
**Rules:**
|
|
64
|
+
- Never hardcode colors, spacing, or radii in component styles when a token exists.
|
|
65
|
+
- Never override tokens locally in component scope unless explicitly supported.
|
|
66
|
+
- All global token changes must go through the core styling system.
|
|
67
|
+
|
|
68
|
+
## Installation
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
npm install @unkn0wndo3s/nova-design-system
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
No extra Vite de-optimization configuration is required.
|
|
75
|
+
|
|
76
|
+
## Usage
|
|
77
|
+
|
|
78
|
+
Import components directly from the package:
|
|
79
|
+
|
|
80
|
+
```astro
|
|
81
|
+
---
|
|
82
|
+
import { Button } from '@unkn0wndo3s/nova-design-system';
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
<Button>Click me</Button>
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
```astro
|
|
89
|
+
---
|
|
90
|
+
import { Notifications } from '@unkn0wndo3s/nova-design-system';
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
<Notifications type="warning">
|
|
94
|
+
This is a warning message.
|
|
95
|
+
</Notifications>
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
## Development
|
|
99
|
+
|
|
100
|
+
### Clone the repository
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
git clone https://git.novaprojects.dev/unkn0wn/nova-design-system.git
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### Install dependencies
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
npm install
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### Start the dev server
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
npm run dev
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Useful scripts
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
npm run build # Build the project
|
|
122
|
+
npm run check # Type checking
|
|
123
|
+
npm run lint # Lint the codebase
|
|
124
|
+
npm run format # Format code
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### Project Structure
|
|
128
|
+
|
|
129
|
+
```
|
|
130
|
+
src/
|
|
131
|
+
├── components/ # Astro components
|
|
132
|
+
│ ├── Button/
|
|
133
|
+
│ ├── Icons/
|
|
134
|
+
│ ├── Link/
|
|
135
|
+
│ ├── ListItem/
|
|
136
|
+
│ ├── Notifications/
|
|
137
|
+
│ ├── Tabs/
|
|
138
|
+
│ ├── Toggle/
|
|
139
|
+
│ └── index.ts
|
|
140
|
+
├── layouts/ # Astro layouts
|
|
141
|
+
├── pages/ # Documentation pages
|
|
142
|
+
├── styles/
|
|
143
|
+
│ ├── tokens/
|
|
144
|
+
│ │ ├── _colors.scss
|
|
145
|
+
│ │ ├── _spacing.scss
|
|
146
|
+
│ │ └── _typography.scss
|
|
147
|
+
│ └── index.scss
|
|
148
|
+
└── index.ts
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
## Contributing
|
|
152
|
+
|
|
153
|
+
Contributions are welcome. To report a bug, suggest a feature, or open a Pull Request, follow the repository contribution rules and templates.
|
|
154
|
+
|
|
155
|
+
**Icon Contribution Policy:** By contributing a custom icon to NDS, you agree that it may be used within the design system under the repository license and contribution policy.
|
|
156
|
+
|
|
157
|
+
## License
|
|
158
|
+
|
|
159
|
+
This project is **not distributed under a standard open-source license**. Usage, redistribution, commercial use, and derivative work rules are defined in `LICENSE.md`. Read that file carefully before using the library in a product or service.
|
package/package.json
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@unkn0wndo3s/nova-design-system",
|
|
3
|
-
"type": "module",
|
|
4
|
-
"version": "0.
|
|
5
|
-
"main": "./src/index.ts",
|
|
6
|
-
"description": "Nova Design System — Astro component library",
|
|
7
|
-
"engines": {
|
|
8
|
-
"node": ">=22.12.0"
|
|
9
|
-
},
|
|
10
|
-
"exports": {
|
|
11
|
-
".": "./src/index.ts",
|
|
12
|
-
"./styles": "./src/styles/index.scss"
|
|
13
|
-
},
|
|
14
|
-
"files": [
|
|
15
|
-
"src"
|
|
16
|
-
],
|
|
17
|
-
"scripts": {
|
|
18
|
-
"dev": "astro dev",
|
|
19
|
-
"build": "astro build",
|
|
20
|
-
"preview": "astro preview",
|
|
21
|
-
"astro": "astro"
|
|
22
|
-
},
|
|
23
|
-
"dependencies": {
|
|
24
|
-
"astro": "^6.3.8"
|
|
25
|
-
},
|
|
26
|
-
"devDependencies": {
|
|
27
|
-
"sass": "^1.99.0"
|
|
28
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@unkn0wndo3s/nova-design-system",
|
|
3
|
+
"type": "module",
|
|
4
|
+
"version": "0.02.0",
|
|
5
|
+
"main": "./src/index.ts",
|
|
6
|
+
"description": "Nova Design System — Astro component library",
|
|
7
|
+
"engines": {
|
|
8
|
+
"node": ">=22.12.0"
|
|
9
|
+
},
|
|
10
|
+
"exports": {
|
|
11
|
+
".": "./src/index.ts",
|
|
12
|
+
"./styles": "./src/styles/index.scss"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"src"
|
|
16
|
+
],
|
|
17
|
+
"scripts": {
|
|
18
|
+
"dev": "astro dev",
|
|
19
|
+
"build": "astro build",
|
|
20
|
+
"preview": "astro preview",
|
|
21
|
+
"astro": "astro"
|
|
22
|
+
},
|
|
23
|
+
"dependencies": {
|
|
24
|
+
"astro": "^6.3.8"
|
|
25
|
+
},
|
|
26
|
+
"devDependencies": {
|
|
27
|
+
"sass": "^1.99.0"
|
|
28
|
+
}
|
|
29
29
|
}
|
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
@use '../../styles/tokens/typography' as *;
|
|
2
|
-
|
|
3
|
-
.button {
|
|
4
|
-
width: fit-content;
|
|
5
|
-
padding: var(--nds-spacing-sm) var(--nds-spacing-md);
|
|
6
|
-
border-radius: var(--nds-radius-sm);
|
|
7
|
-
@include text-base;
|
|
8
|
-
cursor: pointer;
|
|
9
|
-
&__primary {
|
|
10
|
-
background-color: var(--nds-primary);
|
|
11
|
-
color: var(--nds-text);
|
|
12
|
-
&:hover:not(.button--disabled) {
|
|
13
|
-
background-color: var(--nds-secondary);
|
|
14
|
-
}
|
|
15
|
-
&:active:not(.button--disabled) {
|
|
16
|
-
background-color: var(--nds-accent);
|
|
17
|
-
color: var(--nds-background);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
&__secondary {
|
|
21
|
-
border: var(--nds-border-width-medium) solid;
|
|
22
|
-
border-color: var(--nds-primary);
|
|
23
|
-
color: var(--nds-primary);
|
|
24
|
-
&:hover:not(.button--disabled) {
|
|
25
|
-
border-color: var(--nds-secondary);
|
|
26
|
-
}
|
|
27
|
-
&:active:not(.button--disabled) {
|
|
28
|
-
border-color: var(--nds-accent);
|
|
29
|
-
color: var(--nds-accent);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
&--disabled {
|
|
33
|
-
cursor: not-allowed;
|
|
34
|
-
background-color: var(--nds-disabled);
|
|
35
|
-
color: var(--nds-neutral);
|
|
36
|
-
}
|
|
1
|
+
@use '../../styles/tokens/typography' as *;
|
|
2
|
+
|
|
3
|
+
.button {
|
|
4
|
+
width: fit-content;
|
|
5
|
+
padding: var(--nds-spacing-sm) var(--nds-spacing-md);
|
|
6
|
+
border-radius: var(--nds-radius-sm);
|
|
7
|
+
@include text-base;
|
|
8
|
+
cursor: pointer;
|
|
9
|
+
&__primary {
|
|
10
|
+
background-color: var(--nds-primary);
|
|
11
|
+
color: var(--nds-text);
|
|
12
|
+
&:hover:not(.button--disabled) {
|
|
13
|
+
background-color: var(--nds-secondary);
|
|
14
|
+
}
|
|
15
|
+
&:active:not(.button--disabled) {
|
|
16
|
+
background-color: var(--nds-accent);
|
|
17
|
+
color: var(--nds-background);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
&__secondary {
|
|
21
|
+
border: var(--nds-border-width-medium) solid;
|
|
22
|
+
border-color: var(--nds-primary);
|
|
23
|
+
color: var(--nds-primary);
|
|
24
|
+
&:hover:not(.button--disabled) {
|
|
25
|
+
border-color: var(--nds-secondary);
|
|
26
|
+
}
|
|
27
|
+
&:active:not(.button--disabled) {
|
|
28
|
+
border-color: var(--nds-accent);
|
|
29
|
+
color: var(--nds-accent);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
&--disabled {
|
|
33
|
+
cursor: not-allowed;
|
|
34
|
+
background-color: var(--nds-disabled);
|
|
35
|
+
color: var(--nds-neutral);
|
|
36
|
+
}
|
|
37
37
|
}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
---
|
|
2
|
-
export interface Props {
|
|
3
|
-
type: 'primary' | 'secondary';
|
|
4
|
-
disabled?: boolean;
|
|
5
|
-
}
|
|
6
|
-
const { type, disabled = false } = Astro.props;
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
<div class={`button button__${type} ${disabled ? 'button--disabled' : ''}`}>
|
|
10
|
-
<slot/>
|
|
11
|
-
</div>
|
|
12
|
-
|
|
13
|
-
<style lang="scss">
|
|
14
|
-
@use './_button.scss';
|
|
1
|
+
---
|
|
2
|
+
export interface Props {
|
|
3
|
+
type: 'primary' | 'secondary';
|
|
4
|
+
disabled?: boolean;
|
|
5
|
+
}
|
|
6
|
+
const { type, disabled = false } = Astro.props;
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
<div class={`button button__${type} ${disabled ? 'button--disabled' : ''}`}>
|
|
10
|
+
<slot/>
|
|
11
|
+
</div>
|
|
12
|
+
|
|
13
|
+
<style lang="scss">
|
|
14
|
+
@use './_button.scss';
|
|
15
15
|
</style>
|