@fayz-ai/ui 0.10.1 → 0.10.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.
- package/dist/tailwind.cjs +7 -2
- package/dist/tailwind.cjs.map +1 -1
- package/dist/tailwind.d.ts.map +1 -1
- package/dist/tailwind.js +7 -2
- package/dist/tailwind.js.map +1 -1
- package/package.json +1 -1
package/dist/tailwind.cjs
CHANGED
|
@@ -200,8 +200,9 @@ var fayzUiPreset = {
|
|
|
200
200
|
};
|
|
201
201
|
|
|
202
202
|
// src/tailwind.ts
|
|
203
|
-
var SDK_PACKAGES = ["ui", "saas", "storefront", "portal"];
|
|
203
|
+
var SDK_PACKAGES = ["ui", "admin", "saas", "storefront", "portal"];
|
|
204
204
|
var GLOB = "/src/**/*.{ts,tsx}";
|
|
205
|
+
var DIST_GLOB = "/dist/**/*.js";
|
|
205
206
|
function fayzTailwind(opts = {}) {
|
|
206
207
|
const sdk = opts.sdkDir ?? "../../fayz-sdk";
|
|
207
208
|
return {
|
|
@@ -210,7 +211,11 @@ function fayzTailwind(opts = {}) {
|
|
|
210
211
|
content: [
|
|
211
212
|
"./index.html",
|
|
212
213
|
"./src/**/*.{ts,tsx}",
|
|
213
|
-
// Published / sandbox: SDK installed in node_modules
|
|
214
|
+
// Published / sandbox: SDK installed in node_modules, which ships dist only.
|
|
215
|
+
...SDK_PACKAGES.map((p) => `./node_modules/@fayz-ai/${p}${DIST_GLOB}`),
|
|
216
|
+
"./node_modules/@fayz-ai/plugin-*/dist/**/*.js",
|
|
217
|
+
// Pre-0.10.1 installs still carry src/; a glob that matches nothing is
|
|
218
|
+
// ignored, so keeping these costs nothing and keeps older pins styled.
|
|
214
219
|
...SDK_PACKAGES.map((p) => `./node_modules/@fayz-ai/${p}${GLOB}`),
|
|
215
220
|
"./node_modules/@fayz-ai/plugin-*/src/**/*.{ts,tsx}",
|
|
216
221
|
// Local dev: SDK as a sibling checkout (matches nothing in production).
|
package/dist/tailwind.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/theme/preset.ts","../src/tailwind.ts"],"names":[],"mappings":"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","file":"tailwind.cjs","sourcesContent":["import type { Config } from 'tailwindcss'\n\n/**\n * Tailwind CSS preset for @fayz-ai/ui.\n * Include this in your tailwind.config.ts:\n *\n * import { fayzUiPreset } from '@fayz-ai/ui/theme'\n * export default { presets: [fayzUiPreset], ... }\n */\nconst fayzUiPreset: Partial<Config> = {\n darkMode: 'class',\n theme: {\n extend: {\n colors: {\n border: 'hsl(var(--border))',\n input: 'hsl(var(--input))',\n ring: 'hsl(var(--ring))',\n background: 'hsl(var(--background))',\n foreground: 'hsl(var(--foreground))',\n primary: {\n DEFAULT: 'hsl(var(--primary))',\n foreground: 'hsl(var(--primary-foreground))',\n },\n secondary: {\n DEFAULT: 'hsl(var(--secondary))',\n foreground: 'hsl(var(--secondary-foreground))',\n },\n destructive: {\n DEFAULT: 'hsl(var(--destructive))',\n foreground: 'hsl(var(--destructive-foreground))',\n },\n success: {\n DEFAULT: 'hsl(var(--success))',\n foreground: 'hsl(var(--success-foreground))',\n },\n warning: {\n DEFAULT: 'hsl(var(--warning))',\n foreground: 'hsl(var(--warning-foreground))',\n },\n info: {\n DEFAULT: 'hsl(var(--info))',\n foreground: 'hsl(var(--info-foreground))',\n },\n magic: {\n DEFAULT: 'hsl(var(--magic))',\n foreground: 'hsl(var(--magic-foreground))',\n },\n 'info-soft': {\n DEFAULT: 'hsl(var(--info-soft))',\n foreground: 'hsl(var(--info-soft-foreground))',\n },\n 'success-soft': {\n DEFAULT: 'hsl(var(--success-soft))',\n foreground: 'hsl(var(--success-soft-foreground))',\n },\n 'warning-soft': {\n DEFAULT: 'hsl(var(--warning-soft))',\n foreground: 'hsl(var(--warning-soft-foreground))',\n },\n 'destructive-soft': {\n DEFAULT: 'hsl(var(--destructive-soft))',\n foreground: 'hsl(var(--destructive-soft-foreground))',\n },\n 'magic-soft': {\n DEFAULT: 'hsl(var(--magic-soft))',\n foreground: 'hsl(var(--magic-soft-foreground))',\n },\n muted: {\n DEFAULT: 'hsl(var(--muted))',\n foreground: 'hsl(var(--muted-foreground))',\n },\n accent: {\n DEFAULT: 'hsl(var(--accent))',\n foreground: 'hsl(var(--accent-foreground))',\n },\n card: {\n DEFAULT: 'hsl(var(--card))',\n foreground: 'hsl(var(--card-foreground))',\n },\n popover: {\n DEFAULT: 'hsl(var(--popover))',\n foreground: 'hsl(var(--popover-foreground))',\n },\n // Layout surface tokens\n sidebar: {\n DEFAULT: 'hsl(var(--sidebar))',\n foreground: 'hsl(var(--sidebar-foreground))',\n border: 'hsl(var(--sidebar-border))',\n accent: 'hsl(var(--sidebar-accent))',\n 'accent-foreground': 'hsl(var(--sidebar-accent-foreground))',\n muted: 'hsl(var(--sidebar-muted))',\n },\n content: 'hsl(var(--content))',\n },\n borderRadius: {\n button: 'var(--button-radius)',\n card: 'var(--card-radius)',\n input: 'var(--input-radius)',\n modal: 'var(--modal-radius)',\n },\n fontFamily: {\n sans: ['var(--font-family)'],\n mono: ['var(--font-family-mono)'],\n },\n boxShadow: {\n sm: 'var(--shadow-sm)',\n md: 'var(--shadow-md)',\n lg: 'var(--shadow-lg)',\n button: 'var(--shadow-button)',\n 'button-primary': 'var(--shadow-button-primary)',\n 'button-inset': 'var(--shadow-button-inset)',\n },\n keyframes: {\n 'fade-in': {\n from: { opacity: '0' },\n to: { opacity: '1' },\n },\n 'fade-out': {\n from: { opacity: '1' },\n to: { opacity: '0' },\n },\n 'zoom-in': {\n from: { transform: 'scale(0.95)', opacity: '0' },\n to: { transform: 'scale(1)', opacity: '1' },\n },\n 'zoom-out': {\n from: { transform: 'scale(1)', opacity: '1' },\n to: { transform: 'scale(0.95)', opacity: '0' },\n },\n 'slide-in-from-top': {\n from: { transform: 'translateY(-4px)', opacity: '0' },\n to: { transform: 'translateY(0)', opacity: '1' },\n },\n 'slide-in-from-bottom': {\n from: { transform: 'translateY(4px)', opacity: '0' },\n to: { transform: 'translateY(0)', opacity: '1' },\n },\n 'slide-out-to-top': {\n from: { transform: 'translateY(0)', opacity: '1' },\n to: { transform: 'translateY(-4px)', opacity: '0' },\n },\n 'page-in': {\n from: { opacity: '0', transform: 'translateY(6px)' },\n to: { opacity: '1', transform: 'translateY(0)' },\n },\n 'slide-in-from-right': {\n from: { transform: 'translateX(100%)' },\n to: { transform: 'translateX(0)' },\n },\n 'slide-out-to-right': {\n from: { transform: 'translateX(0)' },\n to: { transform: 'translateX(100%)' },\n },\n 'fade-up': {\n from: { opacity: '0', transform: 'translateY(18px)' },\n to: { opacity: '1', transform: 'translateY(0)' },\n },\n kenburns: {\n from: { transform: 'scale(1)' },\n to: { transform: 'scale(1.07)' },\n },\n 'badge-pop': {\n '0%': { transform: 'scale(0.6)' },\n '60%': { transform: 'scale(1.25)' },\n '100%': { transform: 'scale(1)' },\n },\n 'draw-check': {\n from: { 'stroke-dashoffset': '48' },\n to: { 'stroke-dashoffset': '0' },\n },\n 'pop-in': {\n '0%': { transform: 'scale(0)', opacity: '0' },\n '70%': { transform: 'scale(1.15)', opacity: '1' },\n '100%': { transform: 'scale(1)', opacity: '1' },\n },\n 'confetti-fall': {\n '0%': { transform: 'translateY(-10px) rotate(0deg)', opacity: '1' },\n '100%': { transform: 'translateY(140px) rotate(540deg)', opacity: '0' },\n },\n 'pulse-soft': {\n '0%, 100%': { opacity: '1' },\n '50%': { opacity: '0.55' },\n },\n },\n animation: {\n 'fade-in': 'fade-in 200ms ease-out',\n 'fade-out': 'fade-out 150ms ease-in',\n 'zoom-in': 'zoom-in 200ms ease-out',\n 'zoom-out': 'zoom-out 150ms ease-in',\n 'slide-in-from-top': 'slide-in-from-top 200ms ease-out',\n 'slide-in-from-bottom': 'slide-in-from-bottom 200ms ease-out',\n 'slide-out-to-top': 'slide-out-to-top 150ms ease-in',\n 'slide-in-from-right': 'slide-in-from-right 250ms cubic-bezier(0.16, 1, 0.3, 1)',\n 'slide-out-to-right': 'slide-out-to-right 200ms ease-in',\n 'page-in': 'page-in 250ms ease-out',\n 'fade-up': 'fade-up 600ms cubic-bezier(0.16, 1, 0.3, 1) both',\n kenburns: 'kenburns 9s ease-out both',\n 'badge-pop': 'badge-pop 350ms cubic-bezier(0.34, 1.56, 0.64, 1)',\n 'draw-check': 'draw-check 600ms ease-out 250ms both',\n 'pop-in': 'pop-in 450ms cubic-bezier(0.34, 1.56, 0.64, 1) both',\n 'confetti-fall': 'confetti-fall 1100ms ease-in both',\n 'pulse-soft': 'pulse-soft 1.6s ease-in-out infinite',\n },\n },\n },\n}\n\nexport default fayzUiPreset\nexport { fayzUiPreset }\n","import type { Config } from 'tailwindcss'\nimport { fayzUiPreset } from './theme/preset'\n\nexport interface FayzTailwindOptions {\n /** Extra app-specific content globs, appended after the SDK globs. */\n content?: string[]\n /** SDK source location relative to the app root (default ../../fayz-sdk). */\n sdkDir?: string\n}\n\n// SDK packages whose source ships Tailwind class names the app renders.\nconst SDK_PACKAGES = ['ui', 'saas', 'storefront', 'portal'] as const\nconst GLOB = '/src/**/*.{ts,tsx}'\n\n/**\n * Shared Tailwind config for Fayz dogfood apps. Applies the Fayz UI preset and\n * scans the SDK shell/UI/plugin source for class names — from node_modules (the\n * Fayz editor sandbox / published) and a sibling `../../fayz-sdk` checkout (local\n * dev). Whichever exists is scanned; missing globs are ignored. Apps no longer\n * hand-maintain content globs or the relative-vs-npm preset import.\n *\n * import { fayzTailwind } from '@fayz-ai/ui/tailwind'\n * export default fayzTailwind()\n */\nexport function fayzTailwind(opts: FayzTailwindOptions = {}): Config {\n const sdk = opts.sdkDir ?? '../../fayz-sdk'\n return {\n presets: [fayzUiPreset as Config],\n darkMode: 'class',\n content: [\n './index.html',\n './src/**/*.{ts,tsx}',\n // Published / sandbox: SDK installed in node_modules (packages ship src/).\n ...SDK_PACKAGES.map((p) => `./node_modules/@fayz-ai/${p}${GLOB}`),\n './node_modules/@fayz-ai/plugin-*/src/**/*.{ts,tsx}',\n // Local dev: SDK as a sibling checkout (matches nothing in production).\n ...SDK_PACKAGES.map((p) => `${sdk}/packages/${p}${GLOB}`),\n `${sdk}/plugins/*/src/**/*.{ts,tsx}`,\n ...(opts.content ?? []),\n ],\n plugins: [],\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/theme/preset.ts","../src/tailwind.ts"],"names":[],"mappings":"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","file":"tailwind.cjs","sourcesContent":["import type { Config } from 'tailwindcss'\n\n/**\n * Tailwind CSS preset for @fayz-ai/ui.\n * Include this in your tailwind.config.ts:\n *\n * import { fayzUiPreset } from '@fayz-ai/ui/theme'\n * export default { presets: [fayzUiPreset], ... }\n */\nconst fayzUiPreset: Partial<Config> = {\n darkMode: 'class',\n theme: {\n extend: {\n colors: {\n border: 'hsl(var(--border))',\n input: 'hsl(var(--input))',\n ring: 'hsl(var(--ring))',\n background: 'hsl(var(--background))',\n foreground: 'hsl(var(--foreground))',\n primary: {\n DEFAULT: 'hsl(var(--primary))',\n foreground: 'hsl(var(--primary-foreground))',\n },\n secondary: {\n DEFAULT: 'hsl(var(--secondary))',\n foreground: 'hsl(var(--secondary-foreground))',\n },\n destructive: {\n DEFAULT: 'hsl(var(--destructive))',\n foreground: 'hsl(var(--destructive-foreground))',\n },\n success: {\n DEFAULT: 'hsl(var(--success))',\n foreground: 'hsl(var(--success-foreground))',\n },\n warning: {\n DEFAULT: 'hsl(var(--warning))',\n foreground: 'hsl(var(--warning-foreground))',\n },\n info: {\n DEFAULT: 'hsl(var(--info))',\n foreground: 'hsl(var(--info-foreground))',\n },\n magic: {\n DEFAULT: 'hsl(var(--magic))',\n foreground: 'hsl(var(--magic-foreground))',\n },\n 'info-soft': {\n DEFAULT: 'hsl(var(--info-soft))',\n foreground: 'hsl(var(--info-soft-foreground))',\n },\n 'success-soft': {\n DEFAULT: 'hsl(var(--success-soft))',\n foreground: 'hsl(var(--success-soft-foreground))',\n },\n 'warning-soft': {\n DEFAULT: 'hsl(var(--warning-soft))',\n foreground: 'hsl(var(--warning-soft-foreground))',\n },\n 'destructive-soft': {\n DEFAULT: 'hsl(var(--destructive-soft))',\n foreground: 'hsl(var(--destructive-soft-foreground))',\n },\n 'magic-soft': {\n DEFAULT: 'hsl(var(--magic-soft))',\n foreground: 'hsl(var(--magic-soft-foreground))',\n },\n muted: {\n DEFAULT: 'hsl(var(--muted))',\n foreground: 'hsl(var(--muted-foreground))',\n },\n accent: {\n DEFAULT: 'hsl(var(--accent))',\n foreground: 'hsl(var(--accent-foreground))',\n },\n card: {\n DEFAULT: 'hsl(var(--card))',\n foreground: 'hsl(var(--card-foreground))',\n },\n popover: {\n DEFAULT: 'hsl(var(--popover))',\n foreground: 'hsl(var(--popover-foreground))',\n },\n // Layout surface tokens\n sidebar: {\n DEFAULT: 'hsl(var(--sidebar))',\n foreground: 'hsl(var(--sidebar-foreground))',\n border: 'hsl(var(--sidebar-border))',\n accent: 'hsl(var(--sidebar-accent))',\n 'accent-foreground': 'hsl(var(--sidebar-accent-foreground))',\n muted: 'hsl(var(--sidebar-muted))',\n },\n content: 'hsl(var(--content))',\n },\n borderRadius: {\n button: 'var(--button-radius)',\n card: 'var(--card-radius)',\n input: 'var(--input-radius)',\n modal: 'var(--modal-radius)',\n },\n fontFamily: {\n sans: ['var(--font-family)'],\n mono: ['var(--font-family-mono)'],\n },\n boxShadow: {\n sm: 'var(--shadow-sm)',\n md: 'var(--shadow-md)',\n lg: 'var(--shadow-lg)',\n button: 'var(--shadow-button)',\n 'button-primary': 'var(--shadow-button-primary)',\n 'button-inset': 'var(--shadow-button-inset)',\n },\n keyframes: {\n 'fade-in': {\n from: { opacity: '0' },\n to: { opacity: '1' },\n },\n 'fade-out': {\n from: { opacity: '1' },\n to: { opacity: '0' },\n },\n 'zoom-in': {\n from: { transform: 'scale(0.95)', opacity: '0' },\n to: { transform: 'scale(1)', opacity: '1' },\n },\n 'zoom-out': {\n from: { transform: 'scale(1)', opacity: '1' },\n to: { transform: 'scale(0.95)', opacity: '0' },\n },\n 'slide-in-from-top': {\n from: { transform: 'translateY(-4px)', opacity: '0' },\n to: { transform: 'translateY(0)', opacity: '1' },\n },\n 'slide-in-from-bottom': {\n from: { transform: 'translateY(4px)', opacity: '0' },\n to: { transform: 'translateY(0)', opacity: '1' },\n },\n 'slide-out-to-top': {\n from: { transform: 'translateY(0)', opacity: '1' },\n to: { transform: 'translateY(-4px)', opacity: '0' },\n },\n 'page-in': {\n from: { opacity: '0', transform: 'translateY(6px)' },\n to: { opacity: '1', transform: 'translateY(0)' },\n },\n 'slide-in-from-right': {\n from: { transform: 'translateX(100%)' },\n to: { transform: 'translateX(0)' },\n },\n 'slide-out-to-right': {\n from: { transform: 'translateX(0)' },\n to: { transform: 'translateX(100%)' },\n },\n 'fade-up': {\n from: { opacity: '0', transform: 'translateY(18px)' },\n to: { opacity: '1', transform: 'translateY(0)' },\n },\n kenburns: {\n from: { transform: 'scale(1)' },\n to: { transform: 'scale(1.07)' },\n },\n 'badge-pop': {\n '0%': { transform: 'scale(0.6)' },\n '60%': { transform: 'scale(1.25)' },\n '100%': { transform: 'scale(1)' },\n },\n 'draw-check': {\n from: { 'stroke-dashoffset': '48' },\n to: { 'stroke-dashoffset': '0' },\n },\n 'pop-in': {\n '0%': { transform: 'scale(0)', opacity: '0' },\n '70%': { transform: 'scale(1.15)', opacity: '1' },\n '100%': { transform: 'scale(1)', opacity: '1' },\n },\n 'confetti-fall': {\n '0%': { transform: 'translateY(-10px) rotate(0deg)', opacity: '1' },\n '100%': { transform: 'translateY(140px) rotate(540deg)', opacity: '0' },\n },\n 'pulse-soft': {\n '0%, 100%': { opacity: '1' },\n '50%': { opacity: '0.55' },\n },\n },\n animation: {\n 'fade-in': 'fade-in 200ms ease-out',\n 'fade-out': 'fade-out 150ms ease-in',\n 'zoom-in': 'zoom-in 200ms ease-out',\n 'zoom-out': 'zoom-out 150ms ease-in',\n 'slide-in-from-top': 'slide-in-from-top 200ms ease-out',\n 'slide-in-from-bottom': 'slide-in-from-bottom 200ms ease-out',\n 'slide-out-to-top': 'slide-out-to-top 150ms ease-in',\n 'slide-in-from-right': 'slide-in-from-right 250ms cubic-bezier(0.16, 1, 0.3, 1)',\n 'slide-out-to-right': 'slide-out-to-right 200ms ease-in',\n 'page-in': 'page-in 250ms ease-out',\n 'fade-up': 'fade-up 600ms cubic-bezier(0.16, 1, 0.3, 1) both',\n kenburns: 'kenburns 9s ease-out both',\n 'badge-pop': 'badge-pop 350ms cubic-bezier(0.34, 1.56, 0.64, 1)',\n 'draw-check': 'draw-check 600ms ease-out 250ms both',\n 'pop-in': 'pop-in 450ms cubic-bezier(0.34, 1.56, 0.64, 1) both',\n 'confetti-fall': 'confetti-fall 1100ms ease-in both',\n 'pulse-soft': 'pulse-soft 1.6s ease-in-out infinite',\n },\n },\n },\n}\n\nexport default fayzUiPreset\nexport { fayzUiPreset }\n","import type { Config } from 'tailwindcss'\nimport { fayzUiPreset } from './theme/preset'\n\nexport interface FayzTailwindOptions {\n /** Extra app-specific content globs, appended after the SDK globs. */\n content?: string[]\n /** SDK source location relative to the app root (default ../../fayz-sdk). */\n sdkDir?: string\n}\n\n// SDK packages that ship Tailwind class names the app renders.\nconst SDK_PACKAGES = ['ui', 'admin', 'saas', 'storefront', 'portal'] as const\nconst GLOB = '/src/**/*.{ts,tsx}'\n// Published packages ship dist only. Tailwind generates a utility solely when it\n// finds the literal class name in a scanned file, so scanning an installed\n// package means scanning its built JS. tsup does not minify, so the strings\n// survive verbatim (\"flex flex-col space-y-1 p-4\") and the extractor reads them\n// exactly as it reads TSX. Scanning src/ under node_modules matched nothing\n// once packages stopped publishing source, which emitted a stylesheet with no\n// utilities — the app rendered fully unstyled.\nconst DIST_GLOB = '/dist/**/*.js'\n\n/**\n * Shared Tailwind config for Fayz dogfood apps. Applies the Fayz UI preset and\n * scans the SDK shell/UI/plugin source for class names — from node_modules (the\n * Fayz editor sandbox / published) and a sibling `../../fayz-sdk` checkout (local\n * dev). Whichever exists is scanned; missing globs are ignored. Apps no longer\n * hand-maintain content globs or the relative-vs-npm preset import.\n *\n * import { fayzTailwind } from '@fayz-ai/ui/tailwind'\n * export default fayzTailwind()\n */\nexport function fayzTailwind(opts: FayzTailwindOptions = {}): Config {\n const sdk = opts.sdkDir ?? '../../fayz-sdk'\n return {\n presets: [fayzUiPreset as Config],\n darkMode: 'class',\n content: [\n './index.html',\n './src/**/*.{ts,tsx}',\n // Published / sandbox: SDK installed in node_modules, which ships dist only.\n ...SDK_PACKAGES.map((p) => `./node_modules/@fayz-ai/${p}${DIST_GLOB}`),\n './node_modules/@fayz-ai/plugin-*/dist/**/*.js',\n // Pre-0.10.1 installs still carry src/; a glob that matches nothing is\n // ignored, so keeping these costs nothing and keeps older pins styled.\n ...SDK_PACKAGES.map((p) => `./node_modules/@fayz-ai/${p}${GLOB}`),\n './node_modules/@fayz-ai/plugin-*/src/**/*.{ts,tsx}',\n // Local dev: SDK as a sibling checkout (matches nothing in production).\n ...SDK_PACKAGES.map((p) => `${sdk}/packages/${p}${GLOB}`),\n `${sdk}/plugins/*/src/**/*.{ts,tsx}`,\n ...(opts.content ?? []),\n ],\n plugins: [],\n }\n}\n"]}
|
package/dist/tailwind.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tailwind.d.ts","sourceRoot":"","sources":["../src/tailwind.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAGzC,MAAM,WAAW,mBAAmB;IAClC,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;
|
|
1
|
+
{"version":3,"file":"tailwind.d.ts","sourceRoot":"","sources":["../src/tailwind.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAGzC,MAAM,WAAW,mBAAmB;IAClC,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAcD;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,IAAI,GAAE,mBAAwB,GAAG,MAAM,CAsBnE"}
|
package/dist/tailwind.js
CHANGED
|
@@ -198,8 +198,9 @@ var fayzUiPreset = {
|
|
|
198
198
|
};
|
|
199
199
|
|
|
200
200
|
// src/tailwind.ts
|
|
201
|
-
var SDK_PACKAGES = ["ui", "saas", "storefront", "portal"];
|
|
201
|
+
var SDK_PACKAGES = ["ui", "admin", "saas", "storefront", "portal"];
|
|
202
202
|
var GLOB = "/src/**/*.{ts,tsx}";
|
|
203
|
+
var DIST_GLOB = "/dist/**/*.js";
|
|
203
204
|
function fayzTailwind(opts = {}) {
|
|
204
205
|
const sdk = opts.sdkDir ?? "../../fayz-sdk";
|
|
205
206
|
return {
|
|
@@ -208,7 +209,11 @@ function fayzTailwind(opts = {}) {
|
|
|
208
209
|
content: [
|
|
209
210
|
"./index.html",
|
|
210
211
|
"./src/**/*.{ts,tsx}",
|
|
211
|
-
// Published / sandbox: SDK installed in node_modules
|
|
212
|
+
// Published / sandbox: SDK installed in node_modules, which ships dist only.
|
|
213
|
+
...SDK_PACKAGES.map((p) => `./node_modules/@fayz-ai/${p}${DIST_GLOB}`),
|
|
214
|
+
"./node_modules/@fayz-ai/plugin-*/dist/**/*.js",
|
|
215
|
+
// Pre-0.10.1 installs still carry src/; a glob that matches nothing is
|
|
216
|
+
// ignored, so keeping these costs nothing and keeps older pins styled.
|
|
212
217
|
...SDK_PACKAGES.map((p) => `./node_modules/@fayz-ai/${p}${GLOB}`),
|
|
213
218
|
"./node_modules/@fayz-ai/plugin-*/src/**/*.{ts,tsx}",
|
|
214
219
|
// Local dev: SDK as a sibling checkout (matches nothing in production).
|
package/dist/tailwind.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/theme/preset.ts","../src/tailwind.ts"],"names":[],"mappings":"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","file":"tailwind.js","sourcesContent":["import type { Config } from 'tailwindcss'\n\n/**\n * Tailwind CSS preset for @fayz-ai/ui.\n * Include this in your tailwind.config.ts:\n *\n * import { fayzUiPreset } from '@fayz-ai/ui/theme'\n * export default { presets: [fayzUiPreset], ... }\n */\nconst fayzUiPreset: Partial<Config> = {\n darkMode: 'class',\n theme: {\n extend: {\n colors: {\n border: 'hsl(var(--border))',\n input: 'hsl(var(--input))',\n ring: 'hsl(var(--ring))',\n background: 'hsl(var(--background))',\n foreground: 'hsl(var(--foreground))',\n primary: {\n DEFAULT: 'hsl(var(--primary))',\n foreground: 'hsl(var(--primary-foreground))',\n },\n secondary: {\n DEFAULT: 'hsl(var(--secondary))',\n foreground: 'hsl(var(--secondary-foreground))',\n },\n destructive: {\n DEFAULT: 'hsl(var(--destructive))',\n foreground: 'hsl(var(--destructive-foreground))',\n },\n success: {\n DEFAULT: 'hsl(var(--success))',\n foreground: 'hsl(var(--success-foreground))',\n },\n warning: {\n DEFAULT: 'hsl(var(--warning))',\n foreground: 'hsl(var(--warning-foreground))',\n },\n info: {\n DEFAULT: 'hsl(var(--info))',\n foreground: 'hsl(var(--info-foreground))',\n },\n magic: {\n DEFAULT: 'hsl(var(--magic))',\n foreground: 'hsl(var(--magic-foreground))',\n },\n 'info-soft': {\n DEFAULT: 'hsl(var(--info-soft))',\n foreground: 'hsl(var(--info-soft-foreground))',\n },\n 'success-soft': {\n DEFAULT: 'hsl(var(--success-soft))',\n foreground: 'hsl(var(--success-soft-foreground))',\n },\n 'warning-soft': {\n DEFAULT: 'hsl(var(--warning-soft))',\n foreground: 'hsl(var(--warning-soft-foreground))',\n },\n 'destructive-soft': {\n DEFAULT: 'hsl(var(--destructive-soft))',\n foreground: 'hsl(var(--destructive-soft-foreground))',\n },\n 'magic-soft': {\n DEFAULT: 'hsl(var(--magic-soft))',\n foreground: 'hsl(var(--magic-soft-foreground))',\n },\n muted: {\n DEFAULT: 'hsl(var(--muted))',\n foreground: 'hsl(var(--muted-foreground))',\n },\n accent: {\n DEFAULT: 'hsl(var(--accent))',\n foreground: 'hsl(var(--accent-foreground))',\n },\n card: {\n DEFAULT: 'hsl(var(--card))',\n foreground: 'hsl(var(--card-foreground))',\n },\n popover: {\n DEFAULT: 'hsl(var(--popover))',\n foreground: 'hsl(var(--popover-foreground))',\n },\n // Layout surface tokens\n sidebar: {\n DEFAULT: 'hsl(var(--sidebar))',\n foreground: 'hsl(var(--sidebar-foreground))',\n border: 'hsl(var(--sidebar-border))',\n accent: 'hsl(var(--sidebar-accent))',\n 'accent-foreground': 'hsl(var(--sidebar-accent-foreground))',\n muted: 'hsl(var(--sidebar-muted))',\n },\n content: 'hsl(var(--content))',\n },\n borderRadius: {\n button: 'var(--button-radius)',\n card: 'var(--card-radius)',\n input: 'var(--input-radius)',\n modal: 'var(--modal-radius)',\n },\n fontFamily: {\n sans: ['var(--font-family)'],\n mono: ['var(--font-family-mono)'],\n },\n boxShadow: {\n sm: 'var(--shadow-sm)',\n md: 'var(--shadow-md)',\n lg: 'var(--shadow-lg)',\n button: 'var(--shadow-button)',\n 'button-primary': 'var(--shadow-button-primary)',\n 'button-inset': 'var(--shadow-button-inset)',\n },\n keyframes: {\n 'fade-in': {\n from: { opacity: '0' },\n to: { opacity: '1' },\n },\n 'fade-out': {\n from: { opacity: '1' },\n to: { opacity: '0' },\n },\n 'zoom-in': {\n from: { transform: 'scale(0.95)', opacity: '0' },\n to: { transform: 'scale(1)', opacity: '1' },\n },\n 'zoom-out': {\n from: { transform: 'scale(1)', opacity: '1' },\n to: { transform: 'scale(0.95)', opacity: '0' },\n },\n 'slide-in-from-top': {\n from: { transform: 'translateY(-4px)', opacity: '0' },\n to: { transform: 'translateY(0)', opacity: '1' },\n },\n 'slide-in-from-bottom': {\n from: { transform: 'translateY(4px)', opacity: '0' },\n to: { transform: 'translateY(0)', opacity: '1' },\n },\n 'slide-out-to-top': {\n from: { transform: 'translateY(0)', opacity: '1' },\n to: { transform: 'translateY(-4px)', opacity: '0' },\n },\n 'page-in': {\n from: { opacity: '0', transform: 'translateY(6px)' },\n to: { opacity: '1', transform: 'translateY(0)' },\n },\n 'slide-in-from-right': {\n from: { transform: 'translateX(100%)' },\n to: { transform: 'translateX(0)' },\n },\n 'slide-out-to-right': {\n from: { transform: 'translateX(0)' },\n to: { transform: 'translateX(100%)' },\n },\n 'fade-up': {\n from: { opacity: '0', transform: 'translateY(18px)' },\n to: { opacity: '1', transform: 'translateY(0)' },\n },\n kenburns: {\n from: { transform: 'scale(1)' },\n to: { transform: 'scale(1.07)' },\n },\n 'badge-pop': {\n '0%': { transform: 'scale(0.6)' },\n '60%': { transform: 'scale(1.25)' },\n '100%': { transform: 'scale(1)' },\n },\n 'draw-check': {\n from: { 'stroke-dashoffset': '48' },\n to: { 'stroke-dashoffset': '0' },\n },\n 'pop-in': {\n '0%': { transform: 'scale(0)', opacity: '0' },\n '70%': { transform: 'scale(1.15)', opacity: '1' },\n '100%': { transform: 'scale(1)', opacity: '1' },\n },\n 'confetti-fall': {\n '0%': { transform: 'translateY(-10px) rotate(0deg)', opacity: '1' },\n '100%': { transform: 'translateY(140px) rotate(540deg)', opacity: '0' },\n },\n 'pulse-soft': {\n '0%, 100%': { opacity: '1' },\n '50%': { opacity: '0.55' },\n },\n },\n animation: {\n 'fade-in': 'fade-in 200ms ease-out',\n 'fade-out': 'fade-out 150ms ease-in',\n 'zoom-in': 'zoom-in 200ms ease-out',\n 'zoom-out': 'zoom-out 150ms ease-in',\n 'slide-in-from-top': 'slide-in-from-top 200ms ease-out',\n 'slide-in-from-bottom': 'slide-in-from-bottom 200ms ease-out',\n 'slide-out-to-top': 'slide-out-to-top 150ms ease-in',\n 'slide-in-from-right': 'slide-in-from-right 250ms cubic-bezier(0.16, 1, 0.3, 1)',\n 'slide-out-to-right': 'slide-out-to-right 200ms ease-in',\n 'page-in': 'page-in 250ms ease-out',\n 'fade-up': 'fade-up 600ms cubic-bezier(0.16, 1, 0.3, 1) both',\n kenburns: 'kenburns 9s ease-out both',\n 'badge-pop': 'badge-pop 350ms cubic-bezier(0.34, 1.56, 0.64, 1)',\n 'draw-check': 'draw-check 600ms ease-out 250ms both',\n 'pop-in': 'pop-in 450ms cubic-bezier(0.34, 1.56, 0.64, 1) both',\n 'confetti-fall': 'confetti-fall 1100ms ease-in both',\n 'pulse-soft': 'pulse-soft 1.6s ease-in-out infinite',\n },\n },\n },\n}\n\nexport default fayzUiPreset\nexport { fayzUiPreset }\n","import type { Config } from 'tailwindcss'\nimport { fayzUiPreset } from './theme/preset'\n\nexport interface FayzTailwindOptions {\n /** Extra app-specific content globs, appended after the SDK globs. */\n content?: string[]\n /** SDK source location relative to the app root (default ../../fayz-sdk). */\n sdkDir?: string\n}\n\n// SDK packages whose source ships Tailwind class names the app renders.\nconst SDK_PACKAGES = ['ui', 'saas', 'storefront', 'portal'] as const\nconst GLOB = '/src/**/*.{ts,tsx}'\n\n/**\n * Shared Tailwind config for Fayz dogfood apps. Applies the Fayz UI preset and\n * scans the SDK shell/UI/plugin source for class names — from node_modules (the\n * Fayz editor sandbox / published) and a sibling `../../fayz-sdk` checkout (local\n * dev). Whichever exists is scanned; missing globs are ignored. Apps no longer\n * hand-maintain content globs or the relative-vs-npm preset import.\n *\n * import { fayzTailwind } from '@fayz-ai/ui/tailwind'\n * export default fayzTailwind()\n */\nexport function fayzTailwind(opts: FayzTailwindOptions = {}): Config {\n const sdk = opts.sdkDir ?? '../../fayz-sdk'\n return {\n presets: [fayzUiPreset as Config],\n darkMode: 'class',\n content: [\n './index.html',\n './src/**/*.{ts,tsx}',\n // Published / sandbox: SDK installed in node_modules (packages ship src/).\n ...SDK_PACKAGES.map((p) => `./node_modules/@fayz-ai/${p}${GLOB}`),\n './node_modules/@fayz-ai/plugin-*/src/**/*.{ts,tsx}',\n // Local dev: SDK as a sibling checkout (matches nothing in production).\n ...SDK_PACKAGES.map((p) => `${sdk}/packages/${p}${GLOB}`),\n `${sdk}/plugins/*/src/**/*.{ts,tsx}`,\n ...(opts.content ?? []),\n ],\n plugins: [],\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/theme/preset.ts","../src/tailwind.ts"],"names":[],"mappings":"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","file":"tailwind.js","sourcesContent":["import type { Config } from 'tailwindcss'\n\n/**\n * Tailwind CSS preset for @fayz-ai/ui.\n * Include this in your tailwind.config.ts:\n *\n * import { fayzUiPreset } from '@fayz-ai/ui/theme'\n * export default { presets: [fayzUiPreset], ... }\n */\nconst fayzUiPreset: Partial<Config> = {\n darkMode: 'class',\n theme: {\n extend: {\n colors: {\n border: 'hsl(var(--border))',\n input: 'hsl(var(--input))',\n ring: 'hsl(var(--ring))',\n background: 'hsl(var(--background))',\n foreground: 'hsl(var(--foreground))',\n primary: {\n DEFAULT: 'hsl(var(--primary))',\n foreground: 'hsl(var(--primary-foreground))',\n },\n secondary: {\n DEFAULT: 'hsl(var(--secondary))',\n foreground: 'hsl(var(--secondary-foreground))',\n },\n destructive: {\n DEFAULT: 'hsl(var(--destructive))',\n foreground: 'hsl(var(--destructive-foreground))',\n },\n success: {\n DEFAULT: 'hsl(var(--success))',\n foreground: 'hsl(var(--success-foreground))',\n },\n warning: {\n DEFAULT: 'hsl(var(--warning))',\n foreground: 'hsl(var(--warning-foreground))',\n },\n info: {\n DEFAULT: 'hsl(var(--info))',\n foreground: 'hsl(var(--info-foreground))',\n },\n magic: {\n DEFAULT: 'hsl(var(--magic))',\n foreground: 'hsl(var(--magic-foreground))',\n },\n 'info-soft': {\n DEFAULT: 'hsl(var(--info-soft))',\n foreground: 'hsl(var(--info-soft-foreground))',\n },\n 'success-soft': {\n DEFAULT: 'hsl(var(--success-soft))',\n foreground: 'hsl(var(--success-soft-foreground))',\n },\n 'warning-soft': {\n DEFAULT: 'hsl(var(--warning-soft))',\n foreground: 'hsl(var(--warning-soft-foreground))',\n },\n 'destructive-soft': {\n DEFAULT: 'hsl(var(--destructive-soft))',\n foreground: 'hsl(var(--destructive-soft-foreground))',\n },\n 'magic-soft': {\n DEFAULT: 'hsl(var(--magic-soft))',\n foreground: 'hsl(var(--magic-soft-foreground))',\n },\n muted: {\n DEFAULT: 'hsl(var(--muted))',\n foreground: 'hsl(var(--muted-foreground))',\n },\n accent: {\n DEFAULT: 'hsl(var(--accent))',\n foreground: 'hsl(var(--accent-foreground))',\n },\n card: {\n DEFAULT: 'hsl(var(--card))',\n foreground: 'hsl(var(--card-foreground))',\n },\n popover: {\n DEFAULT: 'hsl(var(--popover))',\n foreground: 'hsl(var(--popover-foreground))',\n },\n // Layout surface tokens\n sidebar: {\n DEFAULT: 'hsl(var(--sidebar))',\n foreground: 'hsl(var(--sidebar-foreground))',\n border: 'hsl(var(--sidebar-border))',\n accent: 'hsl(var(--sidebar-accent))',\n 'accent-foreground': 'hsl(var(--sidebar-accent-foreground))',\n muted: 'hsl(var(--sidebar-muted))',\n },\n content: 'hsl(var(--content))',\n },\n borderRadius: {\n button: 'var(--button-radius)',\n card: 'var(--card-radius)',\n input: 'var(--input-radius)',\n modal: 'var(--modal-radius)',\n },\n fontFamily: {\n sans: ['var(--font-family)'],\n mono: ['var(--font-family-mono)'],\n },\n boxShadow: {\n sm: 'var(--shadow-sm)',\n md: 'var(--shadow-md)',\n lg: 'var(--shadow-lg)',\n button: 'var(--shadow-button)',\n 'button-primary': 'var(--shadow-button-primary)',\n 'button-inset': 'var(--shadow-button-inset)',\n },\n keyframes: {\n 'fade-in': {\n from: { opacity: '0' },\n to: { opacity: '1' },\n },\n 'fade-out': {\n from: { opacity: '1' },\n to: { opacity: '0' },\n },\n 'zoom-in': {\n from: { transform: 'scale(0.95)', opacity: '0' },\n to: { transform: 'scale(1)', opacity: '1' },\n },\n 'zoom-out': {\n from: { transform: 'scale(1)', opacity: '1' },\n to: { transform: 'scale(0.95)', opacity: '0' },\n },\n 'slide-in-from-top': {\n from: { transform: 'translateY(-4px)', opacity: '0' },\n to: { transform: 'translateY(0)', opacity: '1' },\n },\n 'slide-in-from-bottom': {\n from: { transform: 'translateY(4px)', opacity: '0' },\n to: { transform: 'translateY(0)', opacity: '1' },\n },\n 'slide-out-to-top': {\n from: { transform: 'translateY(0)', opacity: '1' },\n to: { transform: 'translateY(-4px)', opacity: '0' },\n },\n 'page-in': {\n from: { opacity: '0', transform: 'translateY(6px)' },\n to: { opacity: '1', transform: 'translateY(0)' },\n },\n 'slide-in-from-right': {\n from: { transform: 'translateX(100%)' },\n to: { transform: 'translateX(0)' },\n },\n 'slide-out-to-right': {\n from: { transform: 'translateX(0)' },\n to: { transform: 'translateX(100%)' },\n },\n 'fade-up': {\n from: { opacity: '0', transform: 'translateY(18px)' },\n to: { opacity: '1', transform: 'translateY(0)' },\n },\n kenburns: {\n from: { transform: 'scale(1)' },\n to: { transform: 'scale(1.07)' },\n },\n 'badge-pop': {\n '0%': { transform: 'scale(0.6)' },\n '60%': { transform: 'scale(1.25)' },\n '100%': { transform: 'scale(1)' },\n },\n 'draw-check': {\n from: { 'stroke-dashoffset': '48' },\n to: { 'stroke-dashoffset': '0' },\n },\n 'pop-in': {\n '0%': { transform: 'scale(0)', opacity: '0' },\n '70%': { transform: 'scale(1.15)', opacity: '1' },\n '100%': { transform: 'scale(1)', opacity: '1' },\n },\n 'confetti-fall': {\n '0%': { transform: 'translateY(-10px) rotate(0deg)', opacity: '1' },\n '100%': { transform: 'translateY(140px) rotate(540deg)', opacity: '0' },\n },\n 'pulse-soft': {\n '0%, 100%': { opacity: '1' },\n '50%': { opacity: '0.55' },\n },\n },\n animation: {\n 'fade-in': 'fade-in 200ms ease-out',\n 'fade-out': 'fade-out 150ms ease-in',\n 'zoom-in': 'zoom-in 200ms ease-out',\n 'zoom-out': 'zoom-out 150ms ease-in',\n 'slide-in-from-top': 'slide-in-from-top 200ms ease-out',\n 'slide-in-from-bottom': 'slide-in-from-bottom 200ms ease-out',\n 'slide-out-to-top': 'slide-out-to-top 150ms ease-in',\n 'slide-in-from-right': 'slide-in-from-right 250ms cubic-bezier(0.16, 1, 0.3, 1)',\n 'slide-out-to-right': 'slide-out-to-right 200ms ease-in',\n 'page-in': 'page-in 250ms ease-out',\n 'fade-up': 'fade-up 600ms cubic-bezier(0.16, 1, 0.3, 1) both',\n kenburns: 'kenburns 9s ease-out both',\n 'badge-pop': 'badge-pop 350ms cubic-bezier(0.34, 1.56, 0.64, 1)',\n 'draw-check': 'draw-check 600ms ease-out 250ms both',\n 'pop-in': 'pop-in 450ms cubic-bezier(0.34, 1.56, 0.64, 1) both',\n 'confetti-fall': 'confetti-fall 1100ms ease-in both',\n 'pulse-soft': 'pulse-soft 1.6s ease-in-out infinite',\n },\n },\n },\n}\n\nexport default fayzUiPreset\nexport { fayzUiPreset }\n","import type { Config } from 'tailwindcss'\nimport { fayzUiPreset } from './theme/preset'\n\nexport interface FayzTailwindOptions {\n /** Extra app-specific content globs, appended after the SDK globs. */\n content?: string[]\n /** SDK source location relative to the app root (default ../../fayz-sdk). */\n sdkDir?: string\n}\n\n// SDK packages that ship Tailwind class names the app renders.\nconst SDK_PACKAGES = ['ui', 'admin', 'saas', 'storefront', 'portal'] as const\nconst GLOB = '/src/**/*.{ts,tsx}'\n// Published packages ship dist only. Tailwind generates a utility solely when it\n// finds the literal class name in a scanned file, so scanning an installed\n// package means scanning its built JS. tsup does not minify, so the strings\n// survive verbatim (\"flex flex-col space-y-1 p-4\") and the extractor reads them\n// exactly as it reads TSX. Scanning src/ under node_modules matched nothing\n// once packages stopped publishing source, which emitted a stylesheet with no\n// utilities — the app rendered fully unstyled.\nconst DIST_GLOB = '/dist/**/*.js'\n\n/**\n * Shared Tailwind config for Fayz dogfood apps. Applies the Fayz UI preset and\n * scans the SDK shell/UI/plugin source for class names — from node_modules (the\n * Fayz editor sandbox / published) and a sibling `../../fayz-sdk` checkout (local\n * dev). Whichever exists is scanned; missing globs are ignored. Apps no longer\n * hand-maintain content globs or the relative-vs-npm preset import.\n *\n * import { fayzTailwind } from '@fayz-ai/ui/tailwind'\n * export default fayzTailwind()\n */\nexport function fayzTailwind(opts: FayzTailwindOptions = {}): Config {\n const sdk = opts.sdkDir ?? '../../fayz-sdk'\n return {\n presets: [fayzUiPreset as Config],\n darkMode: 'class',\n content: [\n './index.html',\n './src/**/*.{ts,tsx}',\n // Published / sandbox: SDK installed in node_modules, which ships dist only.\n ...SDK_PACKAGES.map((p) => `./node_modules/@fayz-ai/${p}${DIST_GLOB}`),\n './node_modules/@fayz-ai/plugin-*/dist/**/*.js',\n // Pre-0.10.1 installs still carry src/; a glob that matches nothing is\n // ignored, so keeping these costs nothing and keeps older pins styled.\n ...SDK_PACKAGES.map((p) => `./node_modules/@fayz-ai/${p}${GLOB}`),\n './node_modules/@fayz-ai/plugin-*/src/**/*.{ts,tsx}',\n // Local dev: SDK as a sibling checkout (matches nothing in production).\n ...SDK_PACKAGES.map((p) => `${sdk}/packages/${p}${GLOB}`),\n `${sdk}/plugins/*/src/**/*.{ts,tsx}`,\n ...(opts.content ?? []),\n ],\n plugins: [],\n }\n}\n"]}
|