@bamboocss/types 1.31.0 → 1.32.0

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,4 +1,5 @@
1
- import type { CompositionStyleObject } from './system-types'
1
+ import type { Nested } from './conditions'
2
+ import type { CssVarProperties, SystemProperties } from './style-props'
2
3
 
3
4
  interface Token<T> {
4
5
  value: T
@@ -10,217 +11,34 @@ interface Recursive<T> {
10
11
  }
11
12
 
12
13
  /* -----------------------------------------------------------------------------
13
- * Text styles
14
+ * Mixins
14
15
  * -----------------------------------------------------------------------------*/
15
16
 
16
- type TextStyleProperty =
17
- | 'color'
18
- | 'direction'
19
- | 'font'
20
- | 'fontFamily'
21
- | 'fontFeatureSettings'
22
- | 'fontKerning'
23
- | 'fontLanguageOverride'
24
- | 'fontOpticalSizing'
25
- | 'fontPalette'
26
- | 'fontSize'
27
- | 'fontSizeAdjust'
28
- | 'fontStretch'
29
- | 'fontStyle'
30
- | 'fontSynthesis'
31
- | 'fontVariant'
32
- | 'fontVariantAlternates'
33
- | 'fontVariantCaps'
34
- | 'fontVariantLigatures'
35
- | 'fontVariantNumeric'
36
- | 'fontVariantPosition'
37
- | 'fontVariationSettings'
38
- | 'fontWeight'
39
- | 'hangingPunctuation'
40
- | 'hyphens'
41
- | 'hyphenateCharacter'
42
- | 'hyphenateLimitChars'
43
- | 'letterSpacing'
44
- | 'lineBreak'
45
- | 'lineHeight'
46
- | 'quotes'
47
- | 'overflowWrap'
48
- | 'tabSize'
49
- | 'textAlign'
50
- | 'textAlignLast'
51
- | 'textBox'
52
- | 'textBoxEdge'
53
- | 'textBoxTrim'
54
- | 'textCombineUpright'
55
- | 'textDecoration'
56
- | 'textDecorationColor'
57
- | 'textDecorationLine'
58
- | 'textDecorationSkip'
59
- | 'textDecorationSkipBox'
60
- | 'textDecorationSkipInk'
61
- | 'textDecorationSkipInset'
62
- | 'textDecorationStyle'
63
- | 'textDecorationThickness'
64
- | 'textEmphasis'
65
- | 'textEmphasisColor'
66
- | 'textEmphasisPosition'
67
- | 'textEmphasisStyle'
68
- | 'textIndent'
69
- | 'textJustify'
70
- | 'textOrientation'
71
- | 'textOverflow'
72
- | 'textRendering'
73
- | 'textShadow'
74
- | 'textStroke'
75
- | 'textStrokeColor'
76
- | 'textStrokeWidth'
77
- | 'textTransform'
78
- | 'textUnderlineOffset'
79
- | 'textUnderlinePosition'
80
- | 'textWrap'
81
- | 'textWrapMode'
82
- | 'textWrapStyle'
83
- | 'unicodeBidi'
84
- | 'verticalAlign'
85
- | 'whiteSpace'
86
- | 'wordBreak'
87
- | 'wordSpacing'
88
- | 'writingMode'
89
-
90
- export type TextStyle = CompositionStyleObject<TextStyleProperty>
91
-
92
- export type TextStyles = Recursive<Token<TextStyle>>
93
-
94
- /* -----------------------------------------------------------------------------
95
- * Layer styles
96
- * -----------------------------------------------------------------------------*/
97
-
98
- type LogicalPlacement = 'Inline' | 'Block' | 'InlineStart' | 'InlineEnd' | 'BlockStart' | 'BlockEnd'
99
-
100
- type PhysicalPlacement = 'Top' | 'Right' | 'Bottom' | 'Left'
101
-
102
- type Placement = PhysicalPlacement | LogicalPlacement
103
-
104
- type Radius =
105
- | `Top${'Right' | 'Left'}`
106
- | `Bottom${'Right' | 'Left'}`
107
- | `Start${'Start' | 'End'}`
108
- | `End${'Start' | 'End'}`
109
-
110
- type LayerStyleProperty =
111
- | 'aspectRatio'
112
- | 'background'
113
- | 'backgroundColor'
114
- | 'backgroundImage'
115
- | 'border'
116
- | 'borderColor'
117
- | 'borderImage'
118
- | 'borderImageOutset'
119
- | 'borderImageRepeat'
120
- | 'borderImageSlice'
121
- | 'borderImageSource'
122
- | 'borderImageWidth'
123
- | 'borderRadius'
124
- | 'borderStyle'
125
- | 'borderWidth'
126
- | `border${Placement}`
127
- | `border${Placement}Color`
128
- | `border${Placement}Style`
129
- | `border${Placement}Width`
130
- | 'borderRadius'
131
- | `border${Radius}Radius`
132
- | 'boxShadow'
133
- | 'boxShadowColor'
134
- | 'clipPath'
135
- | 'color'
136
- | 'contain'
137
- | 'content'
138
- | 'contentVisibility'
139
- | 'cursor'
140
- | 'display'
141
- | 'filter'
142
- | 'backdropFilter'
143
- | 'height'
144
- | 'width'
145
- | 'minHeight'
146
- | 'minWidth'
147
- | 'maxHeight'
148
- | 'maxWidth'
149
- | `margin${Placement}`
150
- | 'inset'
151
- | `inset${LogicalPlacement}`
152
- | Lowercase<PhysicalPlacement>
153
- | 'isolation'
154
- | 'mask'
155
- | 'maskClip'
156
- | 'maskComposite'
157
- | 'maskImage'
158
- | 'maskMode'
159
- | 'maskOrigin'
160
- | 'maskPosition'
161
- | 'maskRepeat'
162
- | 'maskSize'
163
- | 'mixBlendMode'
164
- | 'objectFit'
165
- | 'objectPosition'
166
- | 'opacity'
167
- | 'outline'
168
- | 'outlineColor'
169
- | 'outlineOffset'
170
- | 'outlineStyle'
171
- | 'outlineWidth'
172
- | 'overflow'
173
- | 'overflowX'
174
- | 'overflowY'
175
- | 'padding'
176
- | `padding${Placement}`
177
- | 'pointerEvents'
178
- | 'position'
179
- | 'resize'
180
- | 'transform'
181
- | 'transition'
182
- | 'visibility'
183
- | 'willChange'
184
- | 'zIndex'
185
- | 'backgroundBlendMode'
186
- | 'backgroundAttachment'
187
- | 'backgroundClip'
188
- | 'backgroundOrigin'
189
- | 'backgroundPosition'
190
- | 'backgroundRepeat'
191
- | 'backgroundSize'
192
-
193
- export type LayerStyle = CompositionStyleObject<LayerStyleProperty>
194
-
195
- export type LayerStyles = Recursive<Token<LayerStyle>>
196
-
197
- /* -----------------------------------------------------------------------------
198
- * Motion styles
199
- * -----------------------------------------------------------------------------*/
200
-
201
- type AnimationStyleProperty =
202
- | 'animation'
203
- | 'animationComposition'
204
- | 'animationDelay'
205
- | 'animationDirection'
206
- | 'animationDuration'
207
- | 'animationFillMode'
208
- | 'animationIterationCount'
209
- | 'animationName'
210
- | 'animationPlayState'
211
- | 'animationTimingFunction'
212
- | 'animationRange'
213
- | 'animationRangeStart'
214
- | 'animationRangeEnd'
215
- | 'animationTimeline'
216
- | 'transformOrigin'
217
-
218
- export type AnimationStyle = CompositionStyleObject<AnimationStyleProperty>
219
-
220
- export type AnimationStyles = Recursive<Token<AnimationStyle>>
17
+ /**
18
+ * A named bundle of declarations, applied by name through the `mixin` style property.
19
+ *
20
+ * This was three theme keys — `textStyles`, `layerStyles` and `animationStyles` — with three
21
+ * `define*` helpers, three spec artifacts and three style properties, all running through the
22
+ * same registration and differing only in which css properties the value was allowed to set.
23
+ *
24
+ * That partition was not a guard worth three concepts. It was arbitrary at the edges (`color`
25
+ * was legal in both a text style and a layer style, `transform` in a layer style but
26
+ * `transformOrigin` only in an animation style), and it cost something real in the middle: a
27
+ * bundle wanting a font *and* a border had to be split across two keys and applied twice,
28
+ * because neither key would accept the other's half.
29
+ *
30
+ * What the three allowlists did buy was rejecting a property that does not exist, and that is
31
+ * kept here rather than thrown away with them — which is why this is not simply
32
+ * `SystemStyleObject`. That type unions in an index signature so a style object can carry an
33
+ * arbitrary selector or at-rule, and an index signature accepts anything, including a typo.
34
+ * `TextStyleProperty` once listed `hypens` instead of `hyphens` and nothing could notice; under
35
+ * an index signature nothing would notice again. Conditions and nested selectors still work,
36
+ * because `Nested` supplies those keys itself.
37
+ */
38
+ export type Mixin = Nested<SystemProperties & CssVarProperties>
39
+
40
+ export type Mixins = Recursive<Token<Mixin>>
221
41
 
222
42
  export interface CompositionStyles {
223
- textStyles: TextStyles
224
- layerStyles: LayerStyles
225
- animationStyles: AnimationStyles
43
+ mixins: Mixins
226
44
  }
@@ -58,7 +58,6 @@ export type Condition = string
58
58
 
59
59
  export type ConditionalValue<V> =
60
60
  | V
61
- | Array<V | null>
62
61
  | {
63
62
  [K in keyof Conditions]?: ConditionalValue<V>
64
63
  }
package/dist/config.d.ts CHANGED
@@ -400,12 +400,19 @@ interface PresetOptions {
400
400
  presets?: (string | Preset | Promise<Preset>)[]
401
401
  }
402
402
 
403
- export interface HooksOptions {
404
- hooks?: Partial<BambooHooks>
405
- }
406
-
407
- export interface BambooPlugin extends HooksOptions {
403
+ /**
404
+ * A named set of hooks.
405
+ *
406
+ * The name is the point. Hooks used to be registrable two ways — here, and as a bare
407
+ * `hooks` key on the config — with the config's own set treated as a nameless plugin
408
+ * appended last. That gave one mechanism two spellings and an ordering rule you had to
409
+ * know, while every diagnostic about a hook had a name to print for one of them and not
410
+ * the other. Your own hooks are now a plugin like any other, so ordering is just the order
411
+ * of this array.
412
+ */
413
+ export interface BambooPlugin {
408
414
  name: string
415
+ hooks?: Partial<BambooHooks>
409
416
  }
410
417
 
411
418
  export interface PluginsOptions {
@@ -443,13 +450,19 @@ export interface PruneOptions {
443
450
  * `unresolvedPath` exists, and why setting it to `error` is what makes `accounted` worth
444
451
  * asking for: it guarantees you are shipping the exact set rather than the fallback.
445
452
  *
453
+ * A template literal is bounded rather than declined: `` token(`colors.${shade}`) `` cannot
454
+ * say which token it wants, but it says which it *cannot*, so the `colors` category is kept
455
+ * and nothing else. That covers the commonest dynamic read outright. What it does not cover
456
+ * is a path with no static head — `token(key)`, `token('colors.' + shade)` — and there
457
+ * `keepTokens` is the answer.
458
+ *
446
459
  * Three things stay invisible to `accounted`: a token named by a path assembled from a
447
460
  * value that only exists at runtime, one referenced only from a stylesheet outside
448
461
  * `include`, and one used by a separate package consuming the output as design tokens. The
449
462
  * scan reads `include`, which scopes style extraction rather than everything that may
450
463
  * import — so a script, a config, or a sibling workspace package that calls `token()` is
451
- * not covered, nor is a binding renamed away from `token`, as in `const t = token`. Use
452
- * `staticCss` to keep those.
464
+ * not covered, nor is a binding renamed away from `token`, as in `const t = token`. Name
465
+ * them with `keepTokens`.
453
466
  *
454
467
  * A custom property declared by `global.css` or `global.vars` is not one of these cases:
455
468
  * the declaration ships whether or not anything in the stylesheet reads it, so whatever it
@@ -458,12 +471,54 @@ export interface PruneOptions {
458
471
  * @default 'reachable'
459
472
  */
460
473
  tokens?: 'off' | 'reachable' | 'accounted'
474
+ /**
475
+ * Token paths to keep whatever the build can see, as exact names or `*` patterns.
476
+ *
477
+ * ```ts
478
+ * prune: { tokens: 'accounted', keepTokens: ['colors.*'] }
479
+ * ```
480
+ *
481
+ * This is the bound the build could not infer, written by hand. It exists because the
482
+ * fallback is otherwise total: **one** reference the accounting cannot follow keeps every
483
+ * declaration in the project, so a codebase with a single `token(key)` in it gets the same
484
+ * stylesheet as one that never prunes — and the codebases that reach for `token()` most are
485
+ * exactly the ones that end up there. Naming the category those dynamic reads land in is a
486
+ * far smaller answer than keeping everything, and it is the same answer the build already
487
+ * derives for itself from a template literal's static head.
488
+ *
489
+ * So under `accounted` this does two things: it keeps what it matches, and it stands in for
490
+ * what could not be followed, in place of the blanket keep. Saying `keepTokens: ['colors.*']`
491
+ * is saying *the reads you cannot follow land in `colors`* — an assertion about your own
492
+ * code, which is why nothing infers it for you. Declines are still reported, so you can see
493
+ * what you are covering; `unresolvedPath: 'error'` still fails, because asserting every path
494
+ * resolves and declaring a bound for the ones that do not are contradictory requests.
495
+ *
496
+ * Under `reachable` it is additive only, for a token nothing in the stylesheet references
497
+ * and no javascript here reads — one consumed by a sibling package, or by css outside
498
+ * `include`. It is inert under `tokens: 'off'`, which keeps everything already.
499
+ *
500
+ * Patterns match the dotted token *path*, anchored and case-sensitively, with `*` standing
501
+ * for any run of characters and a leading `!` excluding. `colors.*` keeps every colour,
502
+ * `colors.brand.*` one palette, `colors.red.300` one token, `['colors.*', '!colors.legacy.*']`
503
+ * every colour but one palette.
504
+ *
505
+ * The path, not the css variable: a token is `fontSizes.3xl` and its declaration is
506
+ * `--font-sizes-3xl`, so `font-sizes.*` — the natural thing to write after reading
507
+ * `styles.css` — matches nothing at all. A pattern matching no token is reported, and names
508
+ * the spelling that would have worked, because keeping nothing is otherwise silent in a build
509
+ * whose whole job here is dropping things.
510
+ *
511
+ * This replaces `staticCss` as the way to keep a category alive. `staticCss` emits utility
512
+ * *classes* — keeping the colours meant shipping a rule per colour to hold the declarations
513
+ * up, which is a larger stylesheet than the pruning saved.
514
+ */
515
+ keepTokens?: string[]
461
516
  /**
462
517
  * What to do about a token path `accounted` cannot follow.
463
518
  *
464
519
  * A path spelled at the call resolves; one assembled at runtime does not. An unfollowable
465
- * path is what forces `accounted` back onto the blanket keep, so this decides whether that
466
- * happens quietly, loudly, or not at all.
520
+ * path is what forces `accounted` back onto the blanket keep unless `keepTokens` names
521
+ * the bound — so this decides whether that happens quietly, loudly, or not at all.
467
522
  *
468
523
  * - `off` falls back and says nothing.
469
524
  * - `warn` falls back and reports what it could not follow.
@@ -471,6 +526,10 @@ export interface PruneOptions {
471
526
  *
472
527
  * Inert under `tokens: 'off'` and `tokens: 'reachable'`, which run no accounting pass.
473
528
  *
529
+ * `error` and `keepTokens` do not combine: one asserts every path resolves, the other
530
+ * declares where the ones that do not will land. A project that cannot make the first
531
+ * assertion wants `warn`, which still prints every reference being covered.
532
+ *
474
533
  * Named for what it checks rather than `strict`, which already means something unrelated
475
534
  * here: `strictTokens` and `strictPropertyValues` narrow generated *typescript*, and
476
535
  * neither implies nor is implied by this.
@@ -546,14 +605,7 @@ export interface PruneOptions {
546
605
  }
547
606
 
548
607
  export interface Config
549
- extends
550
- ExtendableOptions,
551
- CssgenOptions,
552
- CodegenOptions,
553
- FileSystemOptions,
554
- PresetOptions,
555
- HooksOptions,
556
- PluginsOptions {
608
+ extends ExtendableOptions, CssgenOptions, CodegenOptions, FileSystemOptions, PresetOptions, PluginsOptions {
557
609
  /**
558
610
  * What to do when the config does not validate.
559
611
  *
@@ -561,10 +613,17 @@ export interface Config
561
613
  * - `warn` logs what failed.
562
614
  * - `error` throws.
563
615
  *
564
- * A retired spelling is checked ahead of this and is not silenceable by it — that is
565
- * output which is already broken rather than an opinion about a config that still
566
- * builds. Neither is a removed option: `off` used to switch off the one mechanism that
567
- * tells an upgrader their setting is no longer read.
616
+ * This grades opinions about a config that still builds. Two checks are not that, run
617
+ * ahead of it, and answer to nothing here: a retired token spelling, which is output that
618
+ * is already broken; and an option that has been removed, which is proof the config
619
+ * predates the version reading it. Both throw at any setting, including `off`.
620
+ *
621
+ * A removed option throws rather than warns because a warning is not a signal anything
622
+ * acts on. Removals ship in minor versions, so a warning is what an automated dependency
623
+ * upgrade merges without a person reading it — while the option itself is silent in every
624
+ * other way, reverting to the default and taking the assertion it asked for with it. An
625
+ * unknown key is a different case and still tolerated: it may be forward-compatible, a
626
+ * setting for a version not installed yet. A *removed* key can only be backward.
568
627
  *
569
628
  * @default 'warn'
570
629
  */
package/dist/index.d.ts CHANGED
@@ -6,7 +6,6 @@ export type * from './hooks'
6
6
  export type * from './hooks-api'
7
7
  export type * from './logger'
8
8
  export type * from './parser'
9
- export type * from './parts'
10
9
  export type * from './pattern'
11
10
  export type * from './recipe'
12
11
  export type * from './reporter'
package/dist/recipe.d.ts CHANGED
@@ -38,7 +38,7 @@ type RecipeVariantMap<T extends RecipeVariantRecord> = {
38
38
 
39
39
  export interface RecipeRuntimeFn<T extends RecipeVariantRecord> extends RecipeVariantFn<T> {
40
40
  __type: RecipeSelection<T>
41
- variantKeys: (keyof T)[]
41
+ /** Each variant and the values it accepts. `Object.keys` it for the variant names. */
42
42
  variantMap: RecipeVariantMap<T>
43
43
  raw: (props?: RecipeSelection<T>) => SystemStyleObject
44
44
  config: RecipeConfig<T>
@@ -138,7 +138,7 @@ export interface SlotRecipeRuntimeFn<
138
138
  T extends SlotRecipeVariantRecord<S>,
139
139
  > extends SlotRecipeVariantFn<S, T> {
140
140
  raw: (props?: RecipeSelection<T>) => Record<S, SystemStyleObject>
141
- variantKeys: (keyof T)[]
141
+ /** Each variant and the values it accepts. `Object.keys` it for the variant names. */
142
142
  variantMap: RecipeVariantMap<T>
143
143
  /** The config this recipe was created from. */
144
144
  config: SlotRecipeDefinition<S, T>
package/dist/spec.d.ts CHANGED
@@ -5,9 +5,7 @@ export type SpecType =
5
5
  | 'conditions'
6
6
  | 'keyframes'
7
7
  | 'semantic-tokens'
8
- | 'text-styles'
9
- | 'layer-styles'
10
- | 'animation-styles'
8
+ | 'mixins'
11
9
  | 'color-palette'
12
10
  | 'themes'
13
11
 
@@ -103,34 +101,14 @@ export interface KeyframeSpec {
103
101
  data: KeyframeSpecDefinition[]
104
102
  }
105
103
 
106
- export interface TextStyleSpecDefinition extends Examples {
104
+ export interface MixinSpecDefinition extends Examples {
107
105
  name: string
108
106
  description?: string
109
107
  }
110
108
 
111
- export interface TextStyleSpec {
112
- type: 'text-styles'
113
- data: TextStyleSpecDefinition[]
114
- }
115
-
116
- export interface LayerStyleSpecDefinition extends Examples {
117
- name: string
118
- description?: string
119
- }
120
-
121
- export interface LayerStyleSpec {
122
- type: 'layer-styles'
123
- data: LayerStyleSpecDefinition[]
124
- }
125
-
126
- export interface AnimationStyleSpecDefinition extends Examples {
127
- name: string
128
- description?: string
129
- }
130
-
131
- export interface AnimationStyleSpec {
132
- type: 'animation-styles'
133
- data: AnimationStyleSpecDefinition[]
109
+ export interface MixinSpec {
110
+ type: 'mixins'
111
+ data: MixinSpecDefinition[]
134
112
  }
135
113
 
136
114
  export interface ColorPaletteSpec {
@@ -173,9 +151,7 @@ export type SpecFile =
173
151
  | PatternSpec
174
152
  | ConditionSpec
175
153
  | KeyframeSpec
176
- | TextStyleSpec
177
- | LayerStyleSpec
178
- | AnimationStyleSpec
154
+ | MixinSpec
179
155
  | ColorPaletteSpec
180
156
  | ThemesSpec
181
157
 
@@ -186,9 +162,7 @@ export interface SpecTypeMap {
186
162
  patterns: PatternSpec
187
163
  conditions: ConditionSpec
188
164
  keyframes: KeyframeSpec
189
- 'text-styles': TextStyleSpec
190
- 'layer-styles': LayerStyleSpec
191
- 'animation-styles': AnimationStyleSpec
165
+ mixins: MixinSpec
192
166
  'color-palette': ColorPaletteSpec
193
167
  themes: ThemesSpec
194
168
  }
@@ -1,5 +1,5 @@
1
1
  import type { ConditionalValue } from './conditions'
2
- import type { PropertiesFallback } from './csstype'
2
+ import type { Properties } from './csstype'
3
3
  import type { PropertyValue } from './prop-type'
4
4
 
5
5
  type String = string & {}
@@ -9,7 +9,7 @@ type Number = number & {}
9
9
  * Shadowed export (in CLI): DO NOT REMOVE
10
10
  * -----------------------------------------------------------------------------*/
11
11
 
12
- type CssProperties = PropertiesFallback<String | Number>
12
+ type CssProperties = Properties<String | Number>
13
13
 
14
14
  export type CssVarProperties = {
15
15
  [key in `--${string}`]?: ConditionalValue<string | number>
@@ -1,5 +1,5 @@
1
1
  import type { ConditionalValue, Nested } from './conditions'
2
- import type { AtRule, Globals, PropertiesFallback } from './csstype'
2
+ import type { AtRule, Globals, Properties } from './csstype'
3
3
  import type { SystemProperties, CssVarProperties } from './style-props'
4
4
 
5
5
  type String = string & {}
@@ -63,9 +63,9 @@ export interface ModernCssProperties {
63
63
  | String
64
64
  }
65
65
 
66
- export type CssProperty = keyof PropertiesFallback
66
+ export type CssProperty = keyof Properties
67
67
 
68
- export interface CssProperties extends PropertiesFallback<String | Number>, CssVarProperties, ModernCssProperties {}
68
+ export interface CssProperties extends Properties<String | Number>, CssVarProperties, ModernCssProperties {}
69
69
 
70
70
  export interface CssKeyframes {
71
71
  [name: string]: {
package/dist/theme.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { AnimationStyles, LayerStyles, TextStyles } from './composition'
1
+ import type { Mixins } from './composition'
2
2
  import type { RecipeConfig, SlotRecipeConfig } from './recipe'
3
3
  import type { CssKeyframes } from './system-types'
4
4
  import type { SemanticTokens, Tokens } from './tokens'
@@ -39,17 +39,9 @@ export interface Theme {
39
39
  */
40
40
  semanticTokens?: SemanticTokens
41
41
  /**
42
- * The typography styles for your project.
42
+ * Named bundles of declarations, applied by name through the `mixin` style property.
43
43
  */
44
- textStyles?: TextStyles
45
- /**
46
- * The layer styles for your project.
47
- */
48
- layerStyles?: LayerStyles
49
- /**
50
- * The animation styles for your project.
51
- */
52
- animationStyles?: AnimationStyles
44
+ mixins?: Mixins
53
45
  /**
54
46
  * Multi-variant style definitions for your project.
55
47
  * Useful for defining component styles.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bamboocss/types",
3
- "version": "1.31.0",
3
+ "version": "1.32.0",
4
4
  "description": "The types for css bamboo",
5
5
  "homepage": "https://bamboocss.com",
6
6
  "license": "MIT",
@@ -32,7 +32,7 @@
32
32
  "ncp": "2.0.0",
33
33
  "pkg-types": "2.3.0",
34
34
  "ts-morph": "28.0.0",
35
- "@bamboocss/extractor": "1.31.0"
35
+ "@bamboocss/extractor": "1.32.0"
36
36
  },
37
37
  "scripts": {
38
38
  "dev": "tsx scripts/watch.ts",
package/dist/parts.d.ts DELETED
@@ -1,7 +0,0 @@
1
- export interface Part {
2
- selector: string
3
- }
4
-
5
- export interface Parts {
6
- [key: string]: Part
7
- }