@lifeonlars/prime-yggdrasil 0.1.1 → 0.1.2

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.
@@ -0,0 +1,178 @@
1
+ /**
2
+ * overlay components
3
+ */
4
+
5
+ .p-dialog {
6
+ border-radius: var(--radius-md);
7
+ box-shadow: var(--elevation-elevated);
8
+ border: 0 none;
9
+ }
10
+ .p-dialog .p-dialog-header {
11
+ border-bottom: 0 none;
12
+ background: var(--surface-neutral-primary);
13
+ color: var(--text-neutral-loud);
14
+ padding: 1.5rem;
15
+ border-top-right-radius: var(--radius-md);
16
+ border-top-left-radius: var(--radius-md);
17
+ }
18
+ .p-dialog .p-dialog-header .p-dialog-title {
19
+ font-weight: 700;
20
+ font-size: 1.25rem;
21
+ }
22
+ .p-dialog .p-dialog-header .p-dialog-header-icon {
23
+ width: 2rem;
24
+ height: 2rem;
25
+ color: var(--text-neutral-subdued);
26
+ border: 0 none;
27
+ background: transparent;
28
+ border-radius: var(--radius-full);
29
+ transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
30
+ }
31
+ .p-dialog .p-dialog-header .p-dialog-header-icon:enabled:hover {
32
+ color: var(--text-neutral-loud);
33
+ border-color: transparent;
34
+ background: var(--surface-neutral-secondary);
35
+ }
36
+ .p-dialog .p-dialog-header .p-dialog-header-icon:focus-visible {
37
+ outline: 0 none;
38
+ outline-offset: 0;
39
+ box-shadow: 0 0 0 0.2rem var(--surface-brand-overlay);
40
+ }
41
+ .p-dialog .p-dialog-header .p-dialog-header-icon {
42
+ margin-right: 0.5rem;
43
+ }
44
+ .p-dialog .p-dialog-header .p-dialog-header-icon:last-child {
45
+ margin-right: 0;
46
+ }
47
+ .p-dialog .p-dialog-content {
48
+ background: var(--surface-neutral-primary);
49
+ color: var(--text-neutral-default);
50
+ padding: 0 1.5rem 2rem 1.5rem;
51
+ }
52
+ .p-dialog .p-dialog-content:last-of-type {
53
+ border-bottom-right-radius: var(--radius-md);
54
+ border-bottom-left-radius: var(--radius-md);
55
+ }
56
+ .p-dialog .p-dialog-footer {
57
+ border-top: 0 none;
58
+ background: var(--surface-neutral-primary);
59
+ color: var(--text-neutral-default);
60
+ padding: 0 1.5rem 1.5rem 1.5rem;
61
+ text-align: right;
62
+ border-bottom-right-radius: var(--radius-md);
63
+ border-bottom-left-radius: var(--radius-md);
64
+ }
65
+ .p-dialog .p-dialog-footer button {
66
+ margin: 0 0.5rem 0 0;
67
+ width: auto;
68
+ }
69
+ .p-dialog.p-dialog-maximized .p-dialog-header, .p-dialog.p-dialog-maximized .p-dialog-content:last-of-type {
70
+ border-radius: 0;
71
+ }
72
+ .p-dialog.p-confirm-dialog .p-confirm-dialog-icon {
73
+ font-size: 2rem;
74
+ }
75
+ .p-dialog.p-confirm-dialog .p-confirm-dialog-icon.p-icon {
76
+ width: 2rem;
77
+ height: 2rem;
78
+ }
79
+ .p-dialog.p-confirm-dialog .p-confirm-dialog-message {
80
+ margin-left: 1rem;
81
+ }
82
+ .p-overlaypanel {
83
+ background: var(--surface-neutral-primary);
84
+ color: var(--text-neutral-subdued);
85
+ border: 0 none;
86
+ border-radius: var(--radius-md);
87
+ box-shadow: var(--elevation-elevated);
88
+ }
89
+ .p-overlaypanel .p-overlaypanel-content {
90
+ padding: 1.25rem;
91
+ }
92
+ .p-overlaypanel .p-overlaypanel-close {
93
+ background: var(--surface-brand-primary);
94
+ color: var(--surface-neutral-primary);
95
+ width: 2rem;
96
+ height: 2rem;
97
+ transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
98
+ border-radius: var(--radius-full);
99
+ position: absolute;
100
+ top: -1rem;
101
+ right: -1rem;
102
+ }
103
+ .p-overlaypanel .p-overlaypanel-close:enabled:hover {
104
+ background: var(--surface-brand-secondary);
105
+ color: var(--surface-neutral-primary);
106
+ }
107
+ .p-overlaypanel:after {
108
+ border: solid transparent;
109
+ border-color: rgba(255, 255, 255, 0);
110
+ border-bottom-color: var(--surface-neutral-primary);
111
+ }
112
+ .p-overlaypanel:before {
113
+ border: solid transparent;
114
+ border-color: rgba(255, 255, 255, 0);
115
+ border-bottom-color: #f2f2f2;
116
+ }
117
+ .p-overlaypanel.p-overlaypanel-flipped:after {
118
+ border-top-color: var(--surface-neutral-primary);
119
+ }
120
+ .p-overlaypanel.p-overlaypanel-flipped:before {
121
+ border-top-color: var(--surface-neutral-primary);
122
+ }
123
+ .p-sidebar {
124
+ background: var(--surface-neutral-primary);
125
+ color: var(--text-neutral-subdued);
126
+ border: 0 none;
127
+ box-shadow: var(--elevation-elevated);
128
+ }
129
+ .p-sidebar .p-sidebar-header {
130
+ padding: 1.25rem;
131
+ }
132
+ .p-sidebar .p-sidebar-header .p-sidebar-close,
133
+ .p-sidebar .p-sidebar-header .p-sidebar-icon {
134
+ width: 2rem;
135
+ height: 2rem;
136
+ color: var(--icon-neutral-subdued);
137
+ border: 0 none;
138
+ background: transparent;
139
+ border-radius: var(--radius-full);
140
+ transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
141
+ }
142
+ .p-sidebar .p-sidebar-header .p-sidebar-close:enabled:hover,
143
+ .p-sidebar .p-sidebar-header .p-sidebar-icon:enabled:hover {
144
+ color: var(--text-neutral-default);
145
+ border-color: transparent;
146
+ background: var(--surface-state-hover);
147
+ }
148
+ .p-sidebar .p-sidebar-header .p-sidebar-close:focus-visible,
149
+ .p-sidebar .p-sidebar-header .p-sidebar-icon:focus-visible {
150
+ outline: 0 none;
151
+ outline-offset: 0;
152
+ box-shadow: 0 0 0 0.2rem var(--surface-brand-overlay);
153
+ }
154
+ .p-sidebar .p-sidebar-header + .p-sidebar-content {
155
+ padding-top: 0;
156
+ }
157
+ .p-sidebar .p-sidebar-content {
158
+ padding: 1.25rem;
159
+ }
160
+ .p-tooltip .p-tooltip-text {
161
+ background: var(--text-neutral-subdued);
162
+ color: var(--surface-neutral-primary);
163
+ padding: 0.75rem 0.75rem;
164
+ box-shadow: var(--elevation-moderate);
165
+ border-radius: var(--radius-md);
166
+ }
167
+ .p-tooltip.p-tooltip-right .p-tooltip-arrow {
168
+ border-right-color: var(--text-neutral-subdued);
169
+ }
170
+ .p-tooltip.p-tooltip-left .p-tooltip-arrow {
171
+ border-left-color: var(--text-neutral-subdued);
172
+ }
173
+ .p-tooltip.p-tooltip-top .p-tooltip-arrow {
174
+ border-top-color: var(--text-neutral-subdued);
175
+ }
176
+ .p-tooltip.p-tooltip-bottom .p-tooltip-arrow {
177
+ border-bottom-color: var(--text-neutral-subdued);
178
+ }
@@ -0,0 +1,288 @@
1
+ /**
2
+ * panel components
3
+ */
4
+
5
+ .p-panel .p-panel-header {
6
+ border: 1px solid var(--border-neutral-default);
7
+ padding: 1.25rem;
8
+ background: var(--surface-neutral-secondary);
9
+ color: var(--text-neutral-default);
10
+ border-top-right-radius: var(--radius-md);
11
+ border-top-left-radius: var(--radius-md);
12
+ }
13
+ .p-panel .p-panel-header .p-panel-title {
14
+ font-weight: 700;
15
+ }
16
+ .p-panel .p-panel-header .p-panel-header-icon {
17
+ width: 2rem;
18
+ height: 2rem;
19
+ color: var(--icon-neutral-subdued);
20
+ border: 0 none;
21
+ background: transparent;
22
+ border-radius: var(--radius-full);
23
+ transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
24
+ }
25
+ .p-panel .p-panel-header .p-panel-header-icon:enabled:hover {
26
+ color: var(--text-neutral-default);
27
+ border-color: transparent;
28
+ background: var(--surface-state-hover);
29
+ }
30
+ .p-panel .p-panel-header .p-panel-header-icon:focus-visible {
31
+ outline: 0 none;
32
+ outline-offset: 0;
33
+ box-shadow: 0 0 0 0.2rem var(--surface-brand-overlay);
34
+ }
35
+ .p-panel.p-panel-toggleable .p-panel-header {
36
+ padding: 0.75rem 1.25rem;
37
+ }
38
+ .p-panel:has(> .p-panel-footer) .p-panel-content {
39
+ border-bottom-left-radius: 0;
40
+ border-bottom-right-radius: 0;
41
+ }
42
+ .p-panel .p-panel-content {
43
+ padding: 1.25rem;
44
+ border: 1px solid var(--border-neutral-default);
45
+ background: var(--surface-neutral-primary);
46
+ color: var(--text-neutral-subdued);
47
+ border-bottom-right-radius: var(--radius-md);
48
+ border-bottom-left-radius: var(--radius-md);
49
+ border-top: 0 none;
50
+ }
51
+ .p-panel .p-panel-footer {
52
+ padding: 0.75rem 1.25rem;
53
+ border: 1px solid var(--border-neutral-default);
54
+ background: var(--surface-neutral-primary);
55
+ color: var(--text-neutral-subdued);
56
+ border-top: 0 none;
57
+ }
58
+ .p-accordion .p-accordion-header .p-accordion-header-link {
59
+ padding: 1.25rem;
60
+ border: 1px solid var(--border-neutral-default);
61
+ color: var(--icon-neutral-subdued);
62
+ background: var(--surface-neutral-secondary);
63
+ font-weight: 700;
64
+ border-radius: var(--radius-md);
65
+ transition: box-shadow 0.2s;
66
+ }
67
+ .p-accordion .p-accordion-header .p-accordion-header-link .p-accordion-toggle-icon {
68
+ margin-right: 0.5rem;
69
+ }
70
+ .p-accordion .p-accordion-header:not(.p-disabled) .p-accordion-header-link:focus-visible {
71
+ outline: 0 none;
72
+ outline-offset: 0;
73
+ box-shadow: 0 0 0 0.2rem var(--surface-brand-overlay);
74
+ }
75
+ .p-accordion .p-accordion-header:not(.p-highlight):not(.p-disabled):hover .p-accordion-header-link {
76
+ background: var(--surface-state-hover);
77
+ border-color: var(--border-neutral-default);
78
+ color: var(--text-neutral-default);
79
+ }
80
+ .p-accordion .p-accordion-header:not(.p-disabled).p-highlight .p-accordion-header-link {
81
+ background: var(--surface-neutral-secondary);
82
+ border-color: var(--border-neutral-default);
83
+ color: var(--text-neutral-default);
84
+ border-bottom-right-radius: 0;
85
+ border-bottom-left-radius: 0;
86
+ }
87
+ .p-accordion .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link {
88
+ border-color: var(--border-neutral-default);
89
+ background: var(--surface-state-hover);
90
+ color: var(--text-neutral-default);
91
+ }
92
+ .p-accordion .p-accordion-content {
93
+ padding: 1.25rem;
94
+ border: 1px solid var(--border-neutral-default);
95
+ background: var(--surface-neutral-primary);
96
+ color: var(--text-neutral-subdued);
97
+ border-top: 0;
98
+ border-top-right-radius: 0;
99
+ border-top-left-radius: 0;
100
+ border-bottom-right-radius: var(--radius-md);
101
+ border-bottom-left-radius: var(--radius-md);
102
+ }
103
+ .p-accordion .p-accordion-tab {
104
+ margin-bottom: 4px;
105
+ }
106
+ .p-accordion .p-accordion-header .p-accordion-header-link {
107
+ transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s;
108
+ }
109
+ .p-fieldset {
110
+ border: 1px solid var(--border-neutral-default);
111
+ background: var(--surface-neutral-primary);
112
+ color: var(--text-neutral-subdued);
113
+ border-radius: var(--radius-md);
114
+ }
115
+ .p-fieldset .p-fieldset-legend {
116
+ padding: 1.25rem;
117
+ border: 1px solid var(--border-neutral-default);
118
+ color: var(--text-neutral-default);
119
+ background: var(--surface-neutral-secondary);
120
+ font-weight: 700;
121
+ border-radius: var(--radius-md);
122
+ }
123
+ .p-fieldset.p-fieldset-toggleable .p-fieldset-legend {
124
+ padding: 0;
125
+ transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
126
+ }
127
+ .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a {
128
+ padding: 1.25rem;
129
+ color: var(--text-neutral-default);
130
+ border-radius: var(--radius-md);
131
+ transition: box-shadow 0.2s;
132
+ }
133
+ .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a .p-fieldset-toggler {
134
+ margin-right: 0.5rem;
135
+ }
136
+ .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a:focus-visible {
137
+ outline: 0 none;
138
+ outline-offset: 0;
139
+ box-shadow: 0 0 0 0.2rem var(--surface-brand-overlay);
140
+ }
141
+ .p-fieldset.p-fieldset-toggleable .p-fieldset-legend:hover {
142
+ background: var(--surface-state-hover);
143
+ border-color: var(--border-neutral-default);
144
+ color: var(--text-neutral-default);
145
+ }
146
+ .p-fieldset .p-fieldset-content {
147
+ padding: 1.25rem;
148
+ }
149
+ .p-card {
150
+ background: var(--surface-neutral-primary);
151
+ color: var(--text-neutral-default);
152
+ box-shadow: var(--elevation-subtle);
153
+ border-radius: var(--radius-md);
154
+ }
155
+ .p-card .p-card-body {
156
+ padding: 1.25rem;
157
+ }
158
+ .p-card .p-card-title {
159
+ font-size: 1.5rem;
160
+ font-weight: 700;
161
+ margin-bottom: 0.5rem;
162
+ }
163
+ .p-card .p-card-subtitle {
164
+ font-weight: 400;
165
+ margin-bottom: 0.5rem;
166
+ color: var(--icon-neutral-subdued);
167
+ }
168
+ .p-card .p-card-content {
169
+ padding: 1.25rem 0;
170
+ }
171
+ .p-card .p-card-footer {
172
+ padding: 1.25rem 0 0 0;
173
+ }
174
+ .p-divider .p-divider-content {
175
+ background-color: var(--surface-neutral-primary);
176
+ }
177
+ .p-divider.p-divider-horizontal {
178
+ margin: 1.25rem 0;
179
+ padding: 0 1.25rem;
180
+ }
181
+ .p-divider.p-divider-horizontal:before {
182
+ border-top: 1px var(--border-neutral-default);
183
+ }
184
+ .p-divider.p-divider-horizontal .p-divider-content {
185
+ padding: 0 0.5rem;
186
+ }
187
+ .p-divider.p-divider-vertical {
188
+ margin: 0 1.25rem;
189
+ padding: 1.25rem 0;
190
+ }
191
+ .p-divider.p-divider-vertical:before {
192
+ border-left: 1px var(--border-neutral-default);
193
+ }
194
+ .p-divider.p-divider-vertical .p-divider-content {
195
+ padding: 0.5rem 0;
196
+ }
197
+ .p-splitter {
198
+ border: 1px solid var(--border-neutral-default);
199
+ background: var(--surface-neutral-primary);
200
+ border-radius: var(--radius-md);
201
+ color: var(--text-neutral-subdued);
202
+ }
203
+ .p-splitter .p-splitter-gutter {
204
+ transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
205
+ background: var(--surface-neutral-secondary);
206
+ }
207
+ .p-splitter .p-splitter-gutter .p-splitter-gutter-handle {
208
+ background: var(--border-neutral-default);
209
+ }
210
+ .p-splitter .p-splitter-gutter .p-splitter-gutter-handle:focus-visible {
211
+ outline: 0 none;
212
+ outline-offset: 0;
213
+ box-shadow: 0 0 0 0.2rem var(--surface-brand-overlay);
214
+ }
215
+ .p-splitter .p-splitter-gutter-resizing {
216
+ background: var(--border-neutral-default);
217
+ }
218
+ .p-scrollpanel .p-scrollpanel-bar {
219
+ background: var(--surface-neutral-secondary);
220
+ border: 0 none;
221
+ }
222
+ .p-scrollpanel .p-scrollpanel-bar:focus-visible {
223
+ outline: 0 none;
224
+ outline-offset: 0;
225
+ box-shadow: 0 0 0 0.2rem var(--surface-brand-overlay);
226
+ }
227
+ .p-tabview .p-tabview-nav {
228
+ background: var(--surface-neutral-primary);
229
+ border: 1px solid var(--border-neutral-default);
230
+ border-width: 0 0 2px 0;
231
+ }
232
+ .p-tabview .p-tabview-nav li {
233
+ margin-right: 0;
234
+ }
235
+ .p-tabview .p-tabview-nav li .p-tabview-nav-link {
236
+ border: solid var(--border-neutral-default);
237
+ border-width: 0 0 2px 0;
238
+ border-color: transparent transparent var(--border-neutral-default) transparent;
239
+ background: var(--surface-neutral-primary);
240
+ color: var(--icon-neutral-subdued);
241
+ padding: 1.25rem;
242
+ font-weight: 700;
243
+ border-top-right-radius: var(--radius-md);
244
+ border-top-left-radius: var(--radius-md);
245
+ transition: box-shadow 0.2s;
246
+ margin: 0 0 -2px 0;
247
+ }
248
+ .p-tabview .p-tabview-nav li .p-tabview-nav-link:not(.p-disabled):focus-visible {
249
+ outline: 0 none;
250
+ outline-offset: 0;
251
+ box-shadow: inset 0 0 0 0.2rem var(--surface-brand-overlay);
252
+ }
253
+ .p-tabview .p-tabview-nav li:not(.p-highlight):not(.p-disabled):hover .p-tabview-nav-link {
254
+ background: var(--surface-neutral-primary);
255
+ border-color: var(--icon-neutral-disabled);
256
+ color: var(--icon-neutral-subdued);
257
+ }
258
+ .p-tabview .p-tabview-nav li.p-highlight .p-tabview-nav-link {
259
+ background: var(--surface-neutral-primary);
260
+ border-color: var(--border-state-interactive);
261
+ color: var(--text-state-interactive);
262
+ }
263
+ .p-tabview .p-tabview-close {
264
+ margin-left: 0.5rem;
265
+ }
266
+ .p-tabview .p-tabview-nav-btn.p-link {
267
+ background: var(--surface-neutral-primary);
268
+ color: var(--text-state-interactive);
269
+ width: 3rem;
270
+ box-shadow: var(--elevation-moderate);
271
+ border-radius: 0;
272
+ }
273
+ .p-tabview .p-tabview-nav-btn.p-link:focus-visible {
274
+ outline: 0 none;
275
+ outline-offset: 0;
276
+ box-shadow: inset 0 0 0 0.2rem var(--surface-brand-overlay);
277
+ }
278
+ .p-tabview .p-tabview-panels {
279
+ background: var(--surface-neutral-primary);
280
+ padding: 1.25rem;
281
+ border: 0 none;
282
+ color: var(--text-neutral-subdued);
283
+ border-bottom-right-radius: var(--radius-md);
284
+ border-bottom-left-radius: var(--radius-md);
285
+ }
286
+ .p-tabview .p-tabview-nav li .p-tabview-nav-link {
287
+ transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s;
288
+ }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Components - Master Import File
3
+ * Individual component styles are split into separate files for maintainability
4
+ */
5
+
6
+ @import "./components/button.css";
7
+ @import "./components/data.css";
8
+ @import "./components/menu.css";
9
+ @import "./components/form.css";
10
+ @import "./components/calendar.css";
11
+ @import "./components/overlay.css";
12
+ @import "./components/panel.css";
13
+ @import "./components/message.css";
14
+ @import "./components/media.css";
15
+ @import "./components/misc.css";
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Border Radius Tokens
3
+ *
4
+ * Yggdrasil uses a 4px soft grid system for all spacing, including border radius.
5
+ * These semantic tokens map to component-specific contexts and ensure consistency.
6
+ *
7
+ * All values follow the 4px grid: 2px, 4px, 8px, 12px, etc.
8
+ */
9
+
10
+ :root {
11
+ /* ==================== Component-Specific Radius ==================== */
12
+
13
+ /* Button radius - applies to all button types and button groups */
14
+ --button-radius: 8px;
15
+
16
+ /* Input radius - applies to text-input, textarea, select box, dropdown triggers */
17
+ --input-radius: 8px;
18
+
19
+ /* Layout radius - dropdowns, panels, menus */
20
+ --radius-layout-dropdowns: 8px;
21
+ --radius-layout-widgets: 12px;
22
+ --radius-layout-cards: 12px;
23
+ --radius-layout-modals: 12px;
24
+
25
+ /* Chart radius */
26
+ --radius-charts-large: 12px; /* bar charts, column charts */
27
+ --radius-charts-medium: 8px; /* donut charts, tree maps */
28
+ --radius-charts-small: 2px; /* segments of stacked charts */
29
+
30
+ /* Special radius */
31
+ --radius-full: 9999px; /* fully rounded elements (pills, avatars) */
32
+
33
+ /* ==================== Generic Radius Scale ==================== */
34
+ /* For direct use in custom components following 4px grid */
35
+
36
+ --radius-none: 0;
37
+ --radius-sm: 4px; /* Small elements, tight corners */
38
+ --radius-md: 8px; /* Default for most components */
39
+ --radius-lg: 12px; /* Larger containers */
40
+ --radius-xl: 16px; /* Extra large containers */
41
+ --radius-2xl: 20px; /* Very large containers */
42
+ --radius-3xl: 24px; /* Exceptional large containers */
43
+ --radius-full: 9999px; /* Fully rounded (pills, circles) */
44
+ }