@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.
Files changed (143) hide show
  1. package/LICENSE.md +46 -46
  2. package/README.md +159 -165
  3. package/package.json +28 -28
  4. package/src/components/Button/_button.scss +36 -36
  5. package/src/components/Button/button.astro +14 -14
  6. package/src/components/Icons/Arrow2/Arrow2.astro +45 -45
  7. package/src/components/Icons/Arrow2/svgs/arrow2-16-down.svg +3 -3
  8. package/src/components/Icons/Arrow2/svgs/arrow2-16-left.svg +3 -3
  9. package/src/components/Icons/Arrow2/svgs/arrow2-16-right.svg +3 -3
  10. package/src/components/Icons/Arrow2/svgs/arrow2-16-up.svg +3 -3
  11. package/src/components/Icons/Arrow2/svgs/arrow2-24-down.svg +3 -3
  12. package/src/components/Icons/Arrow2/svgs/arrow2-24-left.svg +3 -3
  13. package/src/components/Icons/Arrow2/svgs/arrow2-24-right.svg +3 -3
  14. package/src/components/Icons/Arrow2/svgs/arrow2-24-up.svg +3 -3
  15. package/src/components/Icons/Arrow2/svgs/arrow2-32-down.svg +3 -3
  16. package/src/components/Icons/Arrow2/svgs/arrow2-32-left.svg +3 -3
  17. package/src/components/Icons/Arrow2/svgs/arrow2-32-right.svg +3 -3
  18. package/src/components/Icons/Arrow2/svgs/arrow2-32-up.svg +3 -3
  19. package/src/components/Icons/bin/bin.astro +26 -26
  20. package/src/components/Icons/bin/svgs/bin-16.svg +3 -3
  21. package/src/components/Icons/bin/svgs/bin-24.svg +3 -3
  22. package/src/components/Icons/bin/svgs/bin-32.svg +3 -3
  23. package/src/components/Icons/burger/burger.astro +26 -26
  24. package/src/components/Icons/burger/svgs/burger-16.svg +3 -3
  25. package/src/components/Icons/burger/svgs/burger-24.svg +3 -3
  26. package/src/components/Icons/burger/svgs/burger-32.svg +3 -3
  27. package/src/components/Icons/calendar/calendar.astro +26 -26
  28. package/src/components/Icons/calendar/svgs/calendar-16.svg +3 -3
  29. package/src/components/Icons/calendar/svgs/calendar-24.svg +3 -3
  30. package/src/components/Icons/calendar/svgs/calendar-32.svg +3 -3
  31. package/src/components/Icons/check/check.astro +26 -26
  32. package/src/components/Icons/check/svgs/check-16.svg +3 -3
  33. package/src/components/Icons/check/svgs/check-24.svg +3 -3
  34. package/src/components/Icons/check/svgs/check-32.svg +3 -3
  35. package/src/components/Icons/close/close.astro +27 -27
  36. package/src/components/Icons/close/svgs/close-16.svg +3 -3
  37. package/src/components/Icons/close/svgs/close-24.svg +3 -3
  38. package/src/components/Icons/close/svgs/close-32.svg +3 -3
  39. package/src/components/Icons/code/code.astro +26 -26
  40. package/src/components/Icons/code/svgs/code-16.svg +3 -3
  41. package/src/components/Icons/code/svgs/code-24.svg +3 -3
  42. package/src/components/Icons/code/svgs/code-32.svg +3 -3
  43. package/src/components/Icons/cube/cube.astro +26 -26
  44. package/src/components/Icons/cube/svgs/cube-16.svg +3 -3
  45. package/src/components/Icons/cube/svgs/cube-24.svg +3 -3
  46. package/src/components/Icons/cube/svgs/cube-32.svg +3 -3
  47. package/src/components/Icons/download/download.astro +26 -26
  48. package/src/components/Icons/download/svgs/download-16.svg +5 -5
  49. package/src/components/Icons/download/svgs/download-24.svg +4 -4
  50. package/src/components/Icons/download/svgs/download-32.svg +4 -4
  51. package/src/components/Icons/filter/filter.astro +26 -26
  52. package/src/components/Icons/filter/svgs/filter-16.svg +3 -3
  53. package/src/components/Icons/filter/svgs/filter-24.svg +3 -3
  54. package/src/components/Icons/filter/svgs/filter-32.svg +3 -3
  55. package/src/components/Icons/help/help.astro +26 -26
  56. package/src/components/Icons/help/svgs/help-16.svg +5 -5
  57. package/src/components/Icons/help/svgs/help-24.svg +5 -5
  58. package/src/components/Icons/help/svgs/help-32.svg +3 -3
  59. package/src/components/Icons/home/home.astro +26 -26
  60. package/src/components/Icons/home/svgs/home-16.svg +3 -3
  61. package/src/components/Icons/home/svgs/home-24.svg +3 -3
  62. package/src/components/Icons/home/svgs/home-32.svg +3 -3
  63. package/src/components/Icons/index.ts +25 -25
  64. package/src/components/Icons/link/link.astro +26 -26
  65. package/src/components/Icons/link/svgs/link-16.svg +3 -3
  66. package/src/components/Icons/link/svgs/link-24.svg +3 -3
  67. package/src/components/Icons/link/svgs/link-32.svg +3 -3
  68. package/src/components/Icons/minus/minus.astro +26 -26
  69. package/src/components/Icons/minus/svgs/minus-16.svg +3 -3
  70. package/src/components/Icons/minus/svgs/minus-24.svg +3 -3
  71. package/src/components/Icons/minus/svgs/minus-32.svg +3 -3
  72. package/src/components/Icons/more/more.astro +26 -26
  73. package/src/components/Icons/more/svgs/more-16.svg +3 -3
  74. package/src/components/Icons/more/svgs/more-24.svg +3 -3
  75. package/src/components/Icons/more/svgs/more-32.svg +3 -3
  76. package/src/components/Icons/overview/overview.astro +26 -26
  77. package/src/components/Icons/overview/svgs/overview-16.svg +3 -3
  78. package/src/components/Icons/overview/svgs/overview-24.svg +3 -3
  79. package/src/components/Icons/overview/svgs/overview-32.svg +3 -3
  80. package/src/components/Icons/plus/plus.astro +26 -26
  81. package/src/components/Icons/plus/svgs/plus-16.svg +3 -3
  82. package/src/components/Icons/plus/svgs/plus-24.svg +3 -3
  83. package/src/components/Icons/plus/svgs/plus-32.svg +3 -3
  84. package/src/components/Icons/profile/profile.astro +27 -27
  85. package/src/components/Icons/profile/svgs/profile-16.svg +3 -3
  86. package/src/components/Icons/profile/svgs/profile-24.svg +3 -3
  87. package/src/components/Icons/profile/svgs/profile-32.svg +3 -3
  88. package/src/components/Icons/search/search.astro +27 -27
  89. package/src/components/Icons/search/svgs/search-16.svg +3 -3
  90. package/src/components/Icons/search/svgs/search-24.svg +3 -3
  91. package/src/components/Icons/search/svgs/search-32.svg +3 -3
  92. package/src/components/Icons/settings/settings.astro +26 -26
  93. package/src/components/Icons/settings/svgs/settings-16.svg +3 -3
  94. package/src/components/Icons/settings/svgs/settings-24.svg +3 -3
  95. package/src/components/Icons/settings/svgs/settings-32.svg +3 -3
  96. package/src/components/Icons/share/share.astro +27 -27
  97. package/src/components/Icons/share/svgs/share-16.svg +3 -3
  98. package/src/components/Icons/share/svgs/share-24.svg +3 -3
  99. package/src/components/Icons/share/svgs/share-32.svg +3 -3
  100. package/src/components/Icons/shield/shield.astro +26 -26
  101. package/src/components/Icons/shield/svgs/shield-16.svg +3 -3
  102. package/src/components/Icons/shield/svgs/shield-24.svg +3 -3
  103. package/src/components/Icons/shield/svgs/shield-32.svg +3 -3
  104. package/src/components/Icons/sort/sort.astro +38 -38
  105. package/src/components/Icons/sort/svgs/sort-16-ascend.svg +4 -4
  106. package/src/components/Icons/sort/svgs/sort-16-default.svg +3 -3
  107. package/src/components/Icons/sort/svgs/sort-16-descend.svg +4 -4
  108. package/src/components/Icons/sort/svgs/sort-24-ascend.svg +4 -4
  109. package/src/components/Icons/sort/svgs/sort-24-default.svg +3 -3
  110. package/src/components/Icons/sort/svgs/sort-24-descend.svg +4 -4
  111. package/src/components/Icons/sort/svgs/sort-32-ascend.svg +4 -4
  112. package/src/components/Icons/sort/svgs/sort-32-default.svg +3 -3
  113. package/src/components/Icons/sort/svgs/sort-32-descend.svg +4 -4
  114. package/src/components/Icons/stats/stats.astro +26 -26
  115. package/src/components/Icons/stats/svgs/stats-16.svg +3 -3
  116. package/src/components/Icons/stats/svgs/stats-24.svg +3 -3
  117. package/src/components/Icons/stats/svgs/stats-32.svg +3 -3
  118. package/src/components/Icons/upload/svgs/upload-16.svg +3 -3
  119. package/src/components/Icons/upload/svgs/upload-24.svg +3 -3
  120. package/src/components/Icons/upload/svgs/upload-32.svg +3 -3
  121. package/src/components/Icons/upload/upload.astro +27 -27
  122. package/src/components/Link/_link.scss +29 -29
  123. package/src/components/Link/link.astro +15 -15
  124. package/src/components/ListItem/_listItem.scss +69 -20
  125. package/src/components/ListItem/listItem.astro +14 -14
  126. package/src/components/ListItem/listItemSubtitle.astro +6 -6
  127. package/src/components/ListItem/listItemTitle.astro +6 -6
  128. package/src/components/Notifications/_notification.scss +61 -61
  129. package/src/components/Notifications/notification.astro +22 -22
  130. package/src/components/Tabs/_tab.scss +32 -32
  131. package/src/components/Tabs/tab.astro +53 -53
  132. package/src/components/Tabs/tabContent.astro +20 -20
  133. package/src/components/Tabs/tabItem.astro +40 -40
  134. package/src/components/Toggle/_toggle.scss +33 -33
  135. package/src/components/Toggle/toggle.astro +61 -61
  136. package/src/components/index.ts +13 -10
  137. package/src/index.ts +1 -1
  138. package/src/layouts/Layout.astro +29 -29
  139. package/src/pages/index.astro +338 -338
  140. package/src/styles/index.scss +10 -10
  141. package/src/styles/tokens/_colors.scss +69 -69
  142. package/src/styles/tokens/_spacing.scss +32 -32
  143. 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, and secure UI library built with **Svelte**.
4
- It is developed primarily for internal and personal projects and is available publicly for reference, testing, and contributions.
5
-
6
- ---
7
-
8
- ## Table of Contents
9
- 1. [Overview](#overview)
10
- 2. [Project Status](#project-status)
11
- 3. [Core Principles](#core-principles)
12
- 4. [Available Components](#available-components)
13
- 5. [Installation](#installation)
14
- 6. [Usage](#usage)
15
- 7. [Theming and Variables](#theming-and-variables)
16
- 8. [Contributing](#contributing)
17
- 9. [Development and Documentation](#development-and-documentation)
18
- 10. [License](#license)
19
-
20
- ---
21
-
22
- ## Overview
23
- NDS aims to provide a robust set of reusable UI components that are easy to integrate while maintaining consistency, responsiveness, and a strong focus on safety and maintainability.
24
-
25
- ## Project Status
26
- **Current Phase: ALPHA**
27
-
28
- The library is still under active development. Component APIs, styling structure, and internal architecture may change before the Beta release.
29
-
30
- ## Core Principles
31
- - **Responsive Architecture:** Components are built with a mobile-first mindset and are expected to behave correctly across modern screen sizes.
32
- - **Security-Centric:** Unsafe patterns are avoided, especially anything that could introduce injection or untrusted rendering issues.
33
- - **Native Theming:** Styling is based on centralized design tokens and supports Light and Dark themes.
34
- - **Type Safety:** The library is 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 styling.
36
-
37
- ## Available Components
38
-
39
- ### Actions
40
- - `Button`
41
- - `Toggle`
42
-
43
- ### Navigation
44
- - `Navbar`
45
- - `Sidebar`
46
- - `Tabs`
47
- - `Breadcrumb`
48
- - `Paginate`
49
- - `Stepper`
50
-
51
- ### Form
52
- - `Checkbox`
53
- - `Radio`
54
- - `Select`
55
- - `SelectOption`
56
- - `Search`
57
- - `Input`
58
- - `File Upload`
59
- - `Date Picker`
60
- - `Slider`
61
- - `Numeric Stepper`
62
-
63
- ### Data Display
64
- - `Badge`
65
- - `Avatar`
66
- - `Card`
67
- - `Table`
68
- - `Row`
69
- - `Cell`
70
- - `List Item`
71
-
72
- ### Overlay
73
- - `Modal`
74
- - `Dropdown`
75
- - `Tooltip`
76
-
77
- ### Feedback
78
- - `Notification` *(error / warning / info / success)*
79
- - `Loading Bar`
80
-
81
- ### Layout
82
- - `Divider`
83
- - `Link`
84
-
85
- ## Installation
86
- Install the package with npm:
87
-
88
- ```bash
89
- npm install @unkn0wn-pkgs/nds
90
- ```
91
-
92
- No extra Vite de-optimization configuration is required.
93
-
94
- ## Usage
95
- ### Basic Component Example
96
- ```svelte
97
- <script lang="ts">
98
- import { Notification } from '@unkn0wn-pkgs/nds';
99
- </script>
100
-
101
- <Notification type="warning">
102
- This is a warning message.
103
- </Notification>
104
- ```
105
-
106
- ### Another Example
107
- ```svelte
108
- <script lang="ts">
109
- import { Button } from '@unkn0wn-pkgs/nds';
110
- </script>
111
-
112
- <Button>
113
- Click me
114
- </Button>
115
- ```
116
-
117
- ## Theming and Variables
118
- NDS relies on a centralized Design Token system.
119
- All styling is controlled through CSS custom properties prefixed with `--nds-`.
120
-
121
- ### Rules
122
- - Do not hardcode colors, spacing, or radii directly inside component styles when a design token exists.
123
- - Do not override tokens locally in isolated component scopes unless the system explicitly supports it.
124
- - Keep all global token changes inside the core styling system to preserve consistency.
125
-
126
- ## Contributing
127
- Contributions are welcome.
128
- If you want to report a bug, suggest a feature, or submit a Pull Request, follow the repository contribution rules and templates.
129
-
130
- Please read the contribution guide before opening a PR.
131
-
132
- ### Icon Contribution Policy
133
- By contributing a custom icon to NDS, you agree that the icon may be used inside the design system according to the repository license and contribution policy.
134
-
135
- ## Development and Documentation
136
- Documentation is managed with **Storybook**.
137
-
138
- ### Clone the repository
139
- ```bash
140
- git clone https://github.com/unkn0wndo3s/Design-System.git
141
- ```
142
-
143
- ### Install dependencies
144
- ```bash
145
- npm install
146
- ```
147
-
148
- ### Launch Storybook
149
- ```bash
150
- npm run storybook
151
- ```
152
-
153
- ### Useful scripts
154
- ```bash
155
- npm run check
156
- npm run lint
157
- npm run format
158
- npm run build
159
- npm run build-storybook
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.1.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>