tailwind-styled-v4 5.0.11 → 5.0.12

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 (107) hide show
  1. package/dist/{analyzeWorkspace-DDOQdzzI.d.ts → analyzeWorkspace-CopJNGmi.d.ts} +2 -0
  2. package/dist/{analyzeWorkspace-BS5O4rhC.d.mts → analyzeWorkspace-DpVPccjz.d.mts} +2 -0
  3. package/dist/analyzer.d.mts +4 -4
  4. package/dist/analyzer.d.ts +4 -4
  5. package/dist/analyzer.js +34 -69
  6. package/dist/analyzer.js.map +1 -1
  7. package/dist/analyzer.mjs +33 -68
  8. package/dist/analyzer.mjs.map +1 -1
  9. package/dist/animate.js +11 -11
  10. package/dist/animate.js.map +1 -1
  11. package/dist/animate.mjs +11 -11
  12. package/dist/animate.mjs.map +1 -1
  13. package/dist/atomic.js +16 -7
  14. package/dist/atomic.js.map +1 -1
  15. package/dist/atomic.mjs +16 -7
  16. package/dist/atomic.mjs.map +1 -1
  17. package/dist/cli.js +262 -190
  18. package/dist/cli.js.map +1 -1
  19. package/dist/cli.mjs +259 -187
  20. package/dist/cli.mjs.map +1 -1
  21. package/dist/compiler.d.mts +2543 -109
  22. package/dist/compiler.d.ts +2543 -109
  23. package/dist/compiler.js +1962 -435
  24. package/dist/compiler.js.map +1 -1
  25. package/dist/compiler.mjs +1816 -382
  26. package/dist/compiler.mjs.map +1 -1
  27. package/dist/devtools.js +17 -4
  28. package/dist/devtools.js.map +1 -1
  29. package/dist/devtools.mjs +17 -4
  30. package/dist/devtools.mjs.map +1 -1
  31. package/dist/engine.d.mts +11 -470
  32. package/dist/engine.d.ts +11 -470
  33. package/dist/engine.js +1442 -417
  34. package/dist/engine.js.map +1 -1
  35. package/dist/engine.mjs +1442 -417
  36. package/dist/engine.mjs.map +1 -1
  37. package/dist/index-BDQw13kn.d.ts +464 -0
  38. package/dist/index-DJv28Uzq.d.mts +464 -0
  39. package/dist/index.browser.mjs +143 -255
  40. package/dist/index.browser.mjs.map +1 -1
  41. package/dist/index.d.mts +23 -39
  42. package/dist/index.d.ts +23 -39
  43. package/dist/index.js +6000 -1463
  44. package/dist/index.js.map +1 -1
  45. package/dist/index.mjs +5995 -1458
  46. package/dist/index.mjs.map +1 -1
  47. package/dist/next.d.mts +44 -1
  48. package/dist/next.d.ts +44 -1
  49. package/dist/next.js +3197 -1128
  50. package/dist/next.js.map +1 -1
  51. package/dist/next.mjs +3196 -1129
  52. package/dist/next.mjs.map +1 -1
  53. package/dist/rspack.d.mts +9 -0
  54. package/dist/rspack.d.ts +9 -0
  55. package/dist/rspack.js +99 -61
  56. package/dist/rspack.js.map +1 -1
  57. package/dist/rspack.mjs +99 -61
  58. package/dist/rspack.mjs.map +1 -1
  59. package/dist/runtime-css.d.mts +8 -0
  60. package/dist/runtime-css.d.ts +8 -0
  61. package/dist/runtime-css.js +23 -7
  62. package/dist/runtime-css.js.map +1 -1
  63. package/dist/runtime-css.mjs +23 -7
  64. package/dist/runtime-css.mjs.map +1 -1
  65. package/dist/scanner.js +16 -37
  66. package/dist/scanner.js.map +1 -1
  67. package/dist/scanner.mjs +15 -36
  68. package/dist/scanner.mjs.map +1 -1
  69. package/dist/shared.d.mts +107 -1
  70. package/dist/shared.d.ts +107 -1
  71. package/dist/shared.js +1627 -376
  72. package/dist/shared.js.map +1 -1
  73. package/dist/shared.mjs +1620 -354
  74. package/dist/shared.mjs.map +1 -1
  75. package/dist/svelte.js +39 -35
  76. package/dist/svelte.js.map +1 -1
  77. package/dist/svelte.mjs +38 -34
  78. package/dist/svelte.mjs.map +1 -1
  79. package/dist/theme.js +85 -76
  80. package/dist/theme.js.map +1 -1
  81. package/dist/theme.mjs +83 -74
  82. package/dist/theme.mjs.map +1 -1
  83. package/dist/turbopackLoader.js +943 -76
  84. package/dist/turbopackLoader.js.map +1 -1
  85. package/dist/turbopackLoader.mjs +943 -76
  86. package/dist/turbopackLoader.mjs.map +1 -1
  87. package/dist/tw.js +262 -190
  88. package/dist/tw.js.map +1 -1
  89. package/dist/tw.mjs +259 -187
  90. package/dist/tw.mjs.map +1 -1
  91. package/dist/vite.js +1336 -296
  92. package/dist/vite.js.map +1 -1
  93. package/dist/vite.mjs +1336 -296
  94. package/dist/vite.mjs.map +1 -1
  95. package/dist/vue.js +39 -35
  96. package/dist/vue.js.map +1 -1
  97. package/dist/vue.mjs +38 -34
  98. package/dist/vue.mjs.map +1 -1
  99. package/dist/webpackLoader.js +140 -34
  100. package/dist/webpackLoader.js.map +1 -1
  101. package/dist/webpackLoader.mjs +140 -34
  102. package/dist/webpackLoader.mjs.map +1 -1
  103. package/native/index.node +0 -0
  104. package/native/tailwind-styled-native.node +0 -0
  105. package/native/tailwind-styled-native.win32-x64-msvc.node +0 -0
  106. package/package.json +9 -4
  107. package/CHANGELOG.md +0 -285
package/dist/shared.d.mts CHANGED
@@ -642,4 +642,110 @@ declare function createObservabilityClient(opts?: {
642
642
  timeoutMs?: number;
643
643
  }): ObservabilityClient;
644
644
 
645
- export { type BuildPhaseTrace, type BuildPhases, type BuildTelemetry, type BuildTrace, type ClassInspection, type ClassProperty, type ClassUsageLocation, type ComponentCodegenOptions, type DashboardMetrics, type DashboardSummary, ERROR_CODES, type ErrorCode, NativeAnalyzerReportSchema, NativeCacheEntrySchema, NativeCacheReadResultSchema, NativeCssCompileResultSchema, type NativeResolutionResult, NativeScanFileSchema, NativeScanResultSchema, NativeTransformResultSchema, NativeWatchResultSchema, type ObservabilityClient, type PackageJson, PackageJsonSchema, type RegistryFile, RegistryFileSchema, type RegistryPluginEntry, RegistryPluginEntrySchema, type ScanCache, type ScanCacheClassEntry, ScanCacheClassEntrySchema, ScanCacheSchema, type TailwindConfig, TailwindConfigSchema, type TailwindInfo, TelemetryCollector, type TelemetrySummary, type WorkerPathOptions, type WorkerPathResult, assertTailwindV4, createBuildTimer, createEsmRequire, createObservabilityClient, detectTailwind, formatErrorCode, formatNativeNotFoundError, generateBarrelFile, generateClassRenameCodemod, generateComponentCode, generateStorybookStory, getDirname, getFilename, getGlobalTelemetry, getSuggestion, getTailwindVersion, isTailwindV4, parseJsonFileWithSchema, parseJsonWithSchema, parseNative, resetGlobalTelemetry, resolveFromRoot, resolveLoaderPath, resolveNativeBinary, resolveNativeNodePath, resolveWorkerPath, safeParseNative, tryRequire };
645
+ /**
646
+ * staticStateExtractor.ts — Build-time State CSS Pre-generator
647
+ *
648
+ * Mengkoordinasi pipeline untuk mengeliminasi runtime CSS injection untuk `states` config.
649
+ *
650
+ * Flow:
651
+ * 1. Walk semua source files (.ts/.tsx/.js/.jsx)
652
+ * 2. Per file: panggil `extractTwStateConfigs()` (Rust NAPI)
653
+ * → temukan semua `tw.tag({ states: {...} })` calls
654
+ * 3. Kumpulkan semua configs, panggil `generateStaticStateCss()` (Rust NAPI)
655
+ * → compute hash identik dengan runtime stateEngine.ts
656
+ * → generate CSS rules dengan selector `.tw-s-[hash][data-stateName="true"]`
657
+ * 4. Append hasilnya ke safelist CSS file
658
+ *
659
+ * Hasilnya: browser load state CSS dari static file — ZERO runtime injection,
660
+ * ZERO flicker saat component dengan states di-render.
661
+ *
662
+ * Dipanggil dari withTailwindStyled.ts setelah initial Tailwind CSS scan.
663
+ *
664
+ * @module staticStateExtractor
665
+ */
666
+ interface TwStateConfigEntry {
667
+ tag: string;
668
+ componentName: string;
669
+ statesJson: string;
670
+ sourceFile: string;
671
+ }
672
+ interface StaticStateCssInput {
673
+ tag: string;
674
+ componentName: string;
675
+ statesJson: string;
676
+ }
677
+ interface GeneratedStateRule {
678
+ selector: string;
679
+ declarations: string;
680
+ cssRule: string;
681
+ componentName: string;
682
+ stateName: string;
683
+ }
684
+ interface StaticStateExtractionResult {
685
+ /** Total source files di-scan */
686
+ filesScanned: number;
687
+ /** Files yang punya tw() state configs */
688
+ filesWithStates: number;
689
+ /** Total komponen dengan states ditemukan */
690
+ componentsFound: number;
691
+ /** Total CSS rules yang di-generate */
692
+ rulesGenerated: number;
693
+ /** Rules yang tidak bisa di-resolve (butuh Tailwind full pipeline) */
694
+ rulesSkipped: number;
695
+ /** CSS yang siap di-append ke safelist file */
696
+ generatedCss: string;
697
+ /** Debug: semua rules yang di-generate */
698
+ rules: GeneratedStateRule[];
699
+ }
700
+ /**
701
+ * Scan semua source files di `srcDir`, extract tw() state configs,
702
+ * generate static CSS, dan return hasilnya.
703
+ *
704
+ * @param srcDir Root directory untuk scan (biasanya `process.cwd()/src`)
705
+ * @param options Optional configuration
706
+ */
707
+ declare function extractStaticStateCss(srcDir: string, options?: {
708
+ /** Emit debug logging */
709
+ verbose?: boolean;
710
+ /** Max files untuk di-scan (default: unlimited) */
711
+ maxFiles?: number;
712
+ /**
713
+ * CSS output dari Tailwind pipeline (isi `_initial-scan.css`).
714
+ *
715
+ * Kalau di-provide, dipakai untuk resolve class names via `parseTailwindCssToClassMap`
716
+ * → semua Tailwind class (termasuk `w-full`, `ring-2`, dll) bisa di-resolve dengan benar.
717
+ *
718
+ * Kalau tidak di-provide, fallback ke Rust resolver (hanya class sederhana yang ter-resolve).
719
+ */
720
+ resolvedCss?: string;
721
+ }): StaticStateExtractionResult;
722
+ /** Nama file output untuk static state CSS — di-import langsung dari globals.css */
723
+ declare const TW_STATE_STATIC_FILENAME = "_tw-state-static.css";
724
+ /**
725
+ * Extract static state CSS dan tulis ke file terpisah `_tw-state-static.css`
726
+ * di `.next/tw-classes/_tw-state-static.css` — grouped bersama `_initial-scan.css`.
727
+ *
728
+ * File ini harus di-`@import` langsung dari globals.css karena berisi raw CSS
729
+ * (bukan Tailwind class names), sehingga tidak bisa di-pickup oleh `@source`.
730
+ *
731
+ * Dipanggil dari `withTailwindStyled.ts` setelah initial Tailwind scan.
732
+ *
733
+ * @param srcDir Source directory untuk scan
734
+ * @param safelistPath Path ke safelist CSS file — dipakai untuk derive direktori output
735
+ * @param options Optional config
736
+ * @returns Summary string untuk logging
737
+ */
738
+ declare function appendStaticStateCssToSafelist(srcDir: string, safelistPath: string, options?: {
739
+ verbose?: boolean;
740
+ /**
741
+ * CSS output dari Tailwind pipeline — isi dari `_initial-scan.css`.
742
+ *
743
+ * Wajib di-provide untuk resolve semua Tailwind class dengan benar.
744
+ * Kalau tidak di-provide, fallback ke Rust resolver (class sederhana saja).
745
+ */
746
+ resolvedCss?: string;
747
+ }): string;
748
+
749
+ declare function setGlobalLogFile(filePath: string): void;
750
+
751
+ export { type BuildPhaseTrace, type BuildPhases, type BuildTelemetry, type BuildTrace, type ClassInspection, type ClassProperty, type ClassUsageLocation, type ComponentCodegenOptions, type DashboardMetrics, type DashboardSummary, ERROR_CODES, type ErrorCode, type GeneratedStateRule, NativeAnalyzerReportSchema, NativeCacheEntrySchema, NativeCacheReadResultSchema, NativeCssCompileResultSchema, type NativeResolutionResult, NativeScanFileSchema, NativeScanResultSchema, NativeTransformResultSchema, NativeWatchResultSchema, type ObservabilityClient, type PackageJson, PackageJsonSchema, type RegistryFile, RegistryFileSchema, type RegistryPluginEntry, RegistryPluginEntrySchema, type ScanCache, type ScanCacheClassEntry, ScanCacheClassEntrySchema, ScanCacheSchema, type StaticStateCssInput, type StaticStateExtractionResult, TW_STATE_STATIC_FILENAME, type TailwindConfig, TailwindConfigSchema, type TailwindInfo, TelemetryCollector, type TelemetrySummary, type TwStateConfigEntry, type WorkerPathOptions, type WorkerPathResult, appendStaticStateCssToSafelist, assertTailwindV4, createBuildTimer, createEsmRequire, createObservabilityClient, detectTailwind, extractStaticStateCss, formatErrorCode, formatNativeNotFoundError, generateBarrelFile, generateClassRenameCodemod, generateComponentCode, generateStorybookStory, getDirname, getFilename, getGlobalTelemetry, getSuggestion, getTailwindVersion, isTailwindV4, parseJsonFileWithSchema, parseJsonWithSchema, parseNative, resetGlobalTelemetry, resolveFromRoot, resolveLoaderPath, resolveNativeBinary, resolveNativeNodePath, resolveWorkerPath, safeParseNative, setGlobalLogFile, tryRequire };
package/dist/shared.d.ts CHANGED
@@ -642,4 +642,110 @@ declare function createObservabilityClient(opts?: {
642
642
  timeoutMs?: number;
643
643
  }): ObservabilityClient;
644
644
 
645
- export { type BuildPhaseTrace, type BuildPhases, type BuildTelemetry, type BuildTrace, type ClassInspection, type ClassProperty, type ClassUsageLocation, type ComponentCodegenOptions, type DashboardMetrics, type DashboardSummary, ERROR_CODES, type ErrorCode, NativeAnalyzerReportSchema, NativeCacheEntrySchema, NativeCacheReadResultSchema, NativeCssCompileResultSchema, type NativeResolutionResult, NativeScanFileSchema, NativeScanResultSchema, NativeTransformResultSchema, NativeWatchResultSchema, type ObservabilityClient, type PackageJson, PackageJsonSchema, type RegistryFile, RegistryFileSchema, type RegistryPluginEntry, RegistryPluginEntrySchema, type ScanCache, type ScanCacheClassEntry, ScanCacheClassEntrySchema, ScanCacheSchema, type TailwindConfig, TailwindConfigSchema, type TailwindInfo, TelemetryCollector, type TelemetrySummary, type WorkerPathOptions, type WorkerPathResult, assertTailwindV4, createBuildTimer, createEsmRequire, createObservabilityClient, detectTailwind, formatErrorCode, formatNativeNotFoundError, generateBarrelFile, generateClassRenameCodemod, generateComponentCode, generateStorybookStory, getDirname, getFilename, getGlobalTelemetry, getSuggestion, getTailwindVersion, isTailwindV4, parseJsonFileWithSchema, parseJsonWithSchema, parseNative, resetGlobalTelemetry, resolveFromRoot, resolveLoaderPath, resolveNativeBinary, resolveNativeNodePath, resolveWorkerPath, safeParseNative, tryRequire };
645
+ /**
646
+ * staticStateExtractor.ts — Build-time State CSS Pre-generator
647
+ *
648
+ * Mengkoordinasi pipeline untuk mengeliminasi runtime CSS injection untuk `states` config.
649
+ *
650
+ * Flow:
651
+ * 1. Walk semua source files (.ts/.tsx/.js/.jsx)
652
+ * 2. Per file: panggil `extractTwStateConfigs()` (Rust NAPI)
653
+ * → temukan semua `tw.tag({ states: {...} })` calls
654
+ * 3. Kumpulkan semua configs, panggil `generateStaticStateCss()` (Rust NAPI)
655
+ * → compute hash identik dengan runtime stateEngine.ts
656
+ * → generate CSS rules dengan selector `.tw-s-[hash][data-stateName="true"]`
657
+ * 4. Append hasilnya ke safelist CSS file
658
+ *
659
+ * Hasilnya: browser load state CSS dari static file — ZERO runtime injection,
660
+ * ZERO flicker saat component dengan states di-render.
661
+ *
662
+ * Dipanggil dari withTailwindStyled.ts setelah initial Tailwind CSS scan.
663
+ *
664
+ * @module staticStateExtractor
665
+ */
666
+ interface TwStateConfigEntry {
667
+ tag: string;
668
+ componentName: string;
669
+ statesJson: string;
670
+ sourceFile: string;
671
+ }
672
+ interface StaticStateCssInput {
673
+ tag: string;
674
+ componentName: string;
675
+ statesJson: string;
676
+ }
677
+ interface GeneratedStateRule {
678
+ selector: string;
679
+ declarations: string;
680
+ cssRule: string;
681
+ componentName: string;
682
+ stateName: string;
683
+ }
684
+ interface StaticStateExtractionResult {
685
+ /** Total source files di-scan */
686
+ filesScanned: number;
687
+ /** Files yang punya tw() state configs */
688
+ filesWithStates: number;
689
+ /** Total komponen dengan states ditemukan */
690
+ componentsFound: number;
691
+ /** Total CSS rules yang di-generate */
692
+ rulesGenerated: number;
693
+ /** Rules yang tidak bisa di-resolve (butuh Tailwind full pipeline) */
694
+ rulesSkipped: number;
695
+ /** CSS yang siap di-append ke safelist file */
696
+ generatedCss: string;
697
+ /** Debug: semua rules yang di-generate */
698
+ rules: GeneratedStateRule[];
699
+ }
700
+ /**
701
+ * Scan semua source files di `srcDir`, extract tw() state configs,
702
+ * generate static CSS, dan return hasilnya.
703
+ *
704
+ * @param srcDir Root directory untuk scan (biasanya `process.cwd()/src`)
705
+ * @param options Optional configuration
706
+ */
707
+ declare function extractStaticStateCss(srcDir: string, options?: {
708
+ /** Emit debug logging */
709
+ verbose?: boolean;
710
+ /** Max files untuk di-scan (default: unlimited) */
711
+ maxFiles?: number;
712
+ /**
713
+ * CSS output dari Tailwind pipeline (isi `_initial-scan.css`).
714
+ *
715
+ * Kalau di-provide, dipakai untuk resolve class names via `parseTailwindCssToClassMap`
716
+ * → semua Tailwind class (termasuk `w-full`, `ring-2`, dll) bisa di-resolve dengan benar.
717
+ *
718
+ * Kalau tidak di-provide, fallback ke Rust resolver (hanya class sederhana yang ter-resolve).
719
+ */
720
+ resolvedCss?: string;
721
+ }): StaticStateExtractionResult;
722
+ /** Nama file output untuk static state CSS — di-import langsung dari globals.css */
723
+ declare const TW_STATE_STATIC_FILENAME = "_tw-state-static.css";
724
+ /**
725
+ * Extract static state CSS dan tulis ke file terpisah `_tw-state-static.css`
726
+ * di `.next/tw-classes/_tw-state-static.css` — grouped bersama `_initial-scan.css`.
727
+ *
728
+ * File ini harus di-`@import` langsung dari globals.css karena berisi raw CSS
729
+ * (bukan Tailwind class names), sehingga tidak bisa di-pickup oleh `@source`.
730
+ *
731
+ * Dipanggil dari `withTailwindStyled.ts` setelah initial Tailwind scan.
732
+ *
733
+ * @param srcDir Source directory untuk scan
734
+ * @param safelistPath Path ke safelist CSS file — dipakai untuk derive direktori output
735
+ * @param options Optional config
736
+ * @returns Summary string untuk logging
737
+ */
738
+ declare function appendStaticStateCssToSafelist(srcDir: string, safelistPath: string, options?: {
739
+ verbose?: boolean;
740
+ /**
741
+ * CSS output dari Tailwind pipeline — isi dari `_initial-scan.css`.
742
+ *
743
+ * Wajib di-provide untuk resolve semua Tailwind class dengan benar.
744
+ * Kalau tidak di-provide, fallback ke Rust resolver (class sederhana saja).
745
+ */
746
+ resolvedCss?: string;
747
+ }): string;
748
+
749
+ declare function setGlobalLogFile(filePath: string): void;
750
+
751
+ export { type BuildPhaseTrace, type BuildPhases, type BuildTelemetry, type BuildTrace, type ClassInspection, type ClassProperty, type ClassUsageLocation, type ComponentCodegenOptions, type DashboardMetrics, type DashboardSummary, ERROR_CODES, type ErrorCode, type GeneratedStateRule, NativeAnalyzerReportSchema, NativeCacheEntrySchema, NativeCacheReadResultSchema, NativeCssCompileResultSchema, type NativeResolutionResult, NativeScanFileSchema, NativeScanResultSchema, NativeTransformResultSchema, NativeWatchResultSchema, type ObservabilityClient, type PackageJson, PackageJsonSchema, type RegistryFile, RegistryFileSchema, type RegistryPluginEntry, RegistryPluginEntrySchema, type ScanCache, type ScanCacheClassEntry, ScanCacheClassEntrySchema, ScanCacheSchema, type StaticStateCssInput, type StaticStateExtractionResult, TW_STATE_STATIC_FILENAME, type TailwindConfig, TailwindConfigSchema, type TailwindInfo, TelemetryCollector, type TelemetrySummary, type TwStateConfigEntry, type WorkerPathOptions, type WorkerPathResult, appendStaticStateCssToSafelist, assertTailwindV4, createBuildTimer, createEsmRequire, createObservabilityClient, detectTailwind, extractStaticStateCss, formatErrorCode, formatNativeNotFoundError, generateBarrelFile, generateClassRenameCodemod, generateComponentCode, generateStorybookStory, getDirname, getFilename, getGlobalTelemetry, getSuggestion, getTailwindVersion, isTailwindV4, parseJsonFileWithSchema, parseJsonWithSchema, parseNative, resetGlobalTelemetry, resolveFromRoot, resolveLoaderPath, resolveNativeBinary, resolveNativeNodePath, resolveWorkerPath, safeParseNative, setGlobalLogFile, tryRequire };