newtui 2.0.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 (97) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +53 -0
  3. package/cli/index.js +137 -0
  4. package/dist/index.js +1408 -0
  5. package/package.json +70 -0
  6. package/registry/html/components/attachment.css +42 -0
  7. package/registry/html/components/attachment.html +8 -0
  8. package/registry/html/components/avatar.css +32 -0
  9. package/registry/html/components/avatar.html +3 -0
  10. package/registry/html/components/badge.css +39 -0
  11. package/registry/html/components/badge.html +3 -0
  12. package/registry/html/components/bot-command-card.css +67 -0
  13. package/registry/html/components/bot-command-card.html +17 -0
  14. package/registry/html/components/button.css +98 -0
  15. package/registry/html/components/button.html +5 -0
  16. package/registry/html/components/card.css +20 -0
  17. package/registry/html/components/card.html +4 -0
  18. package/registry/html/components/channel-topic.css +35 -0
  19. package/registry/html/components/channel-topic.html +8 -0
  20. package/registry/html/components/code-block.css +25 -0
  21. package/registry/html/components/code-block.html +2 -0
  22. package/registry/html/components/context-menu.css +46 -0
  23. package/registry/html/components/context-menu.html +14 -0
  24. package/registry/html/components/cooldown-bar.css +33 -0
  25. package/registry/html/components/cooldown-bar.html +9 -0
  26. package/registry/html/components/divider.css +18 -0
  27. package/registry/html/components/divider.html +1 -0
  28. package/registry/html/components/dropdown.css +50 -0
  29. package/registry/html/components/dropdown.html +17 -0
  30. package/registry/html/components/embed.css +65 -0
  31. package/registry/html/components/embed.html +14 -0
  32. package/registry/html/components/empty-state.css +26 -0
  33. package/registry/html/components/empty-state.html +5 -0
  34. package/registry/html/components/form-fields.css +85 -0
  35. package/registry/html/components/form-fields.html +20 -0
  36. package/registry/html/components/kbd-tag.css +18 -0
  37. package/registry/html/components/kbd-tag.html +1 -0
  38. package/registry/html/components/member-list.css +32 -0
  39. package/registry/html/components/member-list.html +13 -0
  40. package/registry/html/components/mention.css +36 -0
  41. package/registry/html/components/mention.html +3 -0
  42. package/registry/html/components/message-group.css +50 -0
  43. package/registry/html/components/message-group.html +20 -0
  44. package/registry/html/components/modal.css +37 -0
  45. package/registry/html/components/modal.html +17 -0
  46. package/registry/html/components/modal.js +10 -0
  47. package/registry/html/components/notif-badge.css +28 -0
  48. package/registry/html/components/notif-badge.html +13 -0
  49. package/registry/html/components/pagination.css +57 -0
  50. package/registry/html/components/pagination.html +16 -0
  51. package/registry/html/components/permission.css +64 -0
  52. package/registry/html/components/permission.html +33 -0
  53. package/registry/html/components/progress.css +29 -0
  54. package/registry/html/components/progress.html +6 -0
  55. package/registry/html/components/reaction.css +33 -0
  56. package/registry/html/components/reaction.html +14 -0
  57. package/registry/html/components/reply-preview.css +35 -0
  58. package/registry/html/components/reply-preview.html +4 -0
  59. package/registry/html/components/role-tag.css +19 -0
  60. package/registry/html/components/role-tag.html +3 -0
  61. package/registry/html/components/scrollbar.css +26 -0
  62. package/registry/html/components/scrollbar.html +7 -0
  63. package/registry/html/components/select-menu.css +72 -0
  64. package/registry/html/components/select-menu.html +19 -0
  65. package/registry/html/components/server-banner.css +58 -0
  66. package/registry/html/components/server-banner.html +21 -0
  67. package/registry/html/components/skeleton.css +40 -0
  68. package/registry/html/components/skeleton.html +7 -0
  69. package/registry/html/components/slash-command.css +16 -0
  70. package/registry/html/components/slash-command.html +3 -0
  71. package/registry/html/components/spoiler.css +22 -0
  72. package/registry/html/components/spoiler.html +8 -0
  73. package/registry/html/components/stage-banner.css +46 -0
  74. package/registry/html/components/stage-banner.html +22 -0
  75. package/registry/html/components/status-indicator.css +85 -0
  76. package/registry/html/components/status-indicator.html +4 -0
  77. package/registry/html/components/tabs.css +28 -0
  78. package/registry/html/components/tabs.html +7 -0
  79. package/registry/html/components/tabs.js +12 -0
  80. package/registry/html/components/timeline.css +63 -0
  81. package/registry/html/components/timeline.html +26 -0
  82. package/registry/html/components/toast.css +37 -0
  83. package/registry/html/components/toast.html +7 -0
  84. package/registry/html/components/toast.js +16 -0
  85. package/registry/html/components/token-field.css +10 -0
  86. package/registry/html/components/token-field.html +18 -0
  87. package/registry/html/components/token-field.js +17 -0
  88. package/registry/html/components/tooltip.css +26 -0
  89. package/registry/html/components/tooltip.html +8 -0
  90. package/registry/html/components/typing-indicator.css +45 -0
  91. package/registry/html/components/typing-indicator.html +4 -0
  92. package/registry/html/components/user-profile.css +67 -0
  93. package/registry/html/components/user-profile.html +30 -0
  94. package/registry/html/components/voice-channel.css +57 -0
  95. package/registry/html/components/voice-channel.html +13 -0
  96. package/registry/html/registry.json +279 -0
  97. package/registry/html/tokens.css +64 -0
@@ -0,0 +1,279 @@
1
+ {
2
+ "$schema": "https://newtui.dev/registry-schema.json",
3
+ "name": "newt-ui",
4
+ "tokens": "tokens.css",
5
+ "components": [
6
+ {
7
+ "name": "button",
8
+ "title": "Button",
9
+ "rootClass": "newt-btn",
10
+ "files": ["button.css", "button.html"]
11
+ },
12
+ {
13
+ "name": "badge",
14
+ "title": "Badge",
15
+ "rootClass": "newt-badge",
16
+ "files": ["badge.css", "badge.html"]
17
+ },
18
+ {
19
+ "name": "status-indicator",
20
+ "title": "Status Indicator",
21
+ "rootClass": "newt-status",
22
+ "files": ["status-indicator.css", "status-indicator.html"],
23
+ "uses": ["avatar"]
24
+ },
25
+ {
26
+ "name": "avatar",
27
+ "title": "Avatar",
28
+ "rootClass": "newt-avatar",
29
+ "files": ["avatar.css", "avatar.html"]
30
+ },
31
+ {
32
+ "name": "embed",
33
+ "title": "Embed",
34
+ "rootClass": "newt-embed",
35
+ "files": ["embed.css", "embed.html"]
36
+ },
37
+ {
38
+ "name": "card",
39
+ "title": "Card",
40
+ "rootClass": "newt-card",
41
+ "files": ["card.css", "card.html"]
42
+ },
43
+ {
44
+ "name": "form-fields",
45
+ "title": "Form Fields",
46
+ "rootClass": "newt-field",
47
+ "files": ["form-fields.css", "form-fields.html"]
48
+ },
49
+ {
50
+ "name": "slash-command",
51
+ "title": "Slash Command Tag",
52
+ "rootClass": "newt-command",
53
+ "files": ["slash-command.css", "slash-command.html"]
54
+ },
55
+ {
56
+ "name": "tabs",
57
+ "title": "Tabs",
58
+ "rootClass": "newt-tabs",
59
+ "files": ["tabs.css", "tabs.html"],
60
+ "js": "tabs.js"
61
+ },
62
+ {
63
+ "name": "tooltip",
64
+ "title": "Tooltip",
65
+ "rootClass": "newt-tooltip",
66
+ "files": ["tooltip.css", "tooltip.html"]
67
+ },
68
+ {
69
+ "name": "modal",
70
+ "title": "Modal",
71
+ "rootClass": "newt-modal",
72
+ "files": ["modal.css", "modal.html"],
73
+ "js": "modal.js"
74
+ },
75
+ {
76
+ "name": "toast",
77
+ "title": "Toast",
78
+ "rootClass": "newt-toast",
79
+ "files": ["toast.css", "toast.html"],
80
+ "js": "toast.js"
81
+ },
82
+ {
83
+ "name": "code-block",
84
+ "title": "Code Block",
85
+ "rootClass": "newt-code",
86
+ "files": ["code-block.css", "code-block.html"]
87
+ },
88
+ {
89
+ "name": "reaction",
90
+ "title": "Reaction Pill",
91
+ "rootClass": "newt-reaction",
92
+ "files": ["reaction.css", "reaction.html"]
93
+ },
94
+ {
95
+ "name": "reply-preview",
96
+ "title": "Reply Preview",
97
+ "rootClass": "newt-reply",
98
+ "files": ["reply-preview.css", "reply-preview.html"]
99
+ },
100
+ {
101
+ "name": "typing-indicator",
102
+ "title": "Typing Indicator",
103
+ "rootClass": "newt-typing",
104
+ "files": ["typing-indicator.css", "typing-indicator.html"]
105
+ },
106
+ {
107
+ "name": "progress",
108
+ "title": "Progress Bar",
109
+ "rootClass": "newt-progress",
110
+ "files": ["progress.css", "progress.html"]
111
+ },
112
+ {
113
+ "name": "member-list",
114
+ "title": "Member List Row",
115
+ "rootClass": "newt-member",
116
+ "files": ["member-list.css", "member-list.html"],
117
+ "uses": ["avatar", "status-indicator", "role-tag"]
118
+ },
119
+ {
120
+ "name": "role-tag",
121
+ "title": "Role Tag",
122
+ "rootClass": "newt-role-tag",
123
+ "files": ["role-tag.css", "role-tag.html"]
124
+ },
125
+ {
126
+ "name": "divider",
127
+ "title": "Divider",
128
+ "rootClass": "newt-divider",
129
+ "files": ["divider.css", "divider.html"]
130
+ },
131
+ {
132
+ "name": "mention",
133
+ "title": "Mention Chip",
134
+ "rootClass": "newt-mention",
135
+ "files": ["mention.css", "mention.html"]
136
+ },
137
+ {
138
+ "name": "spoiler",
139
+ "title": "Spoiler",
140
+ "rootClass": "newt-spoiler",
141
+ "files": ["spoiler.css", "spoiler.html"]
142
+ },
143
+ {
144
+ "name": "voice-channel",
145
+ "title": "Voice Channel Row",
146
+ "rootClass": "newt-voice-channel",
147
+ "files": ["voice-channel.css", "voice-channel.html"],
148
+ "uses": ["avatar"]
149
+ },
150
+ {
151
+ "name": "attachment",
152
+ "title": "Attachment Card",
153
+ "rootClass": "newt-attachment",
154
+ "files": ["attachment.css", "attachment.html"],
155
+ "uses": ["button"]
156
+ },
157
+ {
158
+ "name": "timeline",
159
+ "title": "Event Timeline",
160
+ "rootClass": "newt-timeline",
161
+ "files": ["timeline.css", "timeline.html"]
162
+ },
163
+ {
164
+ "name": "permission",
165
+ "title": "Permission Row",
166
+ "rootClass": "newt-permission",
167
+ "files": ["permission.css", "permission.html"]
168
+ },
169
+ {
170
+ "name": "token-field",
171
+ "title": "Token Field",
172
+ "rootClass": "newt-token-field",
173
+ "files": ["token-field.css", "token-field.html"],
174
+ "js": "token-field.js",
175
+ "uses": ["form-fields", "button"]
176
+ },
177
+ {
178
+ "name": "dropdown",
179
+ "title": "Dropdown Menu",
180
+ "rootClass": "newt-dropdown",
181
+ "files": ["dropdown.css", "dropdown.html"]
182
+ },
183
+ {
184
+ "name": "skeleton",
185
+ "title": "Skeleton Loader",
186
+ "rootClass": "newt-skeleton",
187
+ "files": ["skeleton.css", "skeleton.html"]
188
+ },
189
+ {
190
+ "name": "empty-state",
191
+ "title": "Empty State",
192
+ "rootClass": "newt-empty-state",
193
+ "files": ["empty-state.css", "empty-state.html"]
194
+ },
195
+ {
196
+ "name": "context-menu",
197
+ "title": "Context Menu",
198
+ "rootClass": "newt-context-menu",
199
+ "files": ["context-menu.css", "context-menu.html"]
200
+ },
201
+ {
202
+ "name": "server-banner",
203
+ "title": "Server Banner",
204
+ "rootClass": "newt-server-banner",
205
+ "files": ["server-banner.css", "server-banner.html"],
206
+ "uses": ["button"]
207
+ },
208
+ {
209
+ "name": "kbd-tag",
210
+ "title": "Keyboard Shortcut Tag",
211
+ "rootClass": "newt-kbd",
212
+ "files": ["kbd-tag.css", "kbd-tag.html"]
213
+ },
214
+ {
215
+ "name": "cooldown-bar",
216
+ "title": "Cooldown Bar",
217
+ "rootClass": "newt-cooldown",
218
+ "files": ["cooldown-bar.css", "cooldown-bar.html"]
219
+ },
220
+ {
221
+ "name": "pagination",
222
+ "title": "Pagination / Load More",
223
+ "rootClass": "newt-pagination",
224
+ "files": ["pagination.css", "pagination.html"],
225
+ "uses": ["button"]
226
+ },
227
+ {
228
+ "name": "stage-banner",
229
+ "title": "Stage Banner",
230
+ "rootClass": "newt-stage-banner",
231
+ "files": ["stage-banner.css", "stage-banner.html"]
232
+ },
233
+ {
234
+ "name": "scrollbar",
235
+ "title": "Scrollbar Utility",
236
+ "rootClass": "newt-scrollbar",
237
+ "files": ["scrollbar.css", "scrollbar.html"]
238
+ },
239
+ {
240
+ "name": "channel-topic",
241
+ "title": "Channel Topic Bar",
242
+ "rootClass": "newt-channel-topic",
243
+ "files": ["channel-topic.css", "channel-topic.html"]
244
+ },
245
+ {
246
+ "name": "notif-badge",
247
+ "title": "Notification Badge",
248
+ "rootClass": "newt-notif-badge",
249
+ "files": ["notif-badge.css", "notif-badge.html"]
250
+ },
251
+ {
252
+ "name": "user-profile",
253
+ "title": "User Profile Popout",
254
+ "rootClass": "newt-profile",
255
+ "files": ["user-profile.css", "user-profile.html"],
256
+ "uses": ["avatar", "status-indicator", "role-tag", "button"]
257
+ },
258
+ {
259
+ "name": "message-group",
260
+ "title": "Message Group",
261
+ "rootClass": "newt-message-group",
262
+ "files": ["message-group.css", "message-group.html"],
263
+ "uses": ["avatar", "status-indicator", "reaction"]
264
+ },
265
+ {
266
+ "name": "select-menu",
267
+ "title": "Select Menu",
268
+ "rootClass": "newt-select-menu",
269
+ "files": ["select-menu.css", "select-menu.html"]
270
+ },
271
+ {
272
+ "name": "bot-command-card",
273
+ "title": "Bot Command Card",
274
+ "rootClass": "newt-command-card",
275
+ "files": ["bot-command-card.css", "bot-command-card.html"],
276
+ "uses": ["badge"]
277
+ }
278
+ ]
279
+ }
@@ -0,0 +1,64 @@
1
+ :root {
2
+ /* Surfaces */
3
+ --newt-bg-base: #1e1f22;
4
+ --newt-bg-surface: #2b2d31;
5
+ --newt-bg-elevated: #313338;
6
+ --newt-bg-floating: #1e1f22;
7
+ --newt-bg-input: #1e1f22;
8
+ --newt-bg-hover: rgba(78, 80, 88, 0.4);
9
+ --newt-bg-active: rgba(78, 80, 88, 0.6);
10
+ --newt-border: #3f4147;
11
+
12
+ /* Text */
13
+ --newt-text-primary: #f2f3f5;
14
+ --newt-text-secondary: #b5bac1;
15
+ --newt-text-muted: #949ba4;
16
+ --newt-text-link: #00a8fc;
17
+
18
+ /* Brand */
19
+ --newt-brand: #5865f2;
20
+ --newt-brand-hover: #4752c4;
21
+ --newt-brand-active: #3c45a5;
22
+
23
+ /* Status */
24
+ --newt-online: #23a55a;
25
+ --newt-idle: #f0b232;
26
+ --newt-dnd: #f23f42;
27
+ --newt-offline: #80848e;
28
+ --newt-danger: #da373c;
29
+ --newt-danger-hover: #a12828;
30
+
31
+ /* Type */
32
+ --newt-font-sans:
33
+ "Inter", "gg sans", -apple-system, BlinkMacSystemFont, "Segoe UI",
34
+ sans-serif;
35
+ --newt-font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;
36
+ --newt-font-display: "Inter", sans-serif;
37
+
38
+ /* Radius */
39
+ --newt-radius-sm: 4px;
40
+ --newt-radius-md: 8px;
41
+ --newt-radius-lg: 12px;
42
+ --newt-radius-full: 9999px;
43
+
44
+ /* Shadows */
45
+ --newt-shadow-elevation-low:
46
+ 0 1px 0 rgba(0, 0, 0, 0.2), 0 1.5px 0 rgba(0, 0, 0, 0.05),
47
+ 0 2px 0 rgba(0, 0, 0, 0.05);
48
+ --newt-shadow-elevation-high: 0 8px 16px rgba(0, 0, 0, 0.24);
49
+
50
+ /* Motion */
51
+ --newt-ease: cubic-bezier(0.3, 0.7, 0.4, 1);
52
+ --newt-duration-fast: 100ms;
53
+ --newt-duration-base: 150ms;
54
+ }
55
+
56
+ * {
57
+ box-sizing: border-box;
58
+ }
59
+
60
+ .newt-root {
61
+ font-family: var(--newt-font-sans);
62
+ color: var(--newt-text-primary);
63
+ -webkit-font-smoothing: antialiased;
64
+ }