@dxos/ui-theme 0.9.0 → 0.9.1-staging.ee54ba693a
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/dist/lib/browser/index.mjs +37 -7
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/node-esm/index.mjs +37 -7
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/plugin/node-cjs/main.css +56 -27
- package/dist/plugin/node-cjs/main.css.map +2 -2
- package/dist/plugin/node-cjs/meta.json +1 -1
- package/dist/plugin/node-esm/main.css +56 -27
- package/dist/plugin/node-esm/main.css.map +2 -2
- package/dist/plugin/node-esm/meta.json +1 -1
- package/dist/types/src/util/index.d.ts +2 -0
- package/dist/types/src/util/index.d.ts.map +1 -1
- package/dist/types/src/util/mx.d.ts.map +1 -1
- package/dist/types/src/util/tv.d.ts +27 -0
- package/dist/types/src/util/tv.d.ts.map +1 -0
- package/dist/types/src/util/tv.test.d.ts +2 -0
- package/dist/types/src/util/tv.test.d.ts.map +1 -0
- package/dist/types/src/util/tw-merge-config.d.ts +17 -0
- package/dist/types/src/util/tw-merge-config.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -7
- package/src/Theme.stories.tsx +1 -1
- package/src/css/components/button.css +10 -9
- package/src/css/components/state.css +2 -25
- package/src/css/components/surface.css +65 -12
- package/src/css/components/tag.css +2 -2
- package/src/css/layout/size.css +1 -1
- package/src/css/theme/semantic.css +162 -75
- package/src/css/theme/spacing.css +7 -5
- package/src/util/index.ts +2 -0
- package/src/util/mx.ts +5 -35
- package/src/util/tv.test.ts +38 -0
- package/src/util/tv.ts +45 -0
- package/src/util/tw-merge-config.ts +46 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"inputs":{"src/plugins/ThemePlugin.ts":{"bytes":28566,"imports":[{"path":"@tailwindcss/postcss","kind":"import-statement","external":true},{"path":"@tailwindcss/vite","kind":"import-statement","external":true},{"path":"autoprefixer","kind":"import-statement","external":true},{"path":"node:fs","kind":"import-statement","external":true},{"path":"node:path","kind":"import-statement","external":true},{"path":"postcss-import","kind":"import-statement","external":true},{"path":"postcss-nesting","kind":"import-statement","external":true}],"format":"esm"},"src/css/theme/animation.css":{"bytes":4993,"imports":[]},"src/css/theme/border.css":{"bytes":623,"imports":[]},"src/css/theme/palette.css":{"bytes":3716,"imports":[]},"src/css/theme/semantic.css":{"bytes":
|
|
1
|
+
{"inputs":{"src/plugins/ThemePlugin.ts":{"bytes":28566,"imports":[{"path":"@tailwindcss/postcss","kind":"import-statement","external":true},{"path":"@tailwindcss/vite","kind":"import-statement","external":true},{"path":"autoprefixer","kind":"import-statement","external":true},{"path":"node:fs","kind":"import-statement","external":true},{"path":"node:path","kind":"import-statement","external":true},{"path":"postcss-import","kind":"import-statement","external":true},{"path":"postcss-nesting","kind":"import-statement","external":true}],"format":"esm"},"src/css/theme/animation.css":{"bytes":4993,"imports":[]},"src/css/theme/border.css":{"bytes":623,"imports":[]},"src/css/theme/palette.css":{"bytes":3716,"imports":[]},"src/css/theme/semantic.css":{"bytes":10753,"imports":[]},"src/css/theme/spacing.css":{"bytes":4473,"imports":[]},"src/css/theme/styles.css":{"bytes":8508,"imports":[]},"src/css/theme/text.css":{"bytes":1008,"imports":[]},"src/css/base/base.css":{"bytes":828,"imports":[]},"src/css/base/typography.css":{"bytes":3219,"imports":[{"path":"@fontsource-variable/jetbrains-mono/wght-italic.css","kind":"import-rule","external":true},{"path":"@fontsource-variable/jetbrains-mono/wght.css","kind":"import-rule","external":true},{"path":"@fontsource/poiret-one","kind":"import-rule","external":true}]},"src/css/components/button.css":{"bytes":4217,"imports":[]},"src/css/components/card.css":{"bytes":663,"imports":[]},"src/css/components/checkbox.css":{"bytes":1622,"imports":[]},"src/css/components/dialog.css":{"bytes":1597,"imports":[]},"src/css/components/focus.css":{"bytes":5359,"imports":[]},"src/css/components/icon.css":{"bytes":109,"imports":[]},"src/css/components/panel.css":{"bytes":2965,"imports":[]},"src/css/components/link.css":{"bytes":230,"imports":[]},"src/css/components/scrollbar.css":{"bytes":524,"imports":[]},"src/css/components/state.css":{"bytes":3240,"imports":[]},"src/css/components/surface.css":{"bytes":3446,"imports":[]},"src/css/components/tag.css":{"bytes":2742,"imports":[]},"src/css/components/text.css":{"bytes":1996,"imports":[]},"src/css/layout/main.css":{"bytes":6819,"imports":[]},"src/css/layout/native.css":{"bytes":496,"imports":[]},"src/css/layout/positioning.css":{"bytes":322,"imports":[]},"src/css/layout/size.css":{"bytes":6884,"imports":[]},"src/css/utilities.css":{"bytes":3909,"imports":[]},"src/css/integrations/codemirror.css":{"bytes":1851,"imports":[]},"src/css/integrations/tldraw.css":{"bytes":326,"imports":[]},"src/main.css":{"bytes":6005,"imports":[{"path":"tailwindcss","kind":"import-rule","external":true},{"path":"src/css/theme/animation.css","kind":"import-rule","original":"./css/theme/animation.css"},{"path":"src/css/theme/border.css","kind":"import-rule","original":"./css/theme/border.css"},{"path":"src/css/theme/palette.css","kind":"import-rule","original":"./css/theme/palette.css"},{"path":"src/css/theme/semantic.css","kind":"import-rule","original":"./css/theme/semantic.css"},{"path":"src/css/theme/spacing.css","kind":"import-rule","original":"./css/theme/spacing.css"},{"path":"src/css/theme/styles.css","kind":"import-rule","original":"./css/theme/styles.css"},{"path":"src/css/theme/text.css","kind":"import-rule","original":"./css/theme/text.css"},{"path":"src/css/base/base.css","kind":"import-rule","original":"./css/base/base.css"},{"path":"src/css/base/typography.css","kind":"import-rule","original":"./css/base/typography.css"},{"path":"src/css/components/button.css","kind":"import-rule","original":"./css/components/button.css"},{"path":"src/css/components/card.css","kind":"import-rule","original":"./css/components/card.css"},{"path":"src/css/components/checkbox.css","kind":"import-rule","original":"./css/components/checkbox.css"},{"path":"src/css/components/dialog.css","kind":"import-rule","original":"./css/components/dialog.css"},{"path":"src/css/components/focus.css","kind":"import-rule","original":"./css/components/focus.css"},{"path":"src/css/components/icon.css","kind":"import-rule","original":"./css/components/icon.css"},{"path":"src/css/components/panel.css","kind":"import-rule","original":"./css/components/panel.css"},{"path":"src/css/components/link.css","kind":"import-rule","original":"./css/components/link.css"},{"path":"src/css/components/scrollbar.css","kind":"import-rule","original":"./css/components/scrollbar.css"},{"path":"src/css/components/state.css","kind":"import-rule","original":"./css/components/state.css"},{"path":"src/css/components/surface.css","kind":"import-rule","original":"./css/components/surface.css"},{"path":"src/css/components/tag.css","kind":"import-rule","original":"./css/components/tag.css"},{"path":"src/css/components/text.css","kind":"import-rule","original":"./css/components/text.css"},{"path":"src/css/layout/main.css","kind":"import-rule","original":"./css/layout/main.css"},{"path":"src/css/layout/native.css","kind":"import-rule","original":"./css/layout/native.css"},{"path":"src/css/layout/positioning.css","kind":"import-rule","original":"./css/layout/positioning.css"},{"path":"src/css/layout/size.css","kind":"import-rule","original":"./css/layout/size.css"},{"path":"src/css/utilities.css","kind":"import-rule","original":"./css/utilities.css"},{"path":"src/css/integrations/codemirror.css","kind":"import-rule","original":"./css/integrations/codemirror.css"},{"path":"src/css/integrations/tldraw.css","kind":"import-rule","original":"./css/integrations/tldraw.css"}]}},"outputs":{"dist/plugin/node-esm/plugins/ThemePlugin.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":12590},"dist/plugin/node-esm/plugins/ThemePlugin.mjs":{"imports":[{"path":"@tailwindcss/postcss","kind":"import-statement","external":true},{"path":"@tailwindcss/vite","kind":"import-statement","external":true},{"path":"autoprefixer","kind":"import-statement","external":true},{"path":"node:fs","kind":"import-statement","external":true},{"path":"node:path","kind":"import-statement","external":true},{"path":"postcss-import","kind":"import-statement","external":true},{"path":"postcss-nesting","kind":"import-statement","external":true}],"exports":["LAYER_ORDER","ThemePlugin"],"entryPoint":"src/plugins/ThemePlugin.ts","inputs":{"src/plugins/ThemePlugin.ts":{"bytesInOutput":6683}},"bytes":6888},"dist/plugin/node-esm/main.css.map":{"imports":[],"exports":[],"inputs":{},"bytes":140517},"dist/plugin/node-esm/main.css":{"imports":[{"path":"tailwindcss","kind":"import-rule","external":true},{"path":"@fontsource-variable/jetbrains-mono/wght-italic.css","kind":"import-rule","external":true},{"path":"@fontsource-variable/jetbrains-mono/wght.css","kind":"import-rule","external":true},{"path":"@fontsource/poiret-one","kind":"import-rule","external":true}],"entryPoint":"src/main.css","inputs":{"src/css/theme/animation.css":{"bytesInOutput":3508},"src/css/theme/border.css":{"bytesInOutput":450},"src/css/theme/palette.css":{"bytesInOutput":2713},"src/css/theme/semantic.css":{"bytesInOutput":6248},"src/css/theme/spacing.css":{"bytesInOutput":3606},"src/css/theme/styles.css":{"bytesInOutput":7242},"src/css/theme/text.css":{"bytesInOutput":841},"src/css/base/base.css":{"bytesInOutput":784},"src/css/base/typography.css":{"bytesInOutput":2742},"src/css/components/button.css":{"bytesInOutput":2913},"src/css/components/card.css":{"bytesInOutput":116},"src/css/components/checkbox.css":{"bytesInOutput":1296},"src/css/components/dialog.css":{"bytesInOutput":1550},"src/css/components/focus.css":{"bytesInOutput":5252},"src/css/components/icon.css":{"bytesInOutput":91},"src/css/components/panel.css":{"bytesInOutput":2641},"src/css/components/link.css":{"bytesInOutput":195},"src/css/components/scrollbar.css":{"bytesInOutput":451},"src/css/components/state.css":{"bytesInOutput":1348},"src/css/components/surface.css":{"bytesInOutput":2201},"src/css/components/tag.css":{"bytesInOutput":2473},"src/css/components/text.css":{"bytesInOutput":1794},"src/css/layout/main.css":{"bytesInOutput":6525},"src/css/layout/native.css":{"bytesInOutput":215},"src/css/layout/positioning.css":{"bytesInOutput":297},"src/css/layout/size.css":{"bytesInOutput":5807},"src/css/utilities.css":{"bytesInOutput":1154},"src/css/integrations/codemirror.css":{"bytesInOutput":1382},"src/css/integrations/tldraw.css":{"bytesInOutput":271},"src/main.css":{"bytesInOutput":1522}},"bytes":69011}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/util/index.ts"],"names":[],"mappings":"AAIA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,MAAM,CAAC;AACrB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/util/index.ts"],"names":[],"mappings":"AAIA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,MAAM,CAAC;AACrB,cAAc,QAAQ,CAAC;AACvB,cAAc,MAAM,CAAC;AACrB,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mx.d.ts","sourceRoot":"","sources":["../../../../src/util/mx.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"mx.d.ts","sourceRoot":"","sources":["../../../../src/util/mx.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,EAAE,sEASb,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { type ClassNameArray, type ClassNameValue, type Theme } from '@dxos/ui-types';
|
|
2
|
+
export type { VariantProps } from 'tailwind-variants';
|
|
3
|
+
/**
|
|
4
|
+
* Shared tailwind-variants instance bound to the dxos tailwind-merge config (see {@link twMergeConfig}),
|
|
5
|
+
* so recipes resolve class conflicts identically to {@link mx}. All component theme recipes import this,
|
|
6
|
+
* never the bare `tailwind-variants` package.
|
|
7
|
+
*/
|
|
8
|
+
export declare const tv: import("tailwind-variants").TV;
|
|
9
|
+
type SlotsRecipe<P extends Record<string, any>, S extends string> = (props?: P) => Record<S, (opts?: {
|
|
10
|
+
class?: ClassNameValue;
|
|
11
|
+
}) => string>;
|
|
12
|
+
/**
|
|
13
|
+
* The {@link Theme} sub-tree produced by {@link bridgeTv}, with each slot's resolver explicitly typed
|
|
14
|
+
* so call sites (and tests) stay fully typed instead of falling back to `any`.
|
|
15
|
+
*/
|
|
16
|
+
export type BridgedTheme<P extends Record<string, any>, S extends string> = Theme<P> & {
|
|
17
|
+
[K in S]: (styleProps: P, ...etc: ClassNameArray) => string;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Adapt a tailwind-variants slots recipe into the existing {@link Theme} shape (a map of
|
|
21
|
+
* {@link import('@dxos/ui-types').ComponentFunction}) so it can register in the `tx` theme tree and be
|
|
22
|
+
* consumed via `tx('component.slot', styleProps, ...classNames)`. Slots are enumerated explicitly (not
|
|
23
|
+
* via Proxy) so unknown paths resolve to `undefined` exactly as `getDeep` does today, and the result is
|
|
24
|
+
* a plain, inspectable object. Derive `slots` from `Object.keys(recipe())` at the call site.
|
|
25
|
+
*/
|
|
26
|
+
export declare const bridgeTv: <P extends Record<string, any>, S extends string>(recipe: SlotsRecipe<P, S>, slots: readonly S[]) => BridgedTheme<P, S>;
|
|
27
|
+
//# sourceMappingURL=tv.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tv.d.ts","sourceRoot":"","sources":["../../../../src/util/tv.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAItF,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD;;;;GAIG;AACH,eAAO,MAAM,EAAE,gCAA6C,CAAC;AAE7D,KAAK,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,SAAS,MAAM,IAAI,CAClE,KAAK,CAAC,EAAE,CAAC,KACN,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,cAAc,CAAA;CAAE,KAAK,MAAM,CAAC,CAAC;AAE9D;;;GAGG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,SAAS,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG;KACpF,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,cAAc,KAAK,MAAM;CAC5D,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,SAAS,MAAM,UAC9D,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,SAClB,SAAS,CAAC,EAAE,KAClB,YAAY,CAAC,CAAC,EAAE,CAAC,CAGK,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tv.test.d.ts","sourceRoot":"","sources":["../../../../src/util/tv.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared tailwind-merge configuration. The single source for both {@link mx} (extendTailwindMerge)
|
|
3
|
+
* and the {@link tv} instance (createTV `twMergeConfig`) so conflict resolution can't drift —
|
|
4
|
+
* notably for dxos custom tokens (`text-base-fg`, density, focus-ring).
|
|
5
|
+
*/
|
|
6
|
+
export declare const twMergeConfig: {
|
|
7
|
+
readonly extend: {
|
|
8
|
+
readonly classGroups: {
|
|
9
|
+
readonly 'font-family': readonly ['font-body', 'font-mono'];
|
|
10
|
+
readonly 'font-weight': readonly ['font-thin', 'font-extralight', 'font-light', 'font-normal', 'font-medium', 'font-semibold', 'font-bold', 'font-extrabold', 'font-black'];
|
|
11
|
+
readonly 'density': readonly ['dx-density-sm', 'dx-density-md', 'dx-density-lg'];
|
|
12
|
+
readonly 'dx-focus-ring': readonly ['dx-focus-ring', 'dx-focus-ring-inset', 'dx-focus-ring-always', 'dx-focus-ring-inset-always', 'dx-focus-ring-group', 'dx-focus-ring-group-x', 'dx-focus-ring-group-y', 'dx-focus-ring-group-always', 'dx-focus-ring-group-x-always', 'dx-focus-ring-group-y-always', 'dx-focus-ring-inset-over-all', 'dx-focus-ring-inset-over-all-always', 'dx-focus-ring-main', 'dx-focus-ring-main-always'];
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
export type AdditionalClassGroups = 'density' | 'dx-focus-ring';
|
|
17
|
+
//# sourceMappingURL=tw-merge-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tw-merge-config.d.ts","sourceRoot":"","sources":["../../../../src/util/tw-merge-config.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,eAAO,MAAM,aAAa;aACxB,MAAM;iBACJ,WAAW;qBACT,aAAa,YAAG,WAAW,EAAE,WAAW;qBACxC,aAAa,YACX,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,YAAY;qBAEd,SAAS,YAAG,eAAe,EAAE,eAAe,EAAE,eAAe;qBAC7D,eAAe,YACb,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,4BAA4B,EAC5B,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,EACvB,4BAA4B,EAC5B,8BAA8B,EAC9B,8BAA8B,EAC9B,8BAA8B,EAC9B,qCAAqC,EACrC,oBAAoB,EACpB,2BAA2B;;;CAIzB,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,eAAe,CAAC"}
|