tailwind-styled-v4 5.0.37 → 5.0.38

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.
Files changed (119) hide show
  1. package/dist/analyzer.js +213 -161
  2. package/dist/analyzer.js.map +1 -1
  3. package/dist/analyzer.mjs +118 -82
  4. package/dist/analyzer.mjs.map +1 -1
  5. package/dist/animate.js +131 -87
  6. package/dist/animate.js.map +1 -1
  7. package/dist/animate.mjs +28 -14
  8. package/dist/animate.mjs.map +1 -1
  9. package/dist/atomic.js +105 -68
  10. package/dist/atomic.js.map +1 -1
  11. package/dist/atomic.mjs +40 -13
  12. package/dist/atomic.mjs.map +1 -1
  13. package/dist/cli.js +577 -426
  14. package/dist/cli.js.map +1 -1
  15. package/dist/cli.mjs +466 -304
  16. package/dist/cli.mjs.map +1 -1
  17. package/dist/compiler.js +826 -508
  18. package/dist/compiler.js.map +1 -1
  19. package/dist/compiler.mjs +287 -29
  20. package/dist/compiler.mjs.map +1 -1
  21. package/dist/dashboard.js +71 -41
  22. package/dist/dashboard.js.map +1 -1
  23. package/dist/dashboard.mjs +12 -6
  24. package/dist/dashboard.mjs.map +1 -1
  25. package/dist/devtools.js +333 -289
  26. package/dist/devtools.js.map +1 -1
  27. package/dist/devtools.mjs +26 -11
  28. package/dist/devtools.mjs.map +1 -1
  29. package/dist/engine.js +679 -502
  30. package/dist/engine.js.map +1 -1
  31. package/dist/engine.mjs +467 -307
  32. package/dist/engine.mjs.map +1 -1
  33. package/dist/index.d.mts +145 -319
  34. package/dist/index.d.ts +145 -319
  35. package/dist/index.js +1329 -7441
  36. package/dist/index.js.map +1 -1
  37. package/dist/index.mjs +1266 -7385
  38. package/dist/index.mjs.map +1 -1
  39. package/dist/next.js +318 -243
  40. package/dist/next.js.map +1 -1
  41. package/dist/next.mjs +256 -181
  42. package/dist/next.mjs.map +1 -1
  43. package/dist/plugin-api.js +93 -49
  44. package/dist/plugin-api.js.map +1 -1
  45. package/dist/plugin-api.mjs +26 -6
  46. package/dist/plugin-api.mjs.map +1 -1
  47. package/dist/plugin-registry.js +67 -40
  48. package/dist/plugin-registry.js.map +1 -1
  49. package/dist/plugin-registry.mjs +14 -10
  50. package/dist/plugin-registry.mjs.map +1 -1
  51. package/dist/plugin.js +101 -53
  52. package/dist/plugin.js.map +1 -1
  53. package/dist/plugin.mjs +30 -6
  54. package/dist/plugin.mjs.map +1 -1
  55. package/dist/preset.js +47 -15
  56. package/dist/preset.js.map +1 -1
  57. package/dist/preset.mjs +13 -5
  58. package/dist/preset.mjs.map +1 -1
  59. package/dist/rspack.js +82 -50
  60. package/dist/rspack.js.map +1 -1
  61. package/dist/rspack.mjs +20 -12
  62. package/dist/rspack.mjs.map +1 -1
  63. package/dist/runtime-css.js +62 -24
  64. package/dist/runtime-css.js.map +1 -1
  65. package/dist/runtime-css.mjs +15 -7
  66. package/dist/runtime-css.mjs.map +1 -1
  67. package/dist/runtime.js +97 -44
  68. package/dist/runtime.js.map +1 -1
  69. package/dist/runtime.mjs +31 -8
  70. package/dist/runtime.mjs.map +1 -1
  71. package/dist/scanner.js +163 -120
  72. package/dist/scanner.js.map +1 -1
  73. package/dist/scanner.mjs +67 -39
  74. package/dist/scanner.mjs.map +1 -1
  75. package/dist/shared.js +441 -295
  76. package/dist/shared.js.map +1 -1
  77. package/dist/shared.mjs +253 -122
  78. package/dist/shared.mjs.map +1 -1
  79. package/dist/storybook-addon.js +39 -10
  80. package/dist/storybook-addon.js.map +1 -1
  81. package/dist/storybook-addon.mjs +8 -3
  82. package/dist/storybook-addon.mjs.map +1 -1
  83. package/dist/svelte.js +88 -64
  84. package/dist/svelte.js.map +1 -1
  85. package/dist/svelte.mjs +28 -13
  86. package/dist/svelte.mjs.map +1 -1
  87. package/dist/syntax.js +68 -37
  88. package/dist/syntax.js.map +1 -1
  89. package/dist/syntax.mjs +8 -7
  90. package/dist/syntax.mjs.map +1 -1
  91. package/dist/testing.js +55 -18
  92. package/dist/testing.js.map +1 -1
  93. package/dist/testing.mjs +16 -3
  94. package/dist/testing.mjs.map +1 -1
  95. package/dist/theme.js +131 -74
  96. package/dist/theme.js.map +1 -1
  97. package/dist/theme.mjs +42 -13
  98. package/dist/theme.mjs.map +1 -1
  99. package/dist/turbopackLoader.js +150 -116
  100. package/dist/turbopackLoader.js.map +1 -1
  101. package/dist/turbopackLoader.mjs +124 -81
  102. package/dist/turbopackLoader.mjs.map +1 -1
  103. package/dist/tw.js +560 -421
  104. package/dist/tw.js.map +1 -1
  105. package/dist/tw.mjs +460 -302
  106. package/dist/tw.mjs.map +1 -1
  107. package/dist/vite.js +561 -446
  108. package/dist/vite.js.map +1 -1
  109. package/dist/vite.mjs +433 -321
  110. package/dist/vite.mjs.map +1 -1
  111. package/dist/vue.js +95 -70
  112. package/dist/vue.js.map +1 -1
  113. package/dist/vue.mjs +30 -14
  114. package/dist/vue.mjs.map +1 -1
  115. package/dist/webpackLoader.js +110 -78
  116. package/dist/webpackLoader.js.map +1 -1
  117. package/dist/webpackLoader.mjs +45 -17
  118. package/dist/webpackLoader.mjs.map +1 -1
  119. package/package.json +3 -1
@@ -1,6 +1,34 @@
1
- 'use strict';
2
-
3
1
  /* tailwind-styled-v4 v5.0.4 | MIT | https://github.com/dictionar32/tailwind-styled-v4 */
2
+ "use strict";
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+
21
+ // src/umbrella/storybook-addon.ts
22
+ var storybook_addon_exports = {};
23
+ __export(storybook_addon_exports, {
24
+ createVariantStoryArgs: () => createVariantStoryArgs,
25
+ enumerateVariantProps: () => enumerateVariantProps,
26
+ generateArgTypes: () => generateArgTypes,
27
+ generateDefaultArgs: () => generateDefaultArgs,
28
+ getVariantClass: () => getVariantClass,
29
+ withTailwindStyled: () => withTailwindStyled
30
+ });
31
+ module.exports = __toCommonJS(storybook_addon_exports);
4
32
 
5
33
  // packages/infrastructure/storybook-addon/src/index.ts
6
34
  function enumerateVariantProps(matrix) {
@@ -84,12 +112,13 @@ function getVariantClass(config, props) {
84
112
  }
85
113
  return classes.join(" ");
86
114
  }
87
-
88
- exports.createVariantStoryArgs = createVariantStoryArgs;
89
- exports.enumerateVariantProps = enumerateVariantProps;
90
- exports.generateArgTypes = generateArgTypes;
91
- exports.generateDefaultArgs = generateDefaultArgs;
92
- exports.getVariantClass = getVariantClass;
93
- exports.withTailwindStyled = withTailwindStyled;
94
- //# sourceMappingURL=storybook-addon.js.map
115
+ // Annotate the CommonJS export names for ESM import in node:
116
+ 0 && (module.exports = {
117
+ createVariantStoryArgs,
118
+ enumerateVariantProps,
119
+ generateArgTypes,
120
+ generateDefaultArgs,
121
+ getVariantClass,
122
+ withTailwindStyled
123
+ });
95
124
  //# sourceMappingURL=storybook-addon.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../packages/infrastructure/storybook-addon/src/index.ts"],"names":[],"mappings":"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","file":"storybook-addon.js","sourcesContent":["/**\n * tailwind-styled-v4 — Storybook Addon\n *\n * Integrasi Storybook untuk komponen tw().\n * Fitur:\n * - withTailwindStyled decorator: inject className ke story\n * - generateArgTypes: auto-generate controls dari ComponentConfig\n * - enumerateVariantProps: buat semua kombinasi variant untuk testing\n */\n\nimport type { VariantMatrix } from \"@tailwind-styled/shared\"\nexport type { VariantMatrix } from \"@tailwind-styled/shared\"\n\nexport interface ComponentConfig {\n base?: string\n variants?: Record<string, Record<string, string>>\n defaultVariants?: Record<string, string>\n compoundVariants?: Array<{ class: string; [key: string]: string }>\n}\n\n// ─── Variant enumeration (core utility) ──────────────────────────────────────\n\n/**\n * Enumerate semua kombinasi variant dari matrix.\n *\n * @example\n * enumerateVariantProps({ size: ['sm','lg'], intent: ['primary','danger'] })\n * // → [{ size:'sm', intent:'primary' }, { size:'sm', intent:'danger' }, ...]\n */\nexport function enumerateVariantProps(\n matrix: VariantMatrix\n): Array<Record<string, string | number | boolean>> {\n const keys = Object.keys(matrix)\n if (keys.length === 0) return [{}]\n\n const result: Array<Record<string, string | number | boolean>> = []\n\n function walk(index: number, current: Record<string, string | number | boolean>) {\n if (index >= keys.length) {\n result.push({ ...current })\n return\n }\n const key = keys[index]!\n for (const value of matrix[key] ?? []) {\n current[key] = value\n walk(index + 1, current)\n }\n }\n\n walk(0, {})\n return result\n}\n\n// ─── Storybook argTypes generator ─────────────────────────────────────────────\n\n/**\n * Generate Storybook argTypes dari ComponentConfig.\n * Otomatis membuat kontrol dropdown untuk setiap variant.\n */\nexport function generateArgTypes(config: ComponentConfig): Record<string, unknown> {\n if (!config.variants) return {}\n\n const argTypes: Record<string, unknown> = {}\n\n for (const [variantKey, variantValues] of Object.entries(config.variants)) {\n const options = Object.keys(variantValues)\n const defaultValue = config.defaultVariants?.[variantKey]\n\n argTypes[variantKey] = {\n control: { type: \"select\" },\n options,\n defaultValue,\n description: `Variant: **${variantKey}**`,\n table: {\n type: { summary: options.join(\" | \") },\n defaultValue: defaultValue ? { summary: defaultValue } : undefined,\n category: \"Variants\",\n },\n }\n }\n\n return argTypes\n}\n\nexport function generateDefaultArgs(config: ComponentConfig): Record<string, string> {\n return { ...(config.defaultVariants ?? undefined) }\n}\n\n// ─── Storybook decorator ───────────────────────────────────────────────────────\n\nexport function withTailwindStyled(\n StoryFn: () => unknown,\n context: {\n args?: Record<string, unknown>\n parameters?: { tailwindStyled?: { wrapperClass?: string; padding?: string } }\n }\n): unknown {\n const wrapperClass = context.parameters?.tailwindStyled?.wrapperClass ?? \"\"\n const padding = context.parameters?.tailwindStyled?.padding ?? \"p-8\"\n\n if (typeof document !== \"undefined\") {\n const wrapper = document.createElement(\"div\")\n wrapper.className = [padding, wrapperClass].filter(Boolean).join(\" \")\n return wrapper\n }\n\n return StoryFn()\n}\n\n// ─── Story template helpers ────────────────────────────────────────────────────\n\nexport function createVariantStoryArgs(config: ComponentConfig): {\n combinations: Array<Record<string, string | number | boolean>>\n matrix: VariantMatrix\n} {\n if (!config.variants) return { combinations: [{}], matrix: {} }\n\n const matrix: VariantMatrix = {}\n for (const [key, values] of Object.entries(config.variants)) {\n matrix[key] = Object.keys(values)\n }\n\n return {\n combinations: enumerateVariantProps(matrix),\n matrix,\n }\n}\n\nexport function getVariantClass(config: ComponentConfig, props: Record<string, string>): string {\n const classes: string[] = []\n\n if (config.base) classes.push(config.base)\n\n if (config.variants) {\n for (const [key, values] of Object.entries(config.variants)) {\n const val = props[key] ?? config.defaultVariants?.[key]\n if (val && values[val]) classes.push(values[val])\n }\n }\n\n if (config.compoundVariants) {\n for (const compound of config.compoundVariants) {\n const { class: cls, ...conditions } = compound\n if (Object.entries(conditions).every(([k, v]) => props[k] === v)) {\n classes.push(cls)\n }\n }\n }\n\n return classes.join(\" \")\n}\n\n"]}
1
+ {"version":3,"sources":["../src/umbrella/storybook-addon.ts","../packages/infrastructure/storybook-addon/src/index.ts"],"sourcesContent":["export * from \"@tailwind-styled/storybook-addon\"\n","/**\n * tailwind-styled-v4 — Storybook Addon\n *\n * Integrasi Storybook untuk komponen tw().\n * Fitur:\n * - withTailwindStyled decorator: inject className ke story\n * - generateArgTypes: auto-generate controls dari ComponentConfig\n * - enumerateVariantProps: buat semua kombinasi variant untuk testing\n */\n\nimport type { VariantMatrix } from \"@tailwind-styled/shared\"\nexport type { VariantMatrix } from \"@tailwind-styled/shared\"\n\nexport interface ComponentConfig {\n base?: string\n variants?: Record<string, Record<string, string>>\n defaultVariants?: Record<string, string>\n compoundVariants?: Array<{ class: string; [key: string]: string }>\n}\n\n// ─── Variant enumeration (core utility) ──────────────────────────────────────\n\n/**\n * Enumerate semua kombinasi variant dari matrix.\n *\n * @example\n * enumerateVariantProps({ size: ['sm','lg'], intent: ['primary','danger'] })\n * // → [{ size:'sm', intent:'primary' }, { size:'sm', intent:'danger' }, ...]\n */\nexport function enumerateVariantProps(\n matrix: VariantMatrix\n): Array<Record<string, string | number | boolean>> {\n const keys = Object.keys(matrix)\n if (keys.length === 0) return [{}]\n\n const result: Array<Record<string, string | number | boolean>> = []\n\n function walk(index: number, current: Record<string, string | number | boolean>) {\n if (index >= keys.length) {\n result.push({ ...current })\n return\n }\n const key = keys[index]!\n for (const value of matrix[key] ?? []) {\n current[key] = value\n walk(index + 1, current)\n }\n }\n\n walk(0, {})\n return result\n}\n\n// ─── Storybook argTypes generator ─────────────────────────────────────────────\n\n/**\n * Generate Storybook argTypes dari ComponentConfig.\n * Otomatis membuat kontrol dropdown untuk setiap variant.\n */\nexport function generateArgTypes(config: ComponentConfig): Record<string, unknown> {\n if (!config.variants) return {}\n\n const argTypes: Record<string, unknown> = {}\n\n for (const [variantKey, variantValues] of Object.entries(config.variants)) {\n const options = Object.keys(variantValues)\n const defaultValue = config.defaultVariants?.[variantKey]\n\n argTypes[variantKey] = {\n control: { type: \"select\" },\n options,\n defaultValue,\n description: `Variant: **${variantKey}**`,\n table: {\n type: { summary: options.join(\" | \") },\n defaultValue: defaultValue ? { summary: defaultValue } : undefined,\n category: \"Variants\",\n },\n }\n }\n\n return argTypes\n}\n\nexport function generateDefaultArgs(config: ComponentConfig): Record<string, string> {\n return { ...(config.defaultVariants ?? undefined) }\n}\n\n// ─── Storybook decorator ───────────────────────────────────────────────────────\n\nexport function withTailwindStyled(\n StoryFn: () => unknown,\n context: {\n args?: Record<string, unknown>\n parameters?: { tailwindStyled?: { wrapperClass?: string; padding?: string } }\n }\n): unknown {\n const wrapperClass = context.parameters?.tailwindStyled?.wrapperClass ?? \"\"\n const padding = context.parameters?.tailwindStyled?.padding ?? \"p-8\"\n\n if (typeof document !== \"undefined\") {\n const wrapper = document.createElement(\"div\")\n wrapper.className = [padding, wrapperClass].filter(Boolean).join(\" \")\n return wrapper\n }\n\n return StoryFn()\n}\n\n// ─── Story template helpers ────────────────────────────────────────────────────\n\nexport function createVariantStoryArgs(config: ComponentConfig): {\n combinations: Array<Record<string, string | number | boolean>>\n matrix: VariantMatrix\n} {\n if (!config.variants) return { combinations: [{}], matrix: {} }\n\n const matrix: VariantMatrix = {}\n for (const [key, values] of Object.entries(config.variants)) {\n matrix[key] = Object.keys(values)\n }\n\n return {\n combinations: enumerateVariantProps(matrix),\n matrix,\n }\n}\n\nexport function getVariantClass(config: ComponentConfig, props: Record<string, string>): string {\n const classes: string[] = []\n\n if (config.base) classes.push(config.base)\n\n if (config.variants) {\n for (const [key, values] of Object.entries(config.variants)) {\n const val = props[key] ?? config.defaultVariants?.[key]\n if (val && values[val]) classes.push(values[val])\n }\n }\n\n if (config.compoundVariants) {\n for (const compound of config.compoundVariants) {\n const { class: cls, ...conditions } = compound\n if (Object.entries(conditions).every(([k, v]) => props[k] === v)) {\n classes.push(cls)\n }\n }\n }\n\n return classes.join(\" \")\n}\n\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AC6BO,SAAS,sBACd,QACkD;AAClD,QAAM,OAAO,OAAO,KAAK,MAAM;AAC/B,MAAI,KAAK,WAAW,EAAG,QAAO,CAAC,CAAC,CAAC;AAEjC,QAAM,SAA2D,CAAC;AAElE,WAAS,KAAK,OAAe,SAAoD;AAC/E,QAAI,SAAS,KAAK,QAAQ;AACxB,aAAO,KAAK,EAAE,GAAG,QAAQ,CAAC;AAC1B;AAAA,IACF;AACA,UAAM,MAAM,KAAK,KAAK;AACtB,eAAW,SAAS,OAAO,GAAG,KAAK,CAAC,GAAG;AACrC,cAAQ,GAAG,IAAI;AACf,WAAK,QAAQ,GAAG,OAAO;AAAA,IACzB;AAAA,EACF;AAEA,OAAK,GAAG,CAAC,CAAC;AACV,SAAO;AACT;AAQO,SAAS,iBAAiB,QAAkD;AACjF,MAAI,CAAC,OAAO,SAAU,QAAO,CAAC;AAE9B,QAAM,WAAoC,CAAC;AAE3C,aAAW,CAAC,YAAY,aAAa,KAAK,OAAO,QAAQ,OAAO,QAAQ,GAAG;AACzE,UAAM,UAAU,OAAO,KAAK,aAAa;AACzC,UAAM,eAAe,OAAO,kBAAkB,UAAU;AAExD,aAAS,UAAU,IAAI;AAAA,MACrB,SAAS,EAAE,MAAM,SAAS;AAAA,MAC1B;AAAA,MACA;AAAA,MACA,aAAa,cAAc,UAAU;AAAA,MACrC,OAAO;AAAA,QACL,MAAM,EAAE,SAAS,QAAQ,KAAK,KAAK,EAAE;AAAA,QACrC,cAAc,eAAe,EAAE,SAAS,aAAa,IAAI;AAAA,QACzD,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;AAEO,SAAS,oBAAoB,QAAiD;AACnF,SAAO,EAAE,GAAI,OAAO,mBAAmB,OAAW;AACpD;AAIO,SAAS,mBACd,SACA,SAIS;AACT,QAAM,eAAe,QAAQ,YAAY,gBAAgB,gBAAgB;AACzE,QAAM,UAAU,QAAQ,YAAY,gBAAgB,WAAW;AAE/D,MAAI,OAAO,aAAa,aAAa;AACnC,UAAM,UAAU,SAAS,cAAc,KAAK;AAC5C,YAAQ,YAAY,CAAC,SAAS,YAAY,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AACpE,WAAO;AAAA,EACT;AAEA,SAAO,QAAQ;AACjB;AAIO,SAAS,uBAAuB,QAGrC;AACA,MAAI,CAAC,OAAO,SAAU,QAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,EAAE;AAE9D,QAAM,SAAwB,CAAC;AAC/B,aAAW,CAAC,KAAK,MAAM,KAAK,OAAO,QAAQ,OAAO,QAAQ,GAAG;AAC3D,WAAO,GAAG,IAAI,OAAO,KAAK,MAAM;AAAA,EAClC;AAEA,SAAO;AAAA,IACL,cAAc,sBAAsB,MAAM;AAAA,IAC1C;AAAA,EACF;AACF;AAEO,SAAS,gBAAgB,QAAyB,OAAuC;AAC9F,QAAM,UAAoB,CAAC;AAE3B,MAAI,OAAO,KAAM,SAAQ,KAAK,OAAO,IAAI;AAEzC,MAAI,OAAO,UAAU;AACnB,eAAW,CAAC,KAAK,MAAM,KAAK,OAAO,QAAQ,OAAO,QAAQ,GAAG;AAC3D,YAAM,MAAM,MAAM,GAAG,KAAK,OAAO,kBAAkB,GAAG;AACtD,UAAI,OAAO,OAAO,GAAG,EAAG,SAAQ,KAAK,OAAO,GAAG,CAAC;AAAA,IAClD;AAAA,EACF;AAEA,MAAI,OAAO,kBAAkB;AAC3B,eAAW,YAAY,OAAO,kBAAkB;AAC9C,YAAM,EAAE,OAAO,KAAK,GAAG,WAAW,IAAI;AACtC,UAAI,OAAO,QAAQ,UAAU,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,GAAG;AAChE,gBAAQ,KAAK,GAAG;AAAA,MAClB;AAAA,IACF;AAAA,EACF;AAEA,SAAO,QAAQ,KAAK,GAAG;AACzB;","names":[]}
@@ -82,7 +82,12 @@ function getVariantClass(config, props) {
82
82
  }
83
83
  return classes.join(" ");
84
84
  }
85
-
86
- export { createVariantStoryArgs, enumerateVariantProps, generateArgTypes, generateDefaultArgs, getVariantClass, withTailwindStyled };
87
- //# sourceMappingURL=storybook-addon.mjs.map
85
+ export {
86
+ createVariantStoryArgs,
87
+ enumerateVariantProps,
88
+ generateArgTypes,
89
+ generateDefaultArgs,
90
+ getVariantClass,
91
+ withTailwindStyled
92
+ };
88
93
  //# sourceMappingURL=storybook-addon.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../packages/infrastructure/storybook-addon/src/index.ts"],"names":[],"mappings":"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","file":"storybook-addon.mjs","sourcesContent":["/**\n * tailwind-styled-v4 — Storybook Addon\n *\n * Integrasi Storybook untuk komponen tw().\n * Fitur:\n * - withTailwindStyled decorator: inject className ke story\n * - generateArgTypes: auto-generate controls dari ComponentConfig\n * - enumerateVariantProps: buat semua kombinasi variant untuk testing\n */\n\nimport type { VariantMatrix } from \"@tailwind-styled/shared\"\nexport type { VariantMatrix } from \"@tailwind-styled/shared\"\n\nexport interface ComponentConfig {\n base?: string\n variants?: Record<string, Record<string, string>>\n defaultVariants?: Record<string, string>\n compoundVariants?: Array<{ class: string; [key: string]: string }>\n}\n\n// ─── Variant enumeration (core utility) ──────────────────────────────────────\n\n/**\n * Enumerate semua kombinasi variant dari matrix.\n *\n * @example\n * enumerateVariantProps({ size: ['sm','lg'], intent: ['primary','danger'] })\n * // → [{ size:'sm', intent:'primary' }, { size:'sm', intent:'danger' }, ...]\n */\nexport function enumerateVariantProps(\n matrix: VariantMatrix\n): Array<Record<string, string | number | boolean>> {\n const keys = Object.keys(matrix)\n if (keys.length === 0) return [{}]\n\n const result: Array<Record<string, string | number | boolean>> = []\n\n function walk(index: number, current: Record<string, string | number | boolean>) {\n if (index >= keys.length) {\n result.push({ ...current })\n return\n }\n const key = keys[index]!\n for (const value of matrix[key] ?? []) {\n current[key] = value\n walk(index + 1, current)\n }\n }\n\n walk(0, {})\n return result\n}\n\n// ─── Storybook argTypes generator ─────────────────────────────────────────────\n\n/**\n * Generate Storybook argTypes dari ComponentConfig.\n * Otomatis membuat kontrol dropdown untuk setiap variant.\n */\nexport function generateArgTypes(config: ComponentConfig): Record<string, unknown> {\n if (!config.variants) return {}\n\n const argTypes: Record<string, unknown> = {}\n\n for (const [variantKey, variantValues] of Object.entries(config.variants)) {\n const options = Object.keys(variantValues)\n const defaultValue = config.defaultVariants?.[variantKey]\n\n argTypes[variantKey] = {\n control: { type: \"select\" },\n options,\n defaultValue,\n description: `Variant: **${variantKey}**`,\n table: {\n type: { summary: options.join(\" | \") },\n defaultValue: defaultValue ? { summary: defaultValue } : undefined,\n category: \"Variants\",\n },\n }\n }\n\n return argTypes\n}\n\nexport function generateDefaultArgs(config: ComponentConfig): Record<string, string> {\n return { ...(config.defaultVariants ?? undefined) }\n}\n\n// ─── Storybook decorator ───────────────────────────────────────────────────────\n\nexport function withTailwindStyled(\n StoryFn: () => unknown,\n context: {\n args?: Record<string, unknown>\n parameters?: { tailwindStyled?: { wrapperClass?: string; padding?: string } }\n }\n): unknown {\n const wrapperClass = context.parameters?.tailwindStyled?.wrapperClass ?? \"\"\n const padding = context.parameters?.tailwindStyled?.padding ?? \"p-8\"\n\n if (typeof document !== \"undefined\") {\n const wrapper = document.createElement(\"div\")\n wrapper.className = [padding, wrapperClass].filter(Boolean).join(\" \")\n return wrapper\n }\n\n return StoryFn()\n}\n\n// ─── Story template helpers ────────────────────────────────────────────────────\n\nexport function createVariantStoryArgs(config: ComponentConfig): {\n combinations: Array<Record<string, string | number | boolean>>\n matrix: VariantMatrix\n} {\n if (!config.variants) return { combinations: [{}], matrix: {} }\n\n const matrix: VariantMatrix = {}\n for (const [key, values] of Object.entries(config.variants)) {\n matrix[key] = Object.keys(values)\n }\n\n return {\n combinations: enumerateVariantProps(matrix),\n matrix,\n }\n}\n\nexport function getVariantClass(config: ComponentConfig, props: Record<string, string>): string {\n const classes: string[] = []\n\n if (config.base) classes.push(config.base)\n\n if (config.variants) {\n for (const [key, values] of Object.entries(config.variants)) {\n const val = props[key] ?? config.defaultVariants?.[key]\n if (val && values[val]) classes.push(values[val])\n }\n }\n\n if (config.compoundVariants) {\n for (const compound of config.compoundVariants) {\n const { class: cls, ...conditions } = compound\n if (Object.entries(conditions).every(([k, v]) => props[k] === v)) {\n classes.push(cls)\n }\n }\n }\n\n return classes.join(\" \")\n}\n\n"]}
1
+ {"version":3,"sources":["../packages/infrastructure/storybook-addon/src/index.ts"],"sourcesContent":["/**\n * tailwind-styled-v4 — Storybook Addon\n *\n * Integrasi Storybook untuk komponen tw().\n * Fitur:\n * - withTailwindStyled decorator: inject className ke story\n * - generateArgTypes: auto-generate controls dari ComponentConfig\n * - enumerateVariantProps: buat semua kombinasi variant untuk testing\n */\n\nimport type { VariantMatrix } from \"@tailwind-styled/shared\"\nexport type { VariantMatrix } from \"@tailwind-styled/shared\"\n\nexport interface ComponentConfig {\n base?: string\n variants?: Record<string, Record<string, string>>\n defaultVariants?: Record<string, string>\n compoundVariants?: Array<{ class: string; [key: string]: string }>\n}\n\n// ─── Variant enumeration (core utility) ──────────────────────────────────────\n\n/**\n * Enumerate semua kombinasi variant dari matrix.\n *\n * @example\n * enumerateVariantProps({ size: ['sm','lg'], intent: ['primary','danger'] })\n * // → [{ size:'sm', intent:'primary' }, { size:'sm', intent:'danger' }, ...]\n */\nexport function enumerateVariantProps(\n matrix: VariantMatrix\n): Array<Record<string, string | number | boolean>> {\n const keys = Object.keys(matrix)\n if (keys.length === 0) return [{}]\n\n const result: Array<Record<string, string | number | boolean>> = []\n\n function walk(index: number, current: Record<string, string | number | boolean>) {\n if (index >= keys.length) {\n result.push({ ...current })\n return\n }\n const key = keys[index]!\n for (const value of matrix[key] ?? []) {\n current[key] = value\n walk(index + 1, current)\n }\n }\n\n walk(0, {})\n return result\n}\n\n// ─── Storybook argTypes generator ─────────────────────────────────────────────\n\n/**\n * Generate Storybook argTypes dari ComponentConfig.\n * Otomatis membuat kontrol dropdown untuk setiap variant.\n */\nexport function generateArgTypes(config: ComponentConfig): Record<string, unknown> {\n if (!config.variants) return {}\n\n const argTypes: Record<string, unknown> = {}\n\n for (const [variantKey, variantValues] of Object.entries(config.variants)) {\n const options = Object.keys(variantValues)\n const defaultValue = config.defaultVariants?.[variantKey]\n\n argTypes[variantKey] = {\n control: { type: \"select\" },\n options,\n defaultValue,\n description: `Variant: **${variantKey}**`,\n table: {\n type: { summary: options.join(\" | \") },\n defaultValue: defaultValue ? { summary: defaultValue } : undefined,\n category: \"Variants\",\n },\n }\n }\n\n return argTypes\n}\n\nexport function generateDefaultArgs(config: ComponentConfig): Record<string, string> {\n return { ...(config.defaultVariants ?? undefined) }\n}\n\n// ─── Storybook decorator ───────────────────────────────────────────────────────\n\nexport function withTailwindStyled(\n StoryFn: () => unknown,\n context: {\n args?: Record<string, unknown>\n parameters?: { tailwindStyled?: { wrapperClass?: string; padding?: string } }\n }\n): unknown {\n const wrapperClass = context.parameters?.tailwindStyled?.wrapperClass ?? \"\"\n const padding = context.parameters?.tailwindStyled?.padding ?? \"p-8\"\n\n if (typeof document !== \"undefined\") {\n const wrapper = document.createElement(\"div\")\n wrapper.className = [padding, wrapperClass].filter(Boolean).join(\" \")\n return wrapper\n }\n\n return StoryFn()\n}\n\n// ─── Story template helpers ────────────────────────────────────────────────────\n\nexport function createVariantStoryArgs(config: ComponentConfig): {\n combinations: Array<Record<string, string | number | boolean>>\n matrix: VariantMatrix\n} {\n if (!config.variants) return { combinations: [{}], matrix: {} }\n\n const matrix: VariantMatrix = {}\n for (const [key, values] of Object.entries(config.variants)) {\n matrix[key] = Object.keys(values)\n }\n\n return {\n combinations: enumerateVariantProps(matrix),\n matrix,\n }\n}\n\nexport function getVariantClass(config: ComponentConfig, props: Record<string, string>): string {\n const classes: string[] = []\n\n if (config.base) classes.push(config.base)\n\n if (config.variants) {\n for (const [key, values] of Object.entries(config.variants)) {\n const val = props[key] ?? config.defaultVariants?.[key]\n if (val && values[val]) classes.push(values[val])\n }\n }\n\n if (config.compoundVariants) {\n for (const compound of config.compoundVariants) {\n const { class: cls, ...conditions } = compound\n if (Object.entries(conditions).every(([k, v]) => props[k] === v)) {\n classes.push(cls)\n }\n }\n }\n\n return classes.join(\" \")\n}\n\n"],"mappings":";;;AA6BO,SAAS,sBACd,QACkD;AAClD,QAAM,OAAO,OAAO,KAAK,MAAM;AAC/B,MAAI,KAAK,WAAW,EAAG,QAAO,CAAC,CAAC,CAAC;AAEjC,QAAM,SAA2D,CAAC;AAElE,WAAS,KAAK,OAAe,SAAoD;AAC/E,QAAI,SAAS,KAAK,QAAQ;AACxB,aAAO,KAAK,EAAE,GAAG,QAAQ,CAAC;AAC1B;AAAA,IACF;AACA,UAAM,MAAM,KAAK,KAAK;AACtB,eAAW,SAAS,OAAO,GAAG,KAAK,CAAC,GAAG;AACrC,cAAQ,GAAG,IAAI;AACf,WAAK,QAAQ,GAAG,OAAO;AAAA,IACzB;AAAA,EACF;AAEA,OAAK,GAAG,CAAC,CAAC;AACV,SAAO;AACT;AAQO,SAAS,iBAAiB,QAAkD;AACjF,MAAI,CAAC,OAAO,SAAU,QAAO,CAAC;AAE9B,QAAM,WAAoC,CAAC;AAE3C,aAAW,CAAC,YAAY,aAAa,KAAK,OAAO,QAAQ,OAAO,QAAQ,GAAG;AACzE,UAAM,UAAU,OAAO,KAAK,aAAa;AACzC,UAAM,eAAe,OAAO,kBAAkB,UAAU;AAExD,aAAS,UAAU,IAAI;AAAA,MACrB,SAAS,EAAE,MAAM,SAAS;AAAA,MAC1B;AAAA,MACA;AAAA,MACA,aAAa,cAAc,UAAU;AAAA,MACrC,OAAO;AAAA,QACL,MAAM,EAAE,SAAS,QAAQ,KAAK,KAAK,EAAE;AAAA,QACrC,cAAc,eAAe,EAAE,SAAS,aAAa,IAAI;AAAA,QACzD,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;AAEO,SAAS,oBAAoB,QAAiD;AACnF,SAAO,EAAE,GAAI,OAAO,mBAAmB,OAAW;AACpD;AAIO,SAAS,mBACd,SACA,SAIS;AACT,QAAM,eAAe,QAAQ,YAAY,gBAAgB,gBAAgB;AACzE,QAAM,UAAU,QAAQ,YAAY,gBAAgB,WAAW;AAE/D,MAAI,OAAO,aAAa,aAAa;AACnC,UAAM,UAAU,SAAS,cAAc,KAAK;AAC5C,YAAQ,YAAY,CAAC,SAAS,YAAY,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AACpE,WAAO;AAAA,EACT;AAEA,SAAO,QAAQ;AACjB;AAIO,SAAS,uBAAuB,QAGrC;AACA,MAAI,CAAC,OAAO,SAAU,QAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,EAAE;AAE9D,QAAM,SAAwB,CAAC;AAC/B,aAAW,CAAC,KAAK,MAAM,KAAK,OAAO,QAAQ,OAAO,QAAQ,GAAG;AAC3D,WAAO,GAAG,IAAI,OAAO,KAAK,MAAM;AAAA,EAClC;AAEA,SAAO;AAAA,IACL,cAAc,sBAAsB,MAAM;AAAA,IAC1C;AAAA,EACF;AACF;AAEO,SAAS,gBAAgB,QAAyB,OAAuC;AAC9F,QAAM,UAAoB,CAAC;AAE3B,MAAI,OAAO,KAAM,SAAQ,KAAK,OAAO,IAAI;AAEzC,MAAI,OAAO,UAAU;AACnB,eAAW,CAAC,KAAK,MAAM,KAAK,OAAO,QAAQ,OAAO,QAAQ,GAAG;AAC3D,YAAM,MAAM,MAAM,GAAG,KAAK,OAAO,kBAAkB,GAAG;AACtD,UAAI,OAAO,OAAO,GAAG,EAAG,SAAQ,KAAK,OAAO,GAAG,CAAC;AAAA,IAClD;AAAA,EACF;AAEA,MAAI,OAAO,kBAAkB;AAC3B,eAAW,YAAY,OAAO,kBAAkB;AAC9C,YAAM,EAAE,OAAO,KAAK,GAAG,WAAW,IAAI;AACtC,UAAI,OAAO,QAAQ,UAAU,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,GAAG;AAChE,gBAAQ,KAAK,GAAG;AAAA,MAClB;AAAA,IACF;AAAA,EACF;AAEA,SAAO,QAAQ,KAAK,GAAG;AACzB;","names":[]}
package/dist/svelte.js CHANGED
@@ -1,44 +1,37 @@
1
- 'use strict';
2
-
3
- var module$1 = require('module');
4
- var fs = require('fs');
5
- var path = require('path');
6
- require('crypto');
7
- var url = require('url');
8
-
9
- var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
10
- function _interopNamespace(e) {
11
- if (e && e.__esModule) return e;
12
- var n = Object.create(null);
13
- if (e) {
14
- Object.keys(e).forEach(function (k) {
15
- if (k !== 'default') {
16
- var d = Object.getOwnPropertyDescriptor(e, k);
17
- Object.defineProperty(n, k, d.get ? d : {
18
- enumerable: true,
19
- get: function () { return e[k]; }
20
- });
21
- }
22
- });
23
- }
24
- n.default = e;
25
- return Object.freeze(n);
26
- }
27
-
28
- var fs__namespace = /*#__PURE__*/_interopNamespace(fs);
29
- var path__namespace = /*#__PURE__*/_interopNamespace(path);
30
-
31
1
  /* tailwind-styled-v4 v5.0.4 | MIT | https://github.com/dictionar32/tailwind-styled-v4 */
2
+ "use strict";
3
+ var __create = Object.create;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
32
6
  var __getOwnPropNames = Object.getOwnPropertyNames;
33
- var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
34
- get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
35
- }) : x)(function(x) {
36
- if (typeof require !== "undefined") return require.apply(this, arguments);
37
- throw Error('Dynamic require of "' + x + '" is not supported');
38
- });
7
+ var __getProtoOf = Object.getPrototypeOf;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
39
9
  var __esm = (fn, res) => function __init() {
40
10
  return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
41
11
  };
12
+ var __export = (target, all) => {
13
+ for (var name in all)
14
+ __defProp(target, name, { get: all[name], enumerable: true });
15
+ };
16
+ var __copyProps = (to, from, except, desc) => {
17
+ if (from && typeof from === "object" || typeof from === "function") {
18
+ for (let key of __getOwnPropNames(from))
19
+ if (!__hasOwnProp.call(to, key) && key !== except)
20
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
21
+ }
22
+ return to;
23
+ };
24
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
25
+ // If the importer is in node compatibility mode or this is not an ESM
26
+ // file that has been converted to a CommonJS file using a Babel-
27
+ // compatible transform (i.e. "__esModule" has not been set), then set
28
+ // "default" to the CommonJS "module.exports" for node compatibility.
29
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
30
+ mod
31
+ ));
32
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
33
+
34
+ // packages/domain/shared/src/native-resolution.ts
42
35
  function platformKey() {
43
36
  if (isBrowser) return "browser";
44
37
  return `${process.platform}-${process.arch}`;
@@ -54,7 +47,7 @@ function resolveNativeBinary(runtimeDir) {
54
47
  }
55
48
  const envPath = process.env.TW_NATIVE_PATH?.trim();
56
49
  if (envPath) {
57
- if (fs__namespace.existsSync(envPath)) {
50
+ if (fs.existsSync(envPath)) {
58
51
  return { path: envPath, source: "env", platform, tried };
59
52
  }
60
53
  tried.push(`env:${envPath} (not found)`);
@@ -63,7 +56,7 @@ function resolveNativeBinary(runtimeDir) {
63
56
  for (const pkg of prebuiltPkgs) {
64
57
  try {
65
58
  const candidate = _require.resolve(`${pkg}/tailwind_styled_parser.node`);
66
- if (fs__namespace.existsSync(candidate)) {
59
+ if (fs.existsSync(candidate)) {
67
60
  return { path: candidate, source: "prebuilt", platform, tried };
68
61
  }
69
62
  tried.push(`prebuilt:${pkg} (resolved but missing)`);
@@ -74,13 +67,13 @@ function resolveNativeBinary(runtimeDir) {
74
67
  const napiPlatform = platform === "linux-x64" ? "linux-x64-gnu" : platform === "linux-arm64" ? "linux-arm64-gnu" : platform;
75
68
  const BINARY_NAMES_SELF = ["tailwind-styled-native", "tailwind_styled_parser"];
76
69
  if (runtimeDir) {
77
- for (const depth of ["..", path__namespace.join("..", ".."), path__namespace.join("..", "..", "..")]) {
78
- const pkgRoot = path__namespace.resolve(runtimeDir, depth);
70
+ for (const depth of ["..", path.join("..", ".."), path.join("..", "..", "..")]) {
71
+ const pkgRoot = path.resolve(runtimeDir, depth);
79
72
  for (const bin of BINARY_NAMES_SELF) {
80
73
  for (const suffix of ["", `.${platform}`, `.${napiPlatform}`]) {
81
- const candidate = path__namespace.resolve(pkgRoot, "native", `${bin}${suffix}.node`);
74
+ const candidate = path.resolve(pkgRoot, "native", `${bin}${suffix}.node`);
82
75
  tried.push(`self-bundled:${candidate}`);
83
- if (fs__namespace.existsSync(candidate)) {
76
+ if (fs.existsSync(candidate)) {
84
77
  return { path: candidate, source: "prebuilt", platform, tried };
85
78
  }
86
79
  }
@@ -92,39 +85,44 @@ function resolveNativeBinary(runtimeDir) {
92
85
  const BINARY_NAMES = ["tailwind-styled-native", "tailwind_styled_parser"];
93
86
  const localCandidates = [];
94
87
  for (const bin of BINARY_NAMES) {
95
- localCandidates.push(path__namespace.resolve(base, `${bin}.node`));
96
- localCandidates.push(path__namespace.resolve(base, "..", `${bin}.node`));
97
- localCandidates.push(path__namespace.resolve(base, `${bin}.${platform}.node`));
98
- localCandidates.push(path__namespace.resolve(base, `${bin}.${napiPlatform}.node`));
88
+ localCandidates.push(path.resolve(base, `${bin}.node`));
89
+ localCandidates.push(path.resolve(base, "..", `${bin}.node`));
90
+ localCandidates.push(path.resolve(base, `${bin}.${platform}.node`));
91
+ localCandidates.push(path.resolve(base, `${bin}.${napiPlatform}.node`));
99
92
  }
100
93
  for (const startDir of [cwd, base]) {
101
94
  let dir = startDir;
102
95
  for (let i = 0; i < 6; i++) {
103
- const nativeDir = path__namespace.resolve(dir, "native");
96
+ const nativeDir = path.resolve(dir, "native");
104
97
  for (const bin of BINARY_NAMES) {
105
- localCandidates.push(path__namespace.resolve(nativeDir, `${bin}.node`));
106
- localCandidates.push(path__namespace.resolve(nativeDir, `${bin}.${platform}.node`));
107
- localCandidates.push(path__namespace.resolve(nativeDir, `${bin}.${napiPlatform}.node`));
108
- localCandidates.push(path__namespace.resolve(nativeDir, "target", "release", `${bin}.node`));
98
+ localCandidates.push(path.resolve(nativeDir, `${bin}.node`));
99
+ localCandidates.push(path.resolve(nativeDir, `${bin}.${platform}.node`));
100
+ localCandidates.push(path.resolve(nativeDir, `${bin}.${napiPlatform}.node`));
101
+ localCandidates.push(path.resolve(nativeDir, "target", "release", `${bin}.node`));
109
102
  }
110
- const parent = path__namespace.resolve(dir, "..");
103
+ const parent = path.resolve(dir, "..");
111
104
  if (parent === dir) break;
112
105
  dir = parent;
113
106
  }
114
107
  }
115
108
  for (const candidate of localCandidates) {
116
109
  tried.push(`local:${candidate}`);
117
- if (fs__namespace.existsSync(candidate)) {
110
+ if (fs.existsSync(candidate)) {
118
111
  return { path: candidate, source: "local", platform, tried };
119
112
  }
120
113
  }
121
114
  return { path: null, source: "not-found", platform, tried };
122
115
  }
123
- var isBrowser, _require, PLATFORM_MAP;
116
+ var import_node_module, fs, path, import_meta, isBrowser, _require, PLATFORM_MAP;
124
117
  var init_native_resolution = __esm({
125
118
  "packages/domain/shared/src/native-resolution.ts"() {
119
+ "use strict";
120
+ import_node_module = require("module");
121
+ fs = __toESM(require("fs"));
122
+ path = __toESM(require("path"));
123
+ import_meta = {};
126
124
  isBrowser = typeof window !== "undefined" || typeof document !== "undefined";
127
- _require = typeof __require !== "undefined" ? __require : module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('svelte.js', document.baseURI).href)));
125
+ _require = typeof require !== "undefined" ? require : (0, import_node_module.createRequire)(import_meta.url);
128
126
  PLATFORM_MAP = {
129
127
  "linux-x64": ["@tailwind-styled/native-linux-x64-gnu", "@tailwind-styled/native-linux-x64"],
130
128
  "linux-arm64": ["@tailwind-styled/native-linux-arm64-gnu", "@tailwind-styled/native-linux-arm64"],
@@ -135,18 +133,42 @@ var init_native_resolution = __esm({
135
133
  };
136
134
  }
137
135
  });
136
+
137
+ // packages/domain/shared/src/index.ts
138
+ var import_node_crypto, import_node_fs, import_node_path, import_node_url, import_node_module2, import_meta2, _require2;
138
139
  var init_src = __esm({
139
140
  "packages/domain/shared/src/index.ts"() {
141
+ "use strict";
142
+ import_node_crypto = require("crypto");
143
+ import_node_fs = __toESM(require("fs"));
144
+ import_node_path = __toESM(require("path"));
145
+ import_node_url = require("url");
146
+ import_node_module2 = require("module");
140
147
  init_native_resolution();
141
- module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('svelte.js', document.baseURI).href)));
148
+ import_meta2 = {};
149
+ _require2 = (0, import_node_module2.createRequire)(import_meta2.url);
142
150
  }
143
151
  });
144
152
 
153
+ // src/umbrella/svelte.ts
154
+ var svelte_exports = {};
155
+ __export(svelte_exports, {
156
+ createVariants: () => createVariants,
157
+ cv: () => cv2,
158
+ styled: () => styled,
159
+ tw: () => tw
160
+ });
161
+ module.exports = __toCommonJS(svelte_exports);
162
+
145
163
  // packages/domain/core/src/native.ts
164
+ var import_node_module3 = require("module");
165
+ var import_node_path2 = require("path");
166
+ var import_node_url2 = require("url");
146
167
  init_src();
168
+ var import_meta3 = {};
147
169
  var isBrowser2 = typeof window !== "undefined" || typeof document !== "undefined";
148
170
  var NATIVE_UNAVAILABLE_MESSAGE = "[tailwind-styled/core] Native binding is required but not available.\nPlease ensure you have run: npm run build:rust";
149
- var _nodeRequire = module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('svelte.js', document.baseURI).href)));
171
+ var _nodeRequire = (0, import_node_module3.createRequire)(import_meta3.url);
150
172
  var _loadNative = (path3) => _nodeRequire(path3);
151
173
  var nativeBinding = null;
152
174
  var bindingLoadAttempted = false;
@@ -160,7 +182,7 @@ var getBinding = () => {
160
182
  }
161
183
  bindingLoadAttempted = true;
162
184
  try {
163
- const runtimeDir = isBrowser2 ? "" : path.dirname(url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('svelte.js', document.baseURI).href))));
185
+ const runtimeDir = isBrowser2 ? "" : (0, import_node_path2.dirname)((0, import_node_url2.fileURLToPath)(import_meta3.url));
164
186
  const result = isBrowser2 ? { path: null, source: "not-found", platform: "browser", tried: [] } : resolveNativeBinary(runtimeDir);
165
187
  if (result.path && result.path.endsWith(".node")) {
166
188
  const mod = _loadNative(result.path);
@@ -231,6 +253,7 @@ function tw(...classes) {
231
253
  return twMerge(...classes.filter(Boolean));
232
254
  }
233
255
  function styled(node, { config, props = {} }) {
256
+ const _resolver = cv2(config);
234
257
  function update({
235
258
  config: cfg,
236
259
  props: p = {}
@@ -252,10 +275,11 @@ function createVariants(config, getProps) {
252
275
  config
253
276
  };
254
277
  }
255
-
256
- exports.createVariants = createVariants;
257
- exports.cv = cv2;
258
- exports.styled = styled;
259
- exports.tw = tw;
260
- //# sourceMappingURL=svelte.js.map
278
+ // Annotate the CommonJS export names for ESM import in node:
279
+ 0 && (module.exports = {
280
+ createVariants,
281
+ cv,
282
+ styled,
283
+ tw
284
+ });
261
285
  //# sourceMappingURL=svelte.js.map