@gluhar/theme 6.0.0-next.0 → 6.0.0-next.1
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/CHANGELOG.md +11 -0
- package/package.json +2 -3
- package/dist/module.cjs +0 -5
- package/dist/module.d.mts +0 -14
- package/dist/module.d.ts +0 -14
- package/dist/module.json +0 -9
- package/dist/module.mjs +0 -85
- package/dist/runtime/fonts/object-sans/PPObjectSans-Heavy.otf +0 -0
- package/dist/runtime/fonts/object-sans/PPObjectSans-HeavySlanted.otf +0 -0
- package/dist/runtime/fonts/object-sans/PPObjectSans-Regular.otf +0 -0
- package/dist/runtime/fonts/object-sans/PPObjectSans-Slanted.otf +0 -0
- package/dist/runtime/fonts/object-sans/stylesheet.css +0 -1
- package/dist/runtime/theme.css +0 -1
- package/dist/types.d.mts +0 -7
- package/dist/types.d.ts +0 -7
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [6.0.0-next.1](https://github.com/gluharco/gluhar/compare/v6.0.0-next.0...v6.0.0-next.1) (2026-10-20)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### 🚀 Enhancements
|
|
10
|
+
|
|
11
|
+
- **release:** Publish from GitHub Actions with npm trusted publishing ([8773cd9](https://github.com/gluharco/gluhar/commit/8773cd99c43cbe6a7dc415e50af8b13a7b8d4daf))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
# [4.1.0](https://github.com/gluharco/gluhar/compare/@gluhar/theme@4.0.4...@gluhar/theme@4.1.0) (2026-04-28)
|
|
7
18
|
|
|
8
19
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gluhar/theme",
|
|
3
|
-
"version": "6.0.0-next.
|
|
3
|
+
"version": "6.0.0-next.1",
|
|
4
4
|
"description": "Gluhar Theme package. Sets up Tailwind CSS v4, ships shared tokens (theme.css) and fonts, and feeds the CSS breakpoints to useResponsive.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -54,6 +54,5 @@
|
|
|
54
54
|
"peerDependencies": {
|
|
55
55
|
"nuxt": "^4.5.0",
|
|
56
56
|
"tailwindcss": "^4.3.0"
|
|
57
|
-
}
|
|
58
|
-
"gitHead": "8773cd99c43cbe6a7dc415e50af8b13a7b8d4daf"
|
|
57
|
+
}
|
|
59
58
|
}
|
package/dist/module.cjs
DELETED
package/dist/module.d.mts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import * as _nuxt_schema from '@nuxt/schema';
|
|
2
|
-
|
|
3
|
-
interface GluharThemeOptions {
|
|
4
|
-
/**
|
|
5
|
-
* The project's main stylesheet, relative to the root dir. Added to
|
|
6
|
-
* `nuxt.options.css` if it isn't there yet, and scanned for
|
|
7
|
-
* `--breakpoint-*`. `false` to manage CSS entirely yourself.
|
|
8
|
-
*/
|
|
9
|
-
css?: string | false;
|
|
10
|
-
}
|
|
11
|
-
declare const _default: _nuxt_schema.NuxtModule<GluharThemeOptions, GluharThemeOptions, false>;
|
|
12
|
-
|
|
13
|
-
export { _default as default };
|
|
14
|
-
export type { GluharThemeOptions };
|
package/dist/module.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import * as _nuxt_schema from '@nuxt/schema';
|
|
2
|
-
|
|
3
|
-
interface GluharThemeOptions {
|
|
4
|
-
/**
|
|
5
|
-
* The project's main stylesheet, relative to the root dir. Added to
|
|
6
|
-
* `nuxt.options.css` if it isn't there yet, and scanned for
|
|
7
|
-
* `--breakpoint-*`. `false` to manage CSS entirely yourself.
|
|
8
|
-
*/
|
|
9
|
-
css?: string | false;
|
|
10
|
-
}
|
|
11
|
-
declare const _default: _nuxt_schema.NuxtModule<GluharThemeOptions, GluharThemeOptions, false>;
|
|
12
|
-
|
|
13
|
-
export { _default as default };
|
|
14
|
-
export type { GluharThemeOptions };
|
package/dist/module.json
DELETED
package/dist/module.mjs
DELETED
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import { existsSync, readFileSync } from 'fs';
|
|
2
|
-
import { resolve, dirname } from 'path';
|
|
3
|
-
import { useLogger, defineNuxtModule, createResolver, addVitePlugin } from '@nuxt/kit';
|
|
4
|
-
import tailwindcss from '@tailwindcss/vite';
|
|
5
|
-
import { defu } from 'defu';
|
|
6
|
-
|
|
7
|
-
const REM = 16;
|
|
8
|
-
const readBreakpoints = (file, into = {}, seen = /* @__PURE__ */ new Set()) => {
|
|
9
|
-
if (seen.has(file) || !existsSync(file))
|
|
10
|
-
return into;
|
|
11
|
-
seen.add(file);
|
|
12
|
-
const css = readFileSync(file, "utf8").replace(/\/\*[\s\S]*?\*\//g, "");
|
|
13
|
-
const pattern = /@import\s+["'](\.{1,2}\/[^"']+)["']|--breakpoint-(\*|[\w-]+)\s*:\s*([^;]+);/g;
|
|
14
|
-
for (const [, imported, name, value] of css.matchAll(pattern)) {
|
|
15
|
-
if (imported) {
|
|
16
|
-
readBreakpoints(resolve(dirname(file), imported), into, seen);
|
|
17
|
-
continue;
|
|
18
|
-
}
|
|
19
|
-
if (name === "*") {
|
|
20
|
-
if (value?.trim() === "initial")
|
|
21
|
-
for (const key of Object.keys(into))
|
|
22
|
-
delete into[key];
|
|
23
|
-
continue;
|
|
24
|
-
}
|
|
25
|
-
const match = value?.trim().match(/^([\d.]+)(rem|em|px)?$/);
|
|
26
|
-
if (!match)
|
|
27
|
-
continue;
|
|
28
|
-
const [, amount, unit] = match;
|
|
29
|
-
into[name] = unit === "px" ? Number(amount) : Number(amount) * REM;
|
|
30
|
-
}
|
|
31
|
-
return into;
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
const logger = useLogger("@gluhar/theme");
|
|
35
|
-
const module = defineNuxtModule({
|
|
36
|
-
meta: {
|
|
37
|
-
name: "@gluhar/theme",
|
|
38
|
-
configKey: "gluharTheme"
|
|
39
|
-
},
|
|
40
|
-
defaults: {
|
|
41
|
-
css: "assets/styles/main.css"
|
|
42
|
-
},
|
|
43
|
-
setup(options, nuxt) {
|
|
44
|
-
const { resolve: resolveRuntime } = createResolver(import.meta.url);
|
|
45
|
-
addVitePlugin(tailwindcss());
|
|
46
|
-
const css = options.css ? resolve(nuxt.options.rootDir, options.css) : void 0;
|
|
47
|
-
if (css && !existsSync(css)) {
|
|
48
|
-
logger.warn(
|
|
49
|
-
`No stylesheet at ${options.css}. Create it with:
|
|
50
|
-
@import "tailwindcss";
|
|
51
|
-
@import "@gluhar/theme/theme.css";`
|
|
52
|
-
);
|
|
53
|
-
}
|
|
54
|
-
if (css && existsSync(css)) {
|
|
55
|
-
const listed = nuxt.options.css.some(
|
|
56
|
-
(entry) => typeof entry === "string" && resolve(nuxt.options.rootDir, entry.replace(/^[~@]\//, "")) === css
|
|
57
|
-
);
|
|
58
|
-
if (!listed)
|
|
59
|
-
nuxt.options.css.push(css);
|
|
60
|
-
}
|
|
61
|
-
const readAll = () => {
|
|
62
|
-
const breakpoints = readBreakpoints(resolveRuntime("runtime/theme.css"));
|
|
63
|
-
if (css)
|
|
64
|
-
readBreakpoints(css, breakpoints);
|
|
65
|
-
return breakpoints;
|
|
66
|
-
};
|
|
67
|
-
nuxt.options.appConfig.gluhar = defu(
|
|
68
|
-
{ breakpoints: readAll() },
|
|
69
|
-
nuxt.options.appConfig.gluhar
|
|
70
|
-
);
|
|
71
|
-
if (css && nuxt.options.dev) {
|
|
72
|
-
const initial = JSON.stringify(nuxt.options.appConfig.gluhar.breakpoints);
|
|
73
|
-
nuxt.hook("builder:watch", async (_event, path) => {
|
|
74
|
-
if (!path.endsWith(".css"))
|
|
75
|
-
return;
|
|
76
|
-
if (JSON.stringify(readAll()) !== initial) {
|
|
77
|
-
logger.info("Breakpoints changed \u2014 restarting.");
|
|
78
|
-
await nuxt.callHook("restart");
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
});
|
|
84
|
-
|
|
85
|
-
export { module as default };
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
@font-face{ascent-override:85%;font-family:Object Sans;font-style:normal;font-weight:400;src:url(PPObjectSans-Regular.otf) format("opentype")}@font-face{font-family:Object Sans;font-style:italic;font-weight:400;src:url(PPObjectSans-Slanted.otf) format("opentype")}@font-face{font-family:Object Sans;font-style:normal;font-weight:700;src:url(PPObjectSans-Heavy.otf) format("opentype")}@font-face{font-family:Object Sans;font-style:italic;font-weight:700;src:url(PPObjectSans-HeavySlanted.otf) format("opentype")}
|
package/dist/runtime/theme.css
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
@source "../../../app/dist/runtime/components";@source "../../../sanity/dist/runtime/components";@custom-variant dark (&:where(.dark, .dark *));@theme{--breakpoint-tablet:48rem;--breakpoint-desktop:75rem;--breakpoint-wide:125rem;--color-primary-light:#333;--color-primary-base:#222;--color-primary-dark:#111;--color-secondary-base:#f9f9f9;--color-accent-base:#faf;--color-white-base:#fff;--tracking-tightest:-0.075em;--leading-tighter:1.18;--leading-tightest:1.1;--ease-in-out-expo:cubic-bezier(0.87,0,0.13,1)}@utility h-screen-s{height:100svh}@utility h-screen-l{height:100lvh}@utility h-screen-d{height:100dvh}@utility flex-0-auto{flex:1 0 auto}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}.lenis.lenis-scrolling iframe{pointer-events:none}
|
package/dist/types.d.mts
DELETED
package/dist/types.d.ts
DELETED