@televet/kibble-ui 5.3.0 → 5.3.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.
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
- "use strict";const s=require("node:child_process"),n=require("node:fs"),c=require("node:path"),a=require("node:url");var o=typeof document<"u"?document.currentScript:null;const l=()=>{const e=c.resolve(c.dirname(a.fileURLToPath(typeof document>"u"?require("url").pathToFileURL(__filename).href:o&&o.tagName.toUpperCase()==="SCRIPT"&&o.src||new URL("cjs/cli/generate-theme-types.cjs",document.baseURI).href)),"../../../package.json"),t=JSON.parse(n.readFileSync(e,"utf8"));return{cli:t.devDependencies["@chakra-ui/cli"],react:t.dependencies["@chakra-ui/react"]}},u=()=>{const e=c.resolve(process.cwd(),".kibble-temp"),t=c.resolve(e,"theme.config.ts");return n.existsSync(e)||n.mkdirSync(e,{recursive:!0}),n.writeFileSync(t,`
2
+ "use strict";const a=require("node:child_process"),n=require("node:fs"),l=require("node:module"),o=require("node:path");var c=typeof document<"u"?document.currentScript:null;const u=()=>{const e=l.createRequire(typeof document>"u"?require("url").pathToFileURL(__filename).href:c&&c.tagName.toUpperCase()==="SCRIPT"&&c.src||new URL("cjs/cli/generate-theme-types.cjs",document.baseURI).href);try{return e.resolve("@chakra-ui/cli/package.json")}catch(r){const s=r instanceof Error?r.message:String(r);throw new Error(`Could not resolve @chakra-ui/cli, which @televet/kibble-ui depends on. Reinstall @televet/kibble-ui. (${s})`)}},h=()=>{const e=u(),{bin:r}=JSON.parse(n.readFileSync(e,"utf8"));if(!r?.chakra)throw new Error('@chakra-ui/cli does not declare a "chakra" bin entry.');return o.resolve(o.dirname(e),r.chakra)},m=()=>{const e=o.resolve(process.cwd(),".kibble-temp"),r=o.resolve(e,"theme.config.ts");return n.existsSync(e)||n.mkdirSync(e,{recursive:!0}),n.writeFileSync(r,`
3
3
  import { system } from "@televet/kibble-ui/theme";
4
4
  export default system;
5
- `),t},i=e=>{const t=c.dirname(e);n.rmSync(t,{recursive:!0,force:!0})};let r;try{console.log("🐕 Kibble UI: Creating temporary theme configuration..."),r=u(),console.log("🐕 Kibble UI: Generating theme types...");const{cli:e,react:t}=l();s.execSync(`npx --yes -p @chakra-ui/cli@${e} -p @chakra-ui/react@${t} chakra typegen ${r}`,{stdio:"inherit"}),console.log("🐕 Kibble UI: Cleaning up..."),i(r),console.log("✨ Kibble UI: Theme types generated successfully!")}catch(e){if(console.error("❌ Kibble UI: Failed to generate theme types."),console.error(e),r)try{i(r)}catch{}process.exit(1)}
5
+ `),r},i=e=>{const r=o.dirname(e);n.rmSync(r,{recursive:!0,force:!0})};let t;try{console.log("🐕 Kibble UI: Creating temporary theme configuration..."),t=m(),console.log("🐕 Kibble UI: Generating theme types..."),a.execFileSync(process.execPath,[h(),"typegen",t],{stdio:"inherit"}),console.log("🐕 Kibble UI: Cleaning up..."),i(t),console.log("✨ Kibble UI: Theme types generated successfully!")}catch(e){if(console.error("❌ Kibble UI: Failed to generate theme types."),console.error(e),t)try{i(t)}catch{}process.exit(1)}
6
6
  //# sourceMappingURL=generate-theme-types.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate-theme-types.cjs","sources":["../../../src/cli/generate-theme-types.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport { execSync } from 'node:child_process';\nimport { existsSync, mkdirSync, writeFileSync, rmSync, readFileSync } from 'node:fs';\nimport { dirname, resolve } from 'node:path';\nimport { fileURLToPath } from 'node:url';\n\n// Read kibble-ui's own pinned @chakra-ui/cli and @chakra-ui/react versions so the\n// npx-installed CLI always matches what this package was built and tested against,\n// instead of drifting out of sync with a second hardcoded copy of the versions.\nconst getChakraVersions = (): { cli: string; react: string } => {\n const packageJsonPath = resolve(dirname(fileURLToPath(import.meta.url)), '../../../package.json');\n const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf8'));\n return {\n cli: packageJson.devDependencies['@chakra-ui/cli'],\n react: packageJson.dependencies['@chakra-ui/react'],\n };\n};\n\n// Create a temporary theme config file that imports from kibble-ui\nconst createTempThemeConfig = (): string => {\n const tempDir = resolve(process.cwd(), '.kibble-temp');\n const tempFile = resolve(tempDir, 'theme.config.ts');\n\n if (!existsSync(tempDir)) {\n mkdirSync(tempDir, { recursive: true });\n }\n\n const configContent = `\nimport { system } from \"@televet/kibble-ui/theme\";\nexport default system;\n`;\n\n writeFileSync(tempFile, configContent);\n return tempFile;\n};\n\n// Clean up temporary files\nconst cleanup = (tempFile: string): void => {\n const tempDir = dirname(tempFile);\n rmSync(tempDir, { recursive: true, force: true });\n};\n\nlet tempFile: string | undefined;\n\ntry {\n console.log('🐕 Kibble UI: Creating temporary theme configuration...');\n tempFile = createTempThemeConfig();\n\n console.log('🐕 Kibble UI: Generating theme types...');\n // @chakra-ui/cli only lists @chakra-ui/react as a peerDependency, and npx's isolated\n // install of a bare `npx @chakra-ui/cli` doesn't reliably pull it in (varies by npm\n // version). Installing both explicitly into the same npx-isolated tree fixes resolution.\n const { cli: chakraCliVersion, react: chakraReactVersion } = getChakraVersions();\n execSync(\n `npx --yes -p @chakra-ui/cli@${chakraCliVersion} -p @chakra-ui/react@${chakraReactVersion} chakra typegen ${tempFile}`,\n { stdio: 'inherit' },\n );\n\n console.log('🐕 Kibble UI: Cleaning up...');\n cleanup(tempFile);\n\n console.log('✨ Kibble UI: Theme types generated successfully!');\n} catch (error) {\n console.error('❌ Kibble UI: Failed to generate theme types.');\n console.error(error);\n\n if (tempFile) {\n try {\n cleanup(tempFile);\n } catch {\n // Best-effort cleanup — the error above is the one that matters.\n }\n }\n\n process.exit(1);\n}\n"],"names":["getChakraVersions","packageJsonPath","resolve","dirname","fileURLToPath","_documentCurrentScript","packageJson","readFileSync","createTempThemeConfig","tempDir","tempFile","existsSync","mkdirSync","writeFileSync","cleanup","rmSync","chakraCliVersion","chakraReactVersion","execSync","error"],"mappings":";2KAUA,MAAMA,EAAoB,IAAsC,CACxD,MAAAC,EAAkBC,EAAAA,QAAQC,EAAQ,QAAAC,EAAA,cAA6B,OAAA,SAAA,IAAA,QAAA,KAAA,EAAA,cAAA,UAAA,EAAA,KAAAC,GAAAA,EAAA,QAAA,YAAA,IAAA,UAAAA,EAAA,KAAA,IAAA,IAAA,mCAAA,SAAA,OAAA,EAAA,IAAA,CAAC,EAAG,uBAAuB,EAC1FC,EAAc,KAAK,MAAMC,EAAAA,aAAaN,EAAiB,MAAM,CAAC,EAC7D,MAAA,CACL,IAAKK,EAAY,gBAAgB,gBAAgB,EACjD,MAAOA,EAAY,aAAa,kBAAkB,CACpD,CACF,EAGME,EAAwB,IAAc,CAC1C,MAAMC,EAAUP,EAAA,QAAQ,QAAQ,IAAA,EAAO,cAAc,EAC/CQ,EAAWR,EAAAA,QAAQO,EAAS,iBAAiB,EAE/C,OAACE,EAAAA,WAAWF,CAAO,GACrBG,EAAAA,UAAUH,EAAS,CAAE,UAAW,EAAA,CAAM,EAQxCI,EAAA,cAAcH,EALQ;AAAA;AAAA;AAAA,CAKe,EAC9BA,CACT,EAGMI,EAAWJ,GAA2B,CACpC,MAAAD,EAAUN,UAAQO,CAAQ,EAChCK,EAAA,OAAON,EAAS,CAAE,UAAW,GAAM,MAAO,GAAM,CAClD,EAEA,IAAIC,EAEJ,GAAI,CACF,QAAQ,IAAI,yDAAyD,EACrEA,EAAWF,EAAsB,EAEjC,QAAQ,IAAI,yCAAyC,EAIrD,KAAM,CAAE,IAAKQ,EAAkB,MAAOC,CAAA,EAAuBjB,EAAkB,EAC/EkB,EAAA,SACE,+BAA+BF,CAAgB,wBAAwBC,CAAkB,mBAAmBP,CAAQ,GACpH,CAAE,MAAO,SAAU,CACrB,EAEA,QAAQ,IAAI,8BAA8B,EAC1CI,EAAQJ,CAAQ,EAEhB,QAAQ,IAAI,kDAAkD,CAChE,OAASS,EAAO,CAId,GAHA,QAAQ,MAAM,8CAA8C,EAC5D,QAAQ,MAAMA,CAAK,EAEfT,EACE,GAAA,CACFI,EAAQJ,CAAQ,CAAA,MACV,CAAA,CAKV,QAAQ,KAAK,CAAC,CAChB"}
1
+ {"version":3,"file":"generate-theme-types.cjs","sources":["../../../src/cli/generate-theme-types.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport { execFileSync } from 'node:child_process';\nimport { existsSync, mkdirSync, writeFileSync, rmSync, readFileSync } from 'node:fs';\nimport { createRequire } from 'node:module';\nimport { dirname, resolve } from 'node:path';\n\nconst resolveChakraPackageJsonPath = (): string => {\n const require = createRequire(import.meta.url);\n try {\n return require.resolve('@chakra-ui/cli/package.json');\n } catch (cause) {\n // src/cli is also compiled by tsconfig.app.json at lib ES2020, which has no Error cause option.\n const reason = cause instanceof Error ? cause.message : String(cause);\n throw new Error(\n `Could not resolve @chakra-ui/cli, which @televet/kibble-ui depends on. Reinstall @televet/kibble-ui. (${reason})`,\n );\n }\n};\n\n// Resolve the installed @chakra-ui/cli binary so typegen runs offline, with no npx install step.\nconst resolveChakraBin = (): string => {\n const packageJsonPath = resolveChakraPackageJsonPath();\n const { bin } = JSON.parse(readFileSync(packageJsonPath, 'utf8')) as { bin?: Record<string, string> };\n if (!bin?.chakra) {\n throw new Error('@chakra-ui/cli does not declare a \"chakra\" bin entry.');\n }\n return resolve(dirname(packageJsonPath), bin.chakra);\n};\n\n// Create a temporary theme config file that imports from kibble-ui\nconst createTempThemeConfig = (): string => {\n const tempDir = resolve(process.cwd(), '.kibble-temp');\n const tempFile = resolve(tempDir, 'theme.config.ts');\n\n if (!existsSync(tempDir)) {\n mkdirSync(tempDir, { recursive: true });\n }\n\n const configContent = `\nimport { system } from \"@televet/kibble-ui/theme\";\nexport default system;\n`;\n\n writeFileSync(tempFile, configContent);\n return tempFile;\n};\n\n// Clean up temporary files\nconst cleanup = (tempFile: string): void => {\n const tempDir = dirname(tempFile);\n rmSync(tempDir, { recursive: true, force: true });\n};\n\nlet tempFile: string | undefined;\n\ntry {\n console.log('🐕 Kibble UI: Creating temporary theme configuration...');\n tempFile = createTempThemeConfig();\n\n console.log('🐕 Kibble UI: Generating theme types...');\n execFileSync(process.execPath, [resolveChakraBin(), 'typegen', tempFile], { stdio: 'inherit' });\n\n console.log('🐕 Kibble UI: Cleaning up...');\n cleanup(tempFile);\n\n console.log('✨ Kibble UI: Theme types generated successfully!');\n} catch (error) {\n console.error('❌ Kibble UI: Failed to generate theme types.');\n console.error(error);\n\n if (tempFile) {\n try {\n cleanup(tempFile);\n } catch {\n // Best-effort cleanup — the error above is the one that matters.\n }\n }\n\n process.exit(1);\n}\n"],"names":["resolveChakraPackageJsonPath","require","createRequire","cause","reason","resolveChakraBin","packageJsonPath","bin","readFileSync","resolve","dirname","createTempThemeConfig","tempDir","tempFile","existsSync","mkdirSync","writeFileSync","cleanup","rmSync","execFileSync","error"],"mappings":";8KAOA,MAAMA,EAA+B,IAAc,CAC3C,MAAAC,EAAUC,EAAc,+LAAe,EACzC,GAAA,CACK,OAAAD,EAAQ,QAAQ,6BAA6B,QAC7CE,EAAO,CAEd,MAAMC,EAASD,aAAiB,MAAQA,EAAM,QAAU,OAAOA,CAAK,EACpE,MAAM,IAAI,MACR,yGAAyGC,CAAM,GACjH,CAAA,CAEJ,EAGMC,EAAmB,IAAc,CACrC,MAAMC,EAAkBN,EAA6B,EAC/C,CAAE,IAAAO,GAAQ,KAAK,MAAMC,eAAaF,EAAiB,MAAM,CAAC,EAC5D,GAAA,CAACC,GAAK,OACF,MAAA,IAAI,MAAM,uDAAuD,EAEzE,OAAOE,EAAQ,QAAAC,EAAA,QAAQJ,CAAe,EAAGC,EAAI,MAAM,CACrD,EAGMI,EAAwB,IAAc,CAC1C,MAAMC,EAAUH,EAAA,QAAQ,QAAQ,IAAA,EAAO,cAAc,EAC/CI,EAAWJ,EAAAA,QAAQG,EAAS,iBAAiB,EAE/C,OAACE,EAAAA,WAAWF,CAAO,GACrBG,EAAAA,UAAUH,EAAS,CAAE,UAAW,EAAA,CAAM,EAQxCI,EAAA,cAAcH,EALQ;AAAA;AAAA;AAAA,CAKe,EAC9BA,CACT,EAGMI,EAAWJ,GAA2B,CACpC,MAAAD,EAAUF,UAAQG,CAAQ,EAChCK,EAAA,OAAON,EAAS,CAAE,UAAW,GAAM,MAAO,GAAM,CAClD,EAEA,IAAIC,EAEJ,GAAI,CACF,QAAQ,IAAI,yDAAyD,EACrEA,EAAWF,EAAsB,EAEjC,QAAQ,IAAI,yCAAyC,EACxCQ,EAAAA,aAAA,QAAQ,SAAU,CAACd,EAAiB,EAAG,UAAWQ,CAAQ,EAAG,CAAE,MAAO,UAAW,EAE9F,QAAQ,IAAI,8BAA8B,EAC1CI,EAAQJ,CAAQ,EAEhB,QAAQ,IAAI,kDAAkD,CAChE,OAASO,EAAO,CAId,GAHA,QAAQ,MAAM,8CAA8C,EAC5D,QAAQ,MAAMA,CAAK,EAEfP,EACE,GAAA,CACFI,EAAQJ,CAAQ,CAAA,MACV,CAAA,CAKV,QAAQ,KAAK,CAAC,CAChB"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "kibbleVersion": "5.3.0",
4
- "generatedAt": "2026-10-21T15:51:40.776Z",
3
+ "kibbleVersion": "5.3.1",
4
+ "generatedAt": "2026-11-03T21:08:02.861Z",
5
5
  "storybookBase": "https://televet.github.io/kibble-ui",
6
6
  "propsScope": "Props declared in kibble-ui. Inherited Chakra style and DOM props are summarised in extendsType.",
7
7
  "components": [
@@ -1,36 +1,40 @@
1
1
  #!/usr/bin/env node
2
- import { execSync as i } from "node:child_process";
3
- import { existsSync as s, mkdirSync as a, writeFileSync as l, readFileSync as m, rmSync as p } from "node:fs";
4
- import { resolve as o, dirname as n } from "node:path";
5
- import { fileURLToPath as u } from "node:url";
6
- const h = () => {
7
- const e = o(n(u(import.meta.url)), "../../../package.json"), t = JSON.parse(m(e, "utf8"));
8
- return {
9
- cli: t.devDependencies["@chakra-ui/cli"],
10
- react: t.dependencies["@chakra-ui/react"]
11
- };
2
+ import { execFileSync as s } from "node:child_process";
3
+ import { existsSync as a, mkdirSync as l, writeFileSync as m, readFileSync as p, rmSync as u } from "node:fs";
4
+ import { createRequire as h } from "node:module";
5
+ import { resolve as o, dirname as i } from "node:path";
6
+ const b = () => {
7
+ const e = h(import.meta.url);
8
+ try {
9
+ return e.resolve("@chakra-ui/cli/package.json");
10
+ } catch (r) {
11
+ const n = r instanceof Error ? r.message : String(r);
12
+ throw new Error(
13
+ `Could not resolve @chakra-ui/cli, which @televet/kibble-ui depends on. Reinstall @televet/kibble-ui. (${n})`
14
+ );
15
+ }
12
16
  }, g = () => {
13
- const e = o(process.cwd(), ".kibble-temp"), t = o(e, "theme.config.ts");
14
- return s(e) || a(e, { recursive: !0 }), l(t, `
17
+ const e = b(), { bin: r } = JSON.parse(p(e, "utf8"));
18
+ if (!r?.chakra)
19
+ throw new Error('@chakra-ui/cli does not declare a "chakra" bin entry.');
20
+ return o(i(e), r.chakra);
21
+ }, f = () => {
22
+ const e = o(process.cwd(), ".kibble-temp"), r = o(e, "theme.config.ts");
23
+ return a(e) || l(e, { recursive: !0 }), m(r, `
15
24
  import { system } from "@televet/kibble-ui/theme";
16
25
  export default system;
17
- `), t;
26
+ `), r;
18
27
  }, c = (e) => {
19
- const t = n(e);
20
- p(t, { recursive: !0, force: !0 });
28
+ const r = i(e);
29
+ u(r, { recursive: !0, force: !0 });
21
30
  };
22
- let r;
31
+ let t;
23
32
  try {
24
- console.log("🐕 Kibble UI: Creating temporary theme configuration..."), r = g(), console.log("🐕 Kibble UI: Generating theme types...");
25
- const { cli: e, react: t } = h();
26
- i(
27
- `npx --yes -p @chakra-ui/cli@${e} -p @chakra-ui/react@${t} chakra typegen ${r}`,
28
- { stdio: "inherit" }
29
- ), console.log("🐕 Kibble UI: Cleaning up..."), c(r), console.log("✨ Kibble UI: Theme types generated successfully!");
33
+ console.log("🐕 Kibble UI: Creating temporary theme configuration..."), t = f(), console.log("🐕 Kibble UI: Generating theme types..."), s(process.execPath, [g(), "typegen", t], { stdio: "inherit" }), console.log("🐕 Kibble UI: Cleaning up..."), c(t), console.log("✨ Kibble UI: Theme types generated successfully!");
30
34
  } catch (e) {
31
- if (console.error("❌ Kibble UI: Failed to generate theme types."), console.error(e), r)
35
+ if (console.error("❌ Kibble UI: Failed to generate theme types."), console.error(e), t)
32
36
  try {
33
- c(r);
37
+ c(t);
34
38
  } catch {
35
39
  }
36
40
  process.exit(1);
@@ -1 +1 @@
1
- {"version":3,"file":"generate-theme-types.js","sources":["../../../src/cli/generate-theme-types.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport { execSync } from 'node:child_process';\nimport { existsSync, mkdirSync, writeFileSync, rmSync, readFileSync } from 'node:fs';\nimport { dirname, resolve } from 'node:path';\nimport { fileURLToPath } from 'node:url';\n\n// Read kibble-ui's own pinned @chakra-ui/cli and @chakra-ui/react versions so the\n// npx-installed CLI always matches what this package was built and tested against,\n// instead of drifting out of sync with a second hardcoded copy of the versions.\nconst getChakraVersions = (): { cli: string; react: string } => {\n const packageJsonPath = resolve(dirname(fileURLToPath(import.meta.url)), '../../../package.json');\n const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf8'));\n return {\n cli: packageJson.devDependencies['@chakra-ui/cli'],\n react: packageJson.dependencies['@chakra-ui/react'],\n };\n};\n\n// Create a temporary theme config file that imports from kibble-ui\nconst createTempThemeConfig = (): string => {\n const tempDir = resolve(process.cwd(), '.kibble-temp');\n const tempFile = resolve(tempDir, 'theme.config.ts');\n\n if (!existsSync(tempDir)) {\n mkdirSync(tempDir, { recursive: true });\n }\n\n const configContent = `\nimport { system } from \"@televet/kibble-ui/theme\";\nexport default system;\n`;\n\n writeFileSync(tempFile, configContent);\n return tempFile;\n};\n\n// Clean up temporary files\nconst cleanup = (tempFile: string): void => {\n const tempDir = dirname(tempFile);\n rmSync(tempDir, { recursive: true, force: true });\n};\n\nlet tempFile: string | undefined;\n\ntry {\n console.log('🐕 Kibble UI: Creating temporary theme configuration...');\n tempFile = createTempThemeConfig();\n\n console.log('🐕 Kibble UI: Generating theme types...');\n // @chakra-ui/cli only lists @chakra-ui/react as a peerDependency, and npx's isolated\n // install of a bare `npx @chakra-ui/cli` doesn't reliably pull it in (varies by npm\n // version). Installing both explicitly into the same npx-isolated tree fixes resolution.\n const { cli: chakraCliVersion, react: chakraReactVersion } = getChakraVersions();\n execSync(\n `npx --yes -p @chakra-ui/cli@${chakraCliVersion} -p @chakra-ui/react@${chakraReactVersion} chakra typegen ${tempFile}`,\n { stdio: 'inherit' },\n );\n\n console.log('🐕 Kibble UI: Cleaning up...');\n cleanup(tempFile);\n\n console.log('✨ Kibble UI: Theme types generated successfully!');\n} catch (error) {\n console.error('❌ Kibble UI: Failed to generate theme types.');\n console.error(error);\n\n if (tempFile) {\n try {\n cleanup(tempFile);\n } catch {\n // Best-effort cleanup — the error above is the one that matters.\n }\n }\n\n process.exit(1);\n}\n"],"names":["getChakraVersions","packageJsonPath","resolve","dirname","fileURLToPath","packageJson","readFileSync","createTempThemeConfig","tempDir","tempFile","existsSync","mkdirSync","writeFileSync","cleanup","rmSync","chakraCliVersion","chakraReactVersion","execSync","error"],"mappings":";;;;;AAUA,MAAMA,IAAoB,MAAsC;AACxD,QAAAC,IAAkBC,EAAQC,EAAQC,EAAc,YAAY,GAAG,CAAC,GAAG,uBAAuB,GAC1FC,IAAc,KAAK,MAAMC,EAAaL,GAAiB,MAAM,CAAC;AAC7D,SAAA;AAAA,IACL,KAAKI,EAAY,gBAAgB,gBAAgB;AAAA,IACjD,OAAOA,EAAY,aAAa,kBAAkB;AAAA,EACpD;AACF,GAGME,IAAwB,MAAc;AAC1C,QAAMC,IAAUN,EAAQ,QAAQ,IAAA,GAAO,cAAc,GAC/CO,IAAWP,EAAQM,GAAS,iBAAiB;AAE/C,SAACE,EAAWF,CAAO,KACrBG,EAAUH,GAAS,EAAE,WAAW,GAAA,CAAM,GAQxCI,EAAcH,GALQ;AAAA;AAAA;AAAA,CAKe,GAC9BA;AACT,GAGMI,IAAU,CAACJ,MAA2B;AACpC,QAAAD,IAAUL,EAAQM,CAAQ;AAChC,EAAAK,EAAON,GAAS,EAAE,WAAW,IAAM,OAAO,IAAM;AAClD;AAEA,IAAIC;AAEJ,IAAI;AACF,UAAQ,IAAI,yDAAyD,GACrEA,IAAWF,EAAsB,GAEjC,QAAQ,IAAI,yCAAyC;AAIrD,QAAM,EAAE,KAAKQ,GAAkB,OAAOC,EAAA,IAAuBhB,EAAkB;AAC/E,EAAAiB;AAAA,IACE,+BAA+BF,CAAgB,wBAAwBC,CAAkB,mBAAmBP,CAAQ;AAAA,IACpH,EAAE,OAAO,UAAU;AAAA,EACrB,GAEA,QAAQ,IAAI,8BAA8B,GAC1CI,EAAQJ,CAAQ,GAEhB,QAAQ,IAAI,kDAAkD;AAChE,SAASS,GAAO;AAId,MAHA,QAAQ,MAAM,8CAA8C,GAC5D,QAAQ,MAAMA,CAAK,GAEfT;AACE,QAAA;AACF,MAAAI,EAAQJ,CAAQ;AAAA,IAAA,QACV;AAAA,IAAA;AAKV,UAAQ,KAAK,CAAC;AAChB;"}
1
+ {"version":3,"file":"generate-theme-types.js","sources":["../../../src/cli/generate-theme-types.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport { execFileSync } from 'node:child_process';\nimport { existsSync, mkdirSync, writeFileSync, rmSync, readFileSync } from 'node:fs';\nimport { createRequire } from 'node:module';\nimport { dirname, resolve } from 'node:path';\n\nconst resolveChakraPackageJsonPath = (): string => {\n const require = createRequire(import.meta.url);\n try {\n return require.resolve('@chakra-ui/cli/package.json');\n } catch (cause) {\n // src/cli is also compiled by tsconfig.app.json at lib ES2020, which has no Error cause option.\n const reason = cause instanceof Error ? cause.message : String(cause);\n throw new Error(\n `Could not resolve @chakra-ui/cli, which @televet/kibble-ui depends on. Reinstall @televet/kibble-ui. (${reason})`,\n );\n }\n};\n\n// Resolve the installed @chakra-ui/cli binary so typegen runs offline, with no npx install step.\nconst resolveChakraBin = (): string => {\n const packageJsonPath = resolveChakraPackageJsonPath();\n const { bin } = JSON.parse(readFileSync(packageJsonPath, 'utf8')) as { bin?: Record<string, string> };\n if (!bin?.chakra) {\n throw new Error('@chakra-ui/cli does not declare a \"chakra\" bin entry.');\n }\n return resolve(dirname(packageJsonPath), bin.chakra);\n};\n\n// Create a temporary theme config file that imports from kibble-ui\nconst createTempThemeConfig = (): string => {\n const tempDir = resolve(process.cwd(), '.kibble-temp');\n const tempFile = resolve(tempDir, 'theme.config.ts');\n\n if (!existsSync(tempDir)) {\n mkdirSync(tempDir, { recursive: true });\n }\n\n const configContent = `\nimport { system } from \"@televet/kibble-ui/theme\";\nexport default system;\n`;\n\n writeFileSync(tempFile, configContent);\n return tempFile;\n};\n\n// Clean up temporary files\nconst cleanup = (tempFile: string): void => {\n const tempDir = dirname(tempFile);\n rmSync(tempDir, { recursive: true, force: true });\n};\n\nlet tempFile: string | undefined;\n\ntry {\n console.log('🐕 Kibble UI: Creating temporary theme configuration...');\n tempFile = createTempThemeConfig();\n\n console.log('🐕 Kibble UI: Generating theme types...');\n execFileSync(process.execPath, [resolveChakraBin(), 'typegen', tempFile], { stdio: 'inherit' });\n\n console.log('🐕 Kibble UI: Cleaning up...');\n cleanup(tempFile);\n\n console.log('✨ Kibble UI: Theme types generated successfully!');\n} catch (error) {\n console.error('❌ Kibble UI: Failed to generate theme types.');\n console.error(error);\n\n if (tempFile) {\n try {\n cleanup(tempFile);\n } catch {\n // Best-effort cleanup — the error above is the one that matters.\n }\n }\n\n process.exit(1);\n}\n"],"names":["resolveChakraPackageJsonPath","require","createRequire","cause","reason","resolveChakraBin","packageJsonPath","bin","readFileSync","resolve","dirname","createTempThemeConfig","tempDir","tempFile","existsSync","mkdirSync","writeFileSync","cleanup","rmSync","execFileSync","error"],"mappings":";;;;;AAOA,MAAMA,IAA+B,MAAc;AAC3C,QAAAC,IAAUC,EAAc,YAAY,GAAG;AACzC,MAAA;AACK,WAAAD,EAAQ,QAAQ,6BAA6B;AAAA,WAC7CE,GAAO;AAEd,UAAMC,IAASD,aAAiB,QAAQA,EAAM,UAAU,OAAOA,CAAK;AACpE,UAAM,IAAI;AAAA,MACR,yGAAyGC,CAAM;AAAA,IACjH;AAAA,EAAA;AAEJ,GAGMC,IAAmB,MAAc;AACrC,QAAMC,IAAkBN,EAA6B,GAC/C,EAAE,KAAAO,MAAQ,KAAK,MAAMC,EAAaF,GAAiB,MAAM,CAAC;AAC5D,MAAA,CAACC,GAAK;AACF,UAAA,IAAI,MAAM,uDAAuD;AAEzE,SAAOE,EAAQC,EAAQJ,CAAe,GAAGC,EAAI,MAAM;AACrD,GAGMI,IAAwB,MAAc;AAC1C,QAAMC,IAAUH,EAAQ,QAAQ,IAAA,GAAO,cAAc,GAC/CI,IAAWJ,EAAQG,GAAS,iBAAiB;AAE/C,SAACE,EAAWF,CAAO,KACrBG,EAAUH,GAAS,EAAE,WAAW,GAAA,CAAM,GAQxCI,EAAcH,GALQ;AAAA;AAAA;AAAA,CAKe,GAC9BA;AACT,GAGMI,IAAU,CAACJ,MAA2B;AACpC,QAAAD,IAAUF,EAAQG,CAAQ;AAChC,EAAAK,EAAON,GAAS,EAAE,WAAW,IAAM,OAAO,IAAM;AAClD;AAEA,IAAIC;AAEJ,IAAI;AACF,UAAQ,IAAI,yDAAyD,GACrEA,IAAWF,EAAsB,GAEjC,QAAQ,IAAI,yCAAyC,GACxCQ,EAAA,QAAQ,UAAU,CAACd,EAAiB,GAAG,WAAWQ,CAAQ,GAAG,EAAE,OAAO,WAAW,GAE9F,QAAQ,IAAI,8BAA8B,GAC1CI,EAAQJ,CAAQ,GAEhB,QAAQ,IAAI,kDAAkD;AAChE,SAASO,GAAO;AAId,MAHA,QAAQ,MAAM,8CAA8C,GAC5D,QAAQ,MAAMA,CAAK,GAEfP;AACE,QAAA;AACF,MAAAI,EAAQJ,CAAQ;AAAA,IAAA,QACV;AAAA,IAAA;AAKV,UAAQ,KAAK,CAAC;AAChB;"}
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "packages/*"
5
5
  ],
6
6
  "description": "Kibble Design System by Otto",
7
- "version": "5.3.0",
7
+ "version": "5.3.1",
8
8
  "type": "module",
9
9
  "main": "./dist/cjs/index.cjs",
10
10
  "module": "./dist/esm/index.js",
@@ -135,7 +135,6 @@
135
135
  ]
136
136
  },
137
137
  "devDependencies": {
138
- "@chakra-ui/cli": "^3.19.2",
139
138
  "@chromatic-com/storybook": "^5.1.2",
140
139
  "@emotion/react": "^11.14.0",
141
140
  "@eslint/js": "^9.21.0",
@@ -161,7 +160,7 @@
161
160
  "globals": "^15.15.0",
162
161
  "husky": "^9.1.7",
163
162
  "lint-staged": "^15.5.0",
164
- "playwright": "^1.57.0",
163
+ "playwright": "^1.64.1",
165
164
  "plop": "^4.0.1",
166
165
  "prettier": "^3.5.3",
167
166
  "react-docgen-typescript": "^2.4.0",
@@ -184,6 +183,7 @@
184
183
  "react": "^19.0.0"
185
184
  },
186
185
  "dependencies": {
186
+ "@chakra-ui/cli": "~3.29.0",
187
187
  "@chakra-ui/react": "^3.24.0",
188
188
  "@datepicker-react/hooks": "^2.8.4",
189
189
  "@dnd-kit/core": "^6.3.1",