@nonsuch/component-library 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/README.md +40 -0
- package/dist/nonsuch-components.css +1 -1
- package/dist/nonsuch-components.js +7 -7
- package/fonts/_quasar-overrides.sass +12 -0
- package/fonts/files/FixelDisplay-Black.woff2 +0 -0
- package/fonts/files/FixelDisplay-BlackItalic.woff2 +0 -0
- package/fonts/files/FixelDisplay-Bold.woff2 +0 -0
- package/fonts/files/FixelDisplay-BoldItalic.woff2 +0 -0
- package/fonts/files/FixelDisplay-ExtraBold.woff2 +0 -0
- package/fonts/files/FixelDisplay-ExtraBoldItalic.woff2 +0 -0
- package/fonts/files/FixelDisplay-ExtraLight.woff2 +0 -0
- package/fonts/files/FixelDisplay-ExtraLightItalic.woff2 +0 -0
- package/fonts/files/FixelDisplay-Light.woff2 +0 -0
- package/fonts/files/FixelDisplay-LightItalic.woff2 +0 -0
- package/fonts/files/FixelDisplay-Medium.woff2 +0 -0
- package/fonts/files/FixelDisplay-MediumItalic.woff2 +0 -0
- package/fonts/files/FixelDisplay-Regular.woff2 +0 -0
- package/fonts/files/FixelDisplay-RegularItalic.woff2 +0 -0
- package/fonts/files/FixelDisplay-SemiBold.woff2 +0 -0
- package/fonts/files/FixelDisplay-SemiBoldItalic.woff2 +0 -0
- package/fonts/files/FixelDisplay-Thin.woff2 +0 -0
- package/fonts/files/FixelDisplay-ThinItalic.woff2 +0 -0
- package/fonts/files/FixelText-Black.woff2 +0 -0
- package/fonts/files/FixelText-BlackItalic.woff2 +0 -0
- package/fonts/files/FixelText-Bold.woff2 +0 -0
- package/fonts/files/FixelText-BoldItalic.woff2 +0 -0
- package/fonts/files/FixelText-ExtraBold.woff2 +0 -0
- package/fonts/files/FixelText-ExtraBoldItalic.woff2 +0 -0
- package/fonts/files/FixelText-ExtraLight.woff2 +0 -0
- package/fonts/files/FixelText-ExtraLightItalic.woff2 +0 -0
- package/fonts/files/FixelText-Light.woff2 +0 -0
- package/fonts/files/FixelText-LightItalic.woff2 +0 -0
- package/fonts/files/FixelText-Medium.woff2 +0 -0
- package/fonts/files/FixelText-MediumItalic.woff2 +0 -0
- package/fonts/files/FixelText-Regular.woff2 +0 -0
- package/fonts/files/FixelText-RegularItalic.woff2 +0 -0
- package/fonts/files/FixelText-SemiBold.woff2 +0 -0
- package/fonts/files/FixelText-SemiBoldItalic.woff2 +0 -0
- package/fonts/files/FixelText-Thin.woff2 +0 -0
- package/fonts/files/FixelText-ThinItalic.woff2 +0 -0
- package/fonts/files/README.md +37 -0
- package/fonts/fonts.css +310 -0
- package/fonts/global.css +34 -0
- package/package.json +8 -4
package/README.md
CHANGED
|
@@ -44,6 +44,42 @@ Then import custom components as needed:
|
|
|
44
44
|
import { NsButton } from '@nonsuch/component-library'
|
|
45
45
|
```
|
|
46
46
|
|
|
47
|
+
### Fonts (Optional)
|
|
48
|
+
|
|
49
|
+
The library ships [Fixel](https://fixel.macpaw.com/) as the Nonsuch brand font with Roboto as a fallback. Three integration options:
|
|
50
|
+
|
|
51
|
+
**Option 1: Global CSS (recommended)** — makes Fixel the default for your entire app:
|
|
52
|
+
|
|
53
|
+
```ts
|
|
54
|
+
import '@nonsuch/component-library/fonts/global.css'
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
This loads all `@font-face` declarations and sets `Fixel Text` on `body` and `Fixel Display` on headings.
|
|
58
|
+
|
|
59
|
+
**Option 2: Font faces only** — load the fonts without applying them globally, then use them where you choose:
|
|
60
|
+
|
|
61
|
+
```ts
|
|
62
|
+
import '@nonsuch/component-library/fonts.css'
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
```css
|
|
66
|
+
.my-element {
|
|
67
|
+
font-family: 'Fixel Text', 'Roboto', sans-serif;
|
|
68
|
+
}
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
**Option 3: Quasar Sass variables** — integrates with Quasar's typography system:
|
|
72
|
+
|
|
73
|
+
```sass
|
|
74
|
+
// src/quasar-variables.sass
|
|
75
|
+
@use '@nonsuch/component-library/fonts/quasar-overrides' as *
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
```ts
|
|
79
|
+
// vite.config.ts
|
|
80
|
+
quasar({ sassVariables: 'src/quasar-variables.sass' })
|
|
81
|
+
```
|
|
82
|
+
|
|
47
83
|
Or use Quasar components directly — they aren't re-exported through this library, so you import them from `quasar` as normal:
|
|
48
84
|
|
|
49
85
|
```ts
|
|
@@ -100,6 +136,10 @@ Each custom component lives in its own directory with co-located story and test
|
|
|
100
136
|
- **Vite library mode** — builds to ES modules with externalized `vue` and `quasar`
|
|
101
137
|
- **TypeScript** — strict mode with emitted `.d.ts` declarations
|
|
102
138
|
|
|
139
|
+
## Contributing
|
|
140
|
+
|
|
141
|
+
Want to add or improve components? Check out [CONTRIBUTING.md](./CONTRIBUTING.md) for a friendly step-by-step guide — no deep Vue experience required!
|
|
142
|
+
|
|
103
143
|
## License
|
|
104
144
|
|
|
105
145
|
MIT — see [LICENSE](./LICENSE)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ns-button[data-v-
|
|
1
|
+
.ns-button[data-v-e1d8675d]{font-family:Fixel Text,Roboto,sans-serif;font-weight:500;letter-spacing:.02em}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { defineComponent as
|
|
3
|
-
const p = /* @__PURE__ */
|
|
1
|
+
import a from "quasar/src/components/btn/QBtn.js";
|
|
2
|
+
import { defineComponent as d, openBlock as u, createBlock as l, mergeProps as s, withCtx as c, renderSlot as f } from "vue";
|
|
3
|
+
const p = /* @__PURE__ */ d({
|
|
4
4
|
__name: "NsButton",
|
|
5
5
|
props: {
|
|
6
6
|
color: { default: "primary" },
|
|
@@ -10,7 +10,7 @@ const p = /* @__PURE__ */ u({
|
|
|
10
10
|
rounded: { type: Boolean, default: !0 }
|
|
11
11
|
},
|
|
12
12
|
setup(e) {
|
|
13
|
-
return (t, o) => (
|
|
13
|
+
return (t, o) => (u(), l(a, s(t.$attrs, {
|
|
14
14
|
color: e.color,
|
|
15
15
|
size: e.size,
|
|
16
16
|
unelevated: e.unelevated,
|
|
@@ -26,10 +26,10 @@ const p = /* @__PURE__ */ u({
|
|
|
26
26
|
}
|
|
27
27
|
}), i = (e, t) => {
|
|
28
28
|
const o = e.__vccOpts || e;
|
|
29
|
-
for (const [n,
|
|
30
|
-
o[n] =
|
|
29
|
+
for (const [n, r] of t)
|
|
30
|
+
o[n] = r;
|
|
31
31
|
return o;
|
|
32
|
-
}, B = /* @__PURE__ */ i(p, [["__scopeId", "data-v-
|
|
32
|
+
}, B = /* @__PURE__ */ i(p, [["__scopeId", "data-v-e1d8675d"]]);
|
|
33
33
|
export {
|
|
34
34
|
B as NsButton
|
|
35
35
|
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// Quasar Sass variable overrides for Fixel font
|
|
2
|
+
//
|
|
3
|
+
// For consumers using @quasar/vite-plugin, reference this file
|
|
4
|
+
// in your own Sass variables to set Fixel as Quasar's default font:
|
|
5
|
+
//
|
|
6
|
+
// // src/quasar-variables.sass
|
|
7
|
+
// @use '@nonsuch/component-library/fonts/quasar-overrides' as *
|
|
8
|
+
//
|
|
9
|
+
// Then in vite.config.ts:
|
|
10
|
+
// quasar({ sassVariables: 'src/quasar-variables.sass' })
|
|
11
|
+
|
|
12
|
+
$body-font-family: 'Fixel Text', 'Roboto', sans-serif
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Font Files
|
|
2
|
+
|
|
3
|
+
Place your Fixel `.woff2` files here following this naming convention:
|
|
4
|
+
|
|
5
|
+
## Fixel Text (body text, buttons, labels)
|
|
6
|
+
|
|
7
|
+
```text
|
|
8
|
+
FixelText-Regular.woff2
|
|
9
|
+
FixelText-Medium.woff2
|
|
10
|
+
FixelText-SemiBold.woff2
|
|
11
|
+
FixelText-Bold.woff2
|
|
12
|
+
FixelText-RegularItalic.woff2
|
|
13
|
+
FixelText-MediumItalic.woff2
|
|
14
|
+
FixelText-SemiBoldItalic.woff2
|
|
15
|
+
FixelText-BoldItalic.woff2
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Fixel Display (headings, large text)
|
|
19
|
+
|
|
20
|
+
```text
|
|
21
|
+
FixelDisplay-Regular.woff2
|
|
22
|
+
FixelDisplay-Medium.woff2
|
|
23
|
+
FixelDisplay-SemiBold.woff2
|
|
24
|
+
FixelDisplay-Bold.woff2
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Where to get the files
|
|
28
|
+
|
|
29
|
+
Download from <https://fixel.macpaw.com/> and place the `.woff2` versions here.
|
|
30
|
+
|
|
31
|
+
If your download only includes `.otf` or `.ttf`, you can convert to `.woff2` using
|
|
32
|
+
a tool like <https://cloudconvert.com/ttf-to-woff2> for optimal web performance.
|
|
33
|
+
|
|
34
|
+
## Adding more weights
|
|
35
|
+
|
|
36
|
+
If you need additional weights (Thin, ExtraLight, Light, ExtraBold, Black),
|
|
37
|
+
add the `.woff2` files here and update `../fonts.css` with matching `@font-face` rules.
|
package/fonts/fonts.css
ADDED
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Fixel Font — @font-face declarations
|
|
3
|
+
* https://fixel.macpaw.com/
|
|
4
|
+
*
|
|
5
|
+
* Import this file to load the font faces without applying them globally:
|
|
6
|
+
* import '@nonsuch/component-library/fonts.css'
|
|
7
|
+
*
|
|
8
|
+
* Or use global.css to also set Fixel as the default body/heading font:
|
|
9
|
+
* import '@nonsuch/component-library/fonts/global.css'
|
|
10
|
+
*
|
|
11
|
+
* Font families available after import:
|
|
12
|
+
* font-family: 'Fixel Text', 'Roboto', sans-serif; — body, UI elements
|
|
13
|
+
* font-family: 'Fixel Display', 'Roboto', sans-serif; — headings, hero text
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
/* ========================================================================
|
|
17
|
+
Fixel Text — body text, buttons, labels, UI elements
|
|
18
|
+
======================================================================== */
|
|
19
|
+
|
|
20
|
+
/* Thin (100) */
|
|
21
|
+
@font-face {
|
|
22
|
+
font-family: 'Fixel Text';
|
|
23
|
+
font-style: normal;
|
|
24
|
+
font-weight: 100;
|
|
25
|
+
font-display: swap;
|
|
26
|
+
src: url('./files/FixelText-Thin.woff2') format('woff2');
|
|
27
|
+
}
|
|
28
|
+
@font-face {
|
|
29
|
+
font-family: 'Fixel Text';
|
|
30
|
+
font-style: italic;
|
|
31
|
+
font-weight: 100;
|
|
32
|
+
font-display: swap;
|
|
33
|
+
src: url('./files/FixelText-ThinItalic.woff2') format('woff2');
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/* ExtraLight (200) */
|
|
37
|
+
@font-face {
|
|
38
|
+
font-family: 'Fixel Text';
|
|
39
|
+
font-style: normal;
|
|
40
|
+
font-weight: 200;
|
|
41
|
+
font-display: swap;
|
|
42
|
+
src: url('./files/FixelText-ExtraLight.woff2') format('woff2');
|
|
43
|
+
}
|
|
44
|
+
@font-face {
|
|
45
|
+
font-family: 'Fixel Text';
|
|
46
|
+
font-style: italic;
|
|
47
|
+
font-weight: 200;
|
|
48
|
+
font-display: swap;
|
|
49
|
+
src: url('./files/FixelText-ExtraLightItalic.woff2') format('woff2');
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/* Light (300) */
|
|
53
|
+
@font-face {
|
|
54
|
+
font-family: 'Fixel Text';
|
|
55
|
+
font-style: normal;
|
|
56
|
+
font-weight: 300;
|
|
57
|
+
font-display: swap;
|
|
58
|
+
src: url('./files/FixelText-Light.woff2') format('woff2');
|
|
59
|
+
}
|
|
60
|
+
@font-face {
|
|
61
|
+
font-family: 'Fixel Text';
|
|
62
|
+
font-style: italic;
|
|
63
|
+
font-weight: 300;
|
|
64
|
+
font-display: swap;
|
|
65
|
+
src: url('./files/FixelText-LightItalic.woff2') format('woff2');
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/* Regular (400) */
|
|
69
|
+
@font-face {
|
|
70
|
+
font-family: 'Fixel Text';
|
|
71
|
+
font-style: normal;
|
|
72
|
+
font-weight: 400;
|
|
73
|
+
font-display: swap;
|
|
74
|
+
src: url('./files/FixelText-Regular.woff2') format('woff2');
|
|
75
|
+
}
|
|
76
|
+
@font-face {
|
|
77
|
+
font-family: 'Fixel Text';
|
|
78
|
+
font-style: italic;
|
|
79
|
+
font-weight: 400;
|
|
80
|
+
font-display: swap;
|
|
81
|
+
src: url('./files/FixelText-RegularItalic.woff2') format('woff2');
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/* Medium (500) */
|
|
85
|
+
@font-face {
|
|
86
|
+
font-family: 'Fixel Text';
|
|
87
|
+
font-style: normal;
|
|
88
|
+
font-weight: 500;
|
|
89
|
+
font-display: swap;
|
|
90
|
+
src: url('./files/FixelText-Medium.woff2') format('woff2');
|
|
91
|
+
}
|
|
92
|
+
@font-face {
|
|
93
|
+
font-family: 'Fixel Text';
|
|
94
|
+
font-style: italic;
|
|
95
|
+
font-weight: 500;
|
|
96
|
+
font-display: swap;
|
|
97
|
+
src: url('./files/FixelText-MediumItalic.woff2') format('woff2');
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/* SemiBold (600) */
|
|
101
|
+
@font-face {
|
|
102
|
+
font-family: 'Fixel Text';
|
|
103
|
+
font-style: normal;
|
|
104
|
+
font-weight: 600;
|
|
105
|
+
font-display: swap;
|
|
106
|
+
src: url('./files/FixelText-SemiBold.woff2') format('woff2');
|
|
107
|
+
}
|
|
108
|
+
@font-face {
|
|
109
|
+
font-family: 'Fixel Text';
|
|
110
|
+
font-style: italic;
|
|
111
|
+
font-weight: 600;
|
|
112
|
+
font-display: swap;
|
|
113
|
+
src: url('./files/FixelText-SemiBoldItalic.woff2') format('woff2');
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/* Bold (700) */
|
|
117
|
+
@font-face {
|
|
118
|
+
font-family: 'Fixel Text';
|
|
119
|
+
font-style: normal;
|
|
120
|
+
font-weight: 700;
|
|
121
|
+
font-display: swap;
|
|
122
|
+
src: url('./files/FixelText-Bold.woff2') format('woff2');
|
|
123
|
+
}
|
|
124
|
+
@font-face {
|
|
125
|
+
font-family: 'Fixel Text';
|
|
126
|
+
font-style: italic;
|
|
127
|
+
font-weight: 700;
|
|
128
|
+
font-display: swap;
|
|
129
|
+
src: url('./files/FixelText-BoldItalic.woff2') format('woff2');
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
/* ExtraBold (800) */
|
|
133
|
+
@font-face {
|
|
134
|
+
font-family: 'Fixel Text';
|
|
135
|
+
font-style: normal;
|
|
136
|
+
font-weight: 800;
|
|
137
|
+
font-display: swap;
|
|
138
|
+
src: url('./files/FixelText-ExtraBold.woff2') format('woff2');
|
|
139
|
+
}
|
|
140
|
+
@font-face {
|
|
141
|
+
font-family: 'Fixel Text';
|
|
142
|
+
font-style: italic;
|
|
143
|
+
font-weight: 800;
|
|
144
|
+
font-display: swap;
|
|
145
|
+
src: url('./files/FixelText-ExtraBoldItalic.woff2') format('woff2');
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
/* Black (900) */
|
|
149
|
+
@font-face {
|
|
150
|
+
font-family: 'Fixel Text';
|
|
151
|
+
font-style: normal;
|
|
152
|
+
font-weight: 900;
|
|
153
|
+
font-display: swap;
|
|
154
|
+
src: url('./files/FixelText-Black.woff2') format('woff2');
|
|
155
|
+
}
|
|
156
|
+
@font-face {
|
|
157
|
+
font-family: 'Fixel Text';
|
|
158
|
+
font-style: italic;
|
|
159
|
+
font-weight: 900;
|
|
160
|
+
font-display: swap;
|
|
161
|
+
src: url('./files/FixelText-BlackItalic.woff2') format('woff2');
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
/* ========================================================================
|
|
165
|
+
Fixel Display — headings and large text
|
|
166
|
+
======================================================================== */
|
|
167
|
+
|
|
168
|
+
/* Thin (100) */
|
|
169
|
+
@font-face {
|
|
170
|
+
font-family: 'Fixel Display';
|
|
171
|
+
font-style: normal;
|
|
172
|
+
font-weight: 100;
|
|
173
|
+
font-display: swap;
|
|
174
|
+
src: url('./files/FixelDisplay-Thin.woff2') format('woff2');
|
|
175
|
+
}
|
|
176
|
+
@font-face {
|
|
177
|
+
font-family: 'Fixel Display';
|
|
178
|
+
font-style: italic;
|
|
179
|
+
font-weight: 100;
|
|
180
|
+
font-display: swap;
|
|
181
|
+
src: url('./files/FixelDisplay-ThinItalic.woff2') format('woff2');
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
/* ExtraLight (200) */
|
|
185
|
+
@font-face {
|
|
186
|
+
font-family: 'Fixel Display';
|
|
187
|
+
font-style: normal;
|
|
188
|
+
font-weight: 200;
|
|
189
|
+
font-display: swap;
|
|
190
|
+
src: url('./files/FixelDisplay-ExtraLight.woff2') format('woff2');
|
|
191
|
+
}
|
|
192
|
+
@font-face {
|
|
193
|
+
font-family: 'Fixel Display';
|
|
194
|
+
font-style: italic;
|
|
195
|
+
font-weight: 200;
|
|
196
|
+
font-display: swap;
|
|
197
|
+
src: url('./files/FixelDisplay-ExtraLightItalic.woff2') format('woff2');
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
/* Light (300) */
|
|
201
|
+
@font-face {
|
|
202
|
+
font-family: 'Fixel Display';
|
|
203
|
+
font-style: normal;
|
|
204
|
+
font-weight: 300;
|
|
205
|
+
font-display: swap;
|
|
206
|
+
src: url('./files/FixelDisplay-Light.woff2') format('woff2');
|
|
207
|
+
}
|
|
208
|
+
@font-face {
|
|
209
|
+
font-family: 'Fixel Display';
|
|
210
|
+
font-style: italic;
|
|
211
|
+
font-weight: 300;
|
|
212
|
+
font-display: swap;
|
|
213
|
+
src: url('./files/FixelDisplay-LightItalic.woff2') format('woff2');
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
/* Regular (400) */
|
|
217
|
+
@font-face {
|
|
218
|
+
font-family: 'Fixel Display';
|
|
219
|
+
font-style: normal;
|
|
220
|
+
font-weight: 400;
|
|
221
|
+
font-display: swap;
|
|
222
|
+
src: url('./files/FixelDisplay-Regular.woff2') format('woff2');
|
|
223
|
+
}
|
|
224
|
+
@font-face {
|
|
225
|
+
font-family: 'Fixel Display';
|
|
226
|
+
font-style: italic;
|
|
227
|
+
font-weight: 400;
|
|
228
|
+
font-display: swap;
|
|
229
|
+
src: url('./files/FixelDisplay-RegularItalic.woff2') format('woff2');
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
/* Medium (500) */
|
|
233
|
+
@font-face {
|
|
234
|
+
font-family: 'Fixel Display';
|
|
235
|
+
font-style: normal;
|
|
236
|
+
font-weight: 500;
|
|
237
|
+
font-display: swap;
|
|
238
|
+
src: url('./files/FixelDisplay-Medium.woff2') format('woff2');
|
|
239
|
+
}
|
|
240
|
+
@font-face {
|
|
241
|
+
font-family: 'Fixel Display';
|
|
242
|
+
font-style: italic;
|
|
243
|
+
font-weight: 500;
|
|
244
|
+
font-display: swap;
|
|
245
|
+
src: url('./files/FixelDisplay-MediumItalic.woff2') format('woff2');
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
/* SemiBold (600) */
|
|
249
|
+
@font-face {
|
|
250
|
+
font-family: 'Fixel Display';
|
|
251
|
+
font-style: normal;
|
|
252
|
+
font-weight: 600;
|
|
253
|
+
font-display: swap;
|
|
254
|
+
src: url('./files/FixelDisplay-SemiBold.woff2') format('woff2');
|
|
255
|
+
}
|
|
256
|
+
@font-face {
|
|
257
|
+
font-family: 'Fixel Display';
|
|
258
|
+
font-style: italic;
|
|
259
|
+
font-weight: 600;
|
|
260
|
+
font-display: swap;
|
|
261
|
+
src: url('./files/FixelDisplay-SemiBoldItalic.woff2') format('woff2');
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
/* Bold (700) */
|
|
265
|
+
@font-face {
|
|
266
|
+
font-family: 'Fixel Display';
|
|
267
|
+
font-style: normal;
|
|
268
|
+
font-weight: 700;
|
|
269
|
+
font-display: swap;
|
|
270
|
+
src: url('./files/FixelDisplay-Bold.woff2') format('woff2');
|
|
271
|
+
}
|
|
272
|
+
@font-face {
|
|
273
|
+
font-family: 'Fixel Display';
|
|
274
|
+
font-style: italic;
|
|
275
|
+
font-weight: 700;
|
|
276
|
+
font-display: swap;
|
|
277
|
+
src: url('./files/FixelDisplay-BoldItalic.woff2') format('woff2');
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
/* ExtraBold (800) */
|
|
281
|
+
@font-face {
|
|
282
|
+
font-family: 'Fixel Display';
|
|
283
|
+
font-style: normal;
|
|
284
|
+
font-weight: 800;
|
|
285
|
+
font-display: swap;
|
|
286
|
+
src: url('./files/FixelDisplay-ExtraBold.woff2') format('woff2');
|
|
287
|
+
}
|
|
288
|
+
@font-face {
|
|
289
|
+
font-family: 'Fixel Display';
|
|
290
|
+
font-style: italic;
|
|
291
|
+
font-weight: 800;
|
|
292
|
+
font-display: swap;
|
|
293
|
+
src: url('./files/FixelDisplay-ExtraBoldItalic.woff2') format('woff2');
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
/* Black (900) */
|
|
297
|
+
@font-face {
|
|
298
|
+
font-family: 'Fixel Display';
|
|
299
|
+
font-style: normal;
|
|
300
|
+
font-weight: 900;
|
|
301
|
+
font-display: swap;
|
|
302
|
+
src: url('./files/FixelDisplay-Black.woff2') format('woff2');
|
|
303
|
+
}
|
|
304
|
+
@font-face {
|
|
305
|
+
font-family: 'Fixel Display';
|
|
306
|
+
font-style: italic;
|
|
307
|
+
font-weight: 900;
|
|
308
|
+
font-display: swap;
|
|
309
|
+
src: url('./files/FixelDisplay-BlackItalic.woff2') format('woff2');
|
|
310
|
+
}
|
package/fonts/global.css
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Fixel Font — Global application defaults
|
|
3
|
+
*
|
|
4
|
+
* Import this ONE file to load Fixel AND apply it as the default font:
|
|
5
|
+
* import '@nonsuch/component-library/fonts/global.css'
|
|
6
|
+
*
|
|
7
|
+
* This sets:
|
|
8
|
+
* - body / all UI text → Fixel Text
|
|
9
|
+
* - h1–h6 headings → Fixel Display
|
|
10
|
+
* - Roboto fallback for both
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
@import './fonts.css';
|
|
14
|
+
|
|
15
|
+
/* Apply Fixel Text as the default body font */
|
|
16
|
+
body {
|
|
17
|
+
font-family: 'Fixel Text', 'Roboto', sans-serif;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/* Apply Fixel Display to headings */
|
|
21
|
+
h1,
|
|
22
|
+
h2,
|
|
23
|
+
h3,
|
|
24
|
+
h4,
|
|
25
|
+
h5,
|
|
26
|
+
h6,
|
|
27
|
+
.text-h1,
|
|
28
|
+
.text-h2,
|
|
29
|
+
.text-h3,
|
|
30
|
+
.text-h4,
|
|
31
|
+
.text-h5,
|
|
32
|
+
.text-h6 {
|
|
33
|
+
font-family: 'Fixel Display', 'Roboto', sans-serif;
|
|
34
|
+
}
|
package/package.json
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nonsuch/component-library",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "A Vue 3 component library built on Quasar with opinionated defaults and custom components.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"repository": {
|
|
9
9
|
"type": "git",
|
|
10
|
-
"url": "https://github.com/
|
|
10
|
+
"url": "git+https://github.com/Nonsuch-io/componentLibrary.git"
|
|
11
11
|
},
|
|
12
12
|
"files": [
|
|
13
|
-
"dist"
|
|
13
|
+
"dist",
|
|
14
|
+
"fonts"
|
|
14
15
|
],
|
|
15
16
|
"main": "./dist/nonsuch-components.js",
|
|
16
17
|
"module": "./dist/nonsuch-components.js",
|
|
@@ -20,7 +21,10 @@
|
|
|
20
21
|
"types": "./dist/index.d.ts",
|
|
21
22
|
"import": "./dist/nonsuch-components.js"
|
|
22
23
|
},
|
|
23
|
-
"./style.css": "./dist/style.css"
|
|
24
|
+
"./style.css": "./dist/style.css",
|
|
25
|
+
"./fonts.css": "./fonts/fonts.css",
|
|
26
|
+
"./fonts/global.css": "./fonts/global.css",
|
|
27
|
+
"./fonts/quasar-overrides": "./fonts/_quasar-overrides.sass"
|
|
24
28
|
},
|
|
25
29
|
"scripts": {
|
|
26
30
|
"dev": "storybook dev -p 6006",
|