container.ts — tailwindcss Source File
Architecture documentation for container.ts, a typescript file in the tailwindcss codebase. 8 imports, 2 dependents.
Entity Profile
Dependency Diagram
graph LR 340330a5_8048_84e2_77ad_8f6da2f8b8d0["container.ts"] 42640952_ea63_55f1_1ff1_00816e2980ae["ast.ts"] 340330a5_8048_84e2_77ad_8f6da2f8b8d0 --> 42640952_ea63_55f1_1ff1_00816e2980ae f9b19679_c1f0_28d6_4d1a_31a10c52e42d["atRule"] 340330a5_8048_84e2_77ad_8f6da2f8b8d0 --> f9b19679_c1f0_28d6_4d1a_31a10c52e42d 88bcab2f_f837_9e57_5b6a_fda72a4c3315["cloneAstNode"] 340330a5_8048_84e2_77ad_8f6da2f8b8d0 --> 88bcab2f_f837_9e57_5b6a_fda72a4c3315 c203f636_607a_d332_b4c5_6a40c108f778["decl"] 340330a5_8048_84e2_77ad_8f6da2f8b8d0 --> c203f636_607a_d332_b4c5_6a40c108f778 7fd72d4c_e95c_d849_1002_1e1c9d8aca1a["design-system.ts"] 340330a5_8048_84e2_77ad_8f6da2f8b8d0 --> 7fd72d4c_e95c_d849_1002_1e1c9d8aca1a 51f244f2_138c_0d69_05db_b2df310d0f23["compare-breakpoints.ts"] 340330a5_8048_84e2_77ad_8f6da2f8b8d0 --> 51f244f2_138c_0d69_05db_b2df310d0f23 0015fc82_ad3f_130f_e7fe_1e92f2f624a1["compareBreakpoints"] 340330a5_8048_84e2_77ad_8f6da2f8b8d0 --> 0015fc82_ad3f_130f_e7fe_1e92f2f624a1 c1272aed_91bb_73df_0746_d55fa9b302fd["types.ts"] 340330a5_8048_84e2_77ad_8f6da2f8b8d0 --> c1272aed_91bb_73df_0746_d55fa9b302fd b2ba3368_7330_fe20_4543_9cafa8cfedc0["migrate-js-config.ts"] b2ba3368_7330_fe20_4543_9cafa8cfedc0 --> 340330a5_8048_84e2_77ad_8f6da2f8b8d0 daaadd53_16ee_21c6_12d9_8feaac80a91b["apply-compat-hooks.ts"] daaadd53_16ee_21c6_12d9_8feaac80a91b --> 340330a5_8048_84e2_77ad_8f6da2f8b8d0 style 340330a5_8048_84e2_77ad_8f6da2f8b8d0 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import { atRule, cloneAstNode, decl, type AstNode, type AtRule } from '../ast'
import type { DesignSystem } from '../design-system'
import { compareBreakpoints } from '../utils/compare-breakpoints'
import type { ResolvedConfig } from './config/types'
export function registerContainerCompat(userConfig: ResolvedConfig, designSystem: DesignSystem) {
let container = userConfig.theme.container || {}
if (typeof container !== 'object' || container === null) {
return
}
let rules = buildCustomContainerUtilityRules(container, designSystem)
if (rules.length === 0) {
return
}
designSystem.utilities.static('container', () => rules.map(cloneAstNode))
}
export function buildCustomContainerUtilityRules(
{
center,
padding,
screens,
}: {
center?: boolean
padding?: string | {}
screens?: {}
},
designSystem: DesignSystem,
): AstNode[] {
let rules = []
let breakpointOverwrites: null | Map<string, AtRule> = null
if (center) {
rules.push(decl('margin-inline', 'auto'))
}
if (
typeof padding === 'string' ||
(typeof padding === 'object' && padding !== null && 'DEFAULT' in padding)
) {
rules.push(
decl('padding-inline', typeof padding === 'string' ? padding : (padding.DEFAULT as string)),
)
}
if (typeof screens === 'object' && screens !== null) {
breakpointOverwrites = new Map()
// When setting the `screens` in v3, you were overwriting the default
// screens config. To do this in v4, you have to manually unset all core
// screens.
let breakpoints = Array.from(designSystem.theme.namespace('--breakpoint').entries())
breakpoints.sort((a, z) => compareBreakpoints(a[1], z[1], 'asc'))
if (breakpoints.length > 0) {
let [key] = breakpoints[0]
// ... (61 more lines)
Domain
Subdomains
Dependencies
Imported By
Source
Frequently Asked Questions
What does container.ts do?
container.ts is a source file in the tailwindcss codebase, written in typescript. It belongs to the UpgradeToolkit domain, Codemods subdomain.
What functions are defined in container.ts?
container.ts defines 2 function(s): buildCustomContainerUtilityRules, registerContainerCompat.
What does container.ts depend on?
container.ts imports 8 module(s): ast.ts, atRule, cloneAstNode, compare-breakpoints.ts, compareBreakpoints, decl, design-system.ts, types.ts.
What files import container.ts?
container.ts is imported by 2 file(s): apply-compat-hooks.ts, migrate-js-config.ts.
Where is container.ts in the architecture?
container.ts is located at packages/tailwindcss/src/compat/container.ts (domain: UpgradeToolkit, subdomain: Codemods, directory: packages/tailwindcss/src/compat).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free