@techfides/ui-library-design 0.7.0 → 0.9.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.
Files changed (216) hide show
  1. package/README.md +1 -3
  2. package/css/theme.css +19 -0
  3. package/dist/anatomies.d.ts +1 -9
  4. package/dist/anatomies.js +0 -2
  5. package/dist/anatomy.d.ts +2 -3
  6. package/dist/anatomy.js +0 -2
  7. package/dist/brands.d.ts +1 -2
  8. package/dist/brands.js +0 -2
  9. package/dist/cn.d.ts +1 -2
  10. package/dist/cn.generated.js +253 -0
  11. package/dist/cn.js +10 -168
  12. package/dist/control.d.ts +1 -2
  13. package/dist/control.js +0 -2
  14. package/dist/index.d.ts +2 -1
  15. package/dist/index.js +2 -1
  16. package/dist/mark.d.ts +1 -2
  17. package/dist/mark.js +0 -2
  18. package/dist/parts/control.js +0 -2
  19. package/dist/parts/eyebrow.js +0 -2
  20. package/dist/parts/mark.js +0 -2
  21. package/dist/parts/reveal.js +0 -2
  22. package/dist/parts/rouse.js +0 -2
  23. package/dist/parts/rule.js +0 -2
  24. package/dist/parts/scroll.js +0 -2
  25. package/dist/parts/shell.js +0 -2
  26. package/dist/parts/surface.js +0 -2
  27. package/dist/parts/tone.js +0 -2
  28. package/dist/parts/travel.js +0 -2
  29. package/dist/recipes/accordion.d.ts +1 -2
  30. package/dist/recipes/accordion.js +0 -2
  31. package/dist/recipes/alert.d.ts +1 -2
  32. package/dist/recipes/alert.js +0 -2
  33. package/dist/recipes/band.d.ts +1 -2
  34. package/dist/recipes/band.js +0 -2
  35. package/dist/recipes/bars.d.ts +1 -2
  36. package/dist/recipes/bars.js +0 -2
  37. package/dist/recipes/brandMark.d.ts +1 -2
  38. package/dist/recipes/brandMark.js +0 -2
  39. package/dist/recipes/button.d.ts +1 -2
  40. package/dist/recipes/button.js +0 -2
  41. package/dist/recipes/cardHeader.d.ts +1 -2
  42. package/dist/recipes/cardHeader.js +0 -2
  43. package/dist/recipes/chart.d.ts +5 -0
  44. package/dist/recipes/chart.js +5 -0
  45. package/dist/recipes/checkbox.d.ts +1 -2
  46. package/dist/recipes/checkbox.js +0 -2
  47. package/dist/recipes/chip.d.ts +1 -2
  48. package/dist/recipes/chip.js +0 -2
  49. package/dist/recipes/codeEditor.d.ts +1 -2
  50. package/dist/recipes/codeEditor.js +0 -2
  51. package/dist/recipes/datePicker.d.ts +1 -2
  52. package/dist/recipes/datePicker.js +0 -2
  53. package/dist/recipes/dialog.d.ts +1 -2
  54. package/dist/recipes/dialog.js +0 -2
  55. package/dist/recipes/feature.d.ts +1 -2
  56. package/dist/recipes/feature.js +0 -2
  57. package/dist/recipes/field.d.ts +1 -2
  58. package/dist/recipes/field.js +0 -2
  59. package/dist/recipes/findings.d.ts +1 -2
  60. package/dist/recipes/findings.js +0 -2
  61. package/dist/recipes/heading.d.ts +1 -2
  62. package/dist/recipes/heading.js +0 -2
  63. package/dist/recipes/heartbeat.d.ts +1 -2
  64. package/dist/recipes/heartbeat.js +0 -2
  65. package/dist/recipes/ink.d.ts +1 -2
  66. package/dist/recipes/ink.js +0 -2
  67. package/dist/recipes/input.d.ts +1 -3
  68. package/dist/recipes/input.js +0 -3
  69. package/dist/recipes/listItem.d.ts +1 -2
  70. package/dist/recipes/listItem.js +0 -2
  71. package/dist/recipes/listbox.d.ts +1 -2
  72. package/dist/recipes/listbox.js +0 -2
  73. package/dist/recipes/marquee.d.ts +1 -2
  74. package/dist/recipes/marquee.js +0 -2
  75. package/dist/recipes/menu.d.ts +1 -2
  76. package/dist/recipes/menu.js +0 -2
  77. package/dist/recipes/metaRow.d.ts +1 -2
  78. package/dist/recipes/metaRow.js +0 -2
  79. package/dist/recipes/meter.d.ts +1 -2
  80. package/dist/recipes/meter.js +0 -2
  81. package/dist/recipes/motion.d.ts +1 -2
  82. package/dist/recipes/motion.js +0 -2
  83. package/dist/recipes/nebula.d.ts +1 -2
  84. package/dist/recipes/nebula.js +0 -2
  85. package/dist/recipes/numberRange.d.ts +1 -2
  86. package/dist/recipes/numberRange.js +0 -2
  87. package/dist/recipes/paper.d.ts +1 -2
  88. package/dist/recipes/paper.js +0 -2
  89. package/dist/recipes/progressBar.d.ts +1 -2
  90. package/dist/recipes/progressBar.js +0 -2
  91. package/dist/recipes/queue.d.ts +1 -2
  92. package/dist/recipes/queue.js +0 -2
  93. package/dist/recipes/radioGroup.d.ts +1 -3
  94. package/dist/recipes/radioGroup.js +0 -3
  95. package/dist/recipes/scopeSwitcher.d.ts +1 -4
  96. package/dist/recipes/scopeSwitcher.js +0 -4
  97. package/dist/recipes/scrollArea.d.ts +1 -2
  98. package/dist/recipes/scrollArea.js +0 -2
  99. package/dist/recipes/searchPalette.d.ts +1 -3
  100. package/dist/recipes/searchPalette.js +0 -3
  101. package/dist/recipes/sectionHeader.d.ts +1 -2
  102. package/dist/recipes/sectionHeader.js +0 -2
  103. package/dist/recipes/segmentedControl.d.ts +1 -2
  104. package/dist/recipes/segmentedControl.js +0 -2
  105. package/dist/recipes/select.d.ts +1 -3
  106. package/dist/recipes/select.js +0 -3
  107. package/dist/recipes/separator.d.ts +1 -2
  108. package/dist/recipes/separator.js +0 -2
  109. package/dist/recipes/sidebar.d.ts +1 -2
  110. package/dist/recipes/sidebar.js +0 -2
  111. package/dist/recipes/sky.d.ts +1 -2
  112. package/dist/recipes/sky.js +0 -2
  113. package/dist/recipes/slider.d.ts +1 -2
  114. package/dist/recipes/slider.js +0 -2
  115. package/dist/recipes/stat.d.ts +1 -3
  116. package/dist/recipes/stat.js +0 -4
  117. package/dist/recipes/switch.d.ts +1 -2
  118. package/dist/recipes/switch.js +0 -2
  119. package/dist/recipes/table.d.ts +1 -2
  120. package/dist/recipes/table.js +0 -2
  121. package/dist/recipes/tableFilter.d.ts +1 -2
  122. package/dist/recipes/tableFilter.js +0 -2
  123. package/dist/recipes/tablePaging.d.ts +1 -2
  124. package/dist/recipes/tablePaging.js +0 -2
  125. package/dist/recipes/tail.d.ts +1 -2
  126. package/dist/recipes/tail.js +0 -2
  127. package/dist/recipes/text.d.ts +1 -2
  128. package/dist/recipes/text.js +0 -2
  129. package/dist/recipes/textarea.d.ts +1 -2
  130. package/dist/recipes/textarea.js +0 -2
  131. package/dist/recipes/tile.d.ts +1 -2
  132. package/dist/recipes/tile.js +0 -2
  133. package/dist/recipes/tooltip.d.ts +1 -2
  134. package/dist/recipes/tooltip.js +0 -2
  135. package/dist/recipes/topBar.d.ts +1 -2
  136. package/dist/recipes/topBar.js +0 -2
  137. package/dist/recipes/trail.d.ts +1 -2
  138. package/dist/recipes/trail.js +0 -2
  139. package/dist/recipes/userMenu.d.ts +1 -2
  140. package/dist/recipes/userMenu.js +0 -2
  141. package/dist/tone.d.ts +1 -2
  142. package/dist/tone.js +0 -2
  143. package/package.json +3 -2
  144. package/dist/anatomies.js.map +0 -1
  145. package/dist/anatomy.js.map +0 -1
  146. package/dist/brands.js.map +0 -1
  147. package/dist/cn.js.map +0 -1
  148. package/dist/control.js.map +0 -1
  149. package/dist/mark.js.map +0 -1
  150. package/dist/parts/control.js.map +0 -1
  151. package/dist/parts/eyebrow.js.map +0 -1
  152. package/dist/parts/mark.js.map +0 -1
  153. package/dist/parts/reveal.js.map +0 -1
  154. package/dist/parts/rouse.js.map +0 -1
  155. package/dist/parts/rule.js.map +0 -1
  156. package/dist/parts/scroll.js.map +0 -1
  157. package/dist/parts/shell.js.map +0 -1
  158. package/dist/parts/surface.js.map +0 -1
  159. package/dist/parts/tone.js.map +0 -1
  160. package/dist/parts/travel.js.map +0 -1
  161. package/dist/recipes/accordion.js.map +0 -1
  162. package/dist/recipes/alert.js.map +0 -1
  163. package/dist/recipes/band.js.map +0 -1
  164. package/dist/recipes/bars.js.map +0 -1
  165. package/dist/recipes/brandMark.js.map +0 -1
  166. package/dist/recipes/button.js.map +0 -1
  167. package/dist/recipes/cardHeader.js.map +0 -1
  168. package/dist/recipes/checkbox.js.map +0 -1
  169. package/dist/recipes/chip.js.map +0 -1
  170. package/dist/recipes/codeEditor.js.map +0 -1
  171. package/dist/recipes/datePicker.js.map +0 -1
  172. package/dist/recipes/dialog.js.map +0 -1
  173. package/dist/recipes/feature.js.map +0 -1
  174. package/dist/recipes/field.js.map +0 -1
  175. package/dist/recipes/findings.js.map +0 -1
  176. package/dist/recipes/heading.js.map +0 -1
  177. package/dist/recipes/heartbeat.js.map +0 -1
  178. package/dist/recipes/ink.js.map +0 -1
  179. package/dist/recipes/input.js.map +0 -1
  180. package/dist/recipes/listItem.js.map +0 -1
  181. package/dist/recipes/listbox.js.map +0 -1
  182. package/dist/recipes/marquee.js.map +0 -1
  183. package/dist/recipes/menu.js.map +0 -1
  184. package/dist/recipes/metaRow.js.map +0 -1
  185. package/dist/recipes/meter.js.map +0 -1
  186. package/dist/recipes/motion.js.map +0 -1
  187. package/dist/recipes/nebula.js.map +0 -1
  188. package/dist/recipes/numberRange.js.map +0 -1
  189. package/dist/recipes/paper.js.map +0 -1
  190. package/dist/recipes/progressBar.js.map +0 -1
  191. package/dist/recipes/queue.js.map +0 -1
  192. package/dist/recipes/radioGroup.js.map +0 -1
  193. package/dist/recipes/scopeSwitcher.js.map +0 -1
  194. package/dist/recipes/scrollArea.js.map +0 -1
  195. package/dist/recipes/searchPalette.js.map +0 -1
  196. package/dist/recipes/sectionHeader.js.map +0 -1
  197. package/dist/recipes/segmentedControl.js.map +0 -1
  198. package/dist/recipes/select.js.map +0 -1
  199. package/dist/recipes/separator.js.map +0 -1
  200. package/dist/recipes/sidebar.js.map +0 -1
  201. package/dist/recipes/sky.js.map +0 -1
  202. package/dist/recipes/slider.js.map +0 -1
  203. package/dist/recipes/stat.js.map +0 -1
  204. package/dist/recipes/switch.js.map +0 -1
  205. package/dist/recipes/table.js.map +0 -1
  206. package/dist/recipes/tableFilter.js.map +0 -1
  207. package/dist/recipes/tablePaging.js.map +0 -1
  208. package/dist/recipes/tail.js.map +0 -1
  209. package/dist/recipes/text.js.map +0 -1
  210. package/dist/recipes/textarea.js.map +0 -1
  211. package/dist/recipes/tile.js.map +0 -1
  212. package/dist/recipes/tooltip.js.map +0 -1
  213. package/dist/recipes/topBar.js.map +0 -1
  214. package/dist/recipes/trail.js.map +0 -1
  215. package/dist/recipes/userMenu.js.map +0 -1
  216. package/dist/tone.js.map +0 -1
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  The framework-agnostic half of the TechFides UI library: the Tailwind CSS v4 theme, the design tokens, and the variant recipes every component is built from.
4
4
 
5
- No framework, no components. If you are building with Vue, install [`@techfides/ui-library-vue`](https://www.npmjs.com/package/@techfides/ui-library-vue) instead — it depends on this one and brings it with it. Reach for this package directly when you are styling something the component library does not cover, or when a React binding arrives.
5
+ No framework, no components. If you are building with Vue, install [`@techfides/ui-library-vue`](https://www.npmjs.com/package/@techfides/ui-library-vue) instead — it depends on this one and brings it with it. Reach for this package directly when you are styling something the component library does not cover, or when a React binding arrives. Words and languages live in [`@techfides/ui-library-core`](https://www.npmjs.com/package/@techfides/ui-library-core), the framework-free package, not here.
6
6
 
7
7
  ## Install
8
8
 
@@ -37,8 +37,6 @@ cn('bg-tf-panel p-6', props.class)
37
37
 
38
38
  **Brand** — four accents, switched by a `data-brand` attribute on the root. Every accent role in the system derives from the one the brand names.
39
39
 
40
- **Words** — every string a component says on its own behalf, as a `Language`. `english` and `czech` ship; the framework binding hands one to `provideLanguage`. Words live here rather than in the binding so both bindings say the same thing ([ADR 0004](https://github.com/TechFides/ui-library/blob/main/docs/adr/0004-words-live-in-the-framework-free-package.md)).
41
-
42
40
  ## The one thing to know about surfaces
43
41
 
44
42
  Depth is carried by lightness, not by shadow: on a dark screen a black shadow has almost nothing to fall on. There are five surface steps and each is measurably lighter than the one below it. A shadow means something different — that a thing has left the page altogether.
package/css/theme.css CHANGED
@@ -27,6 +27,25 @@
27
27
  font-family: var(--font-tf-body);
28
28
  scrollbar-gutter: stable;
29
29
  }
30
+
31
+ x-vue-echarts {
32
+ display: block;
33
+ width: 100%;
34
+ height: 100%;
35
+ min-width: 0;
36
+ }
37
+
38
+ x-vue-echarts > .echarts-host {
39
+ display: block;
40
+ width: 100%;
41
+ height: 100%;
42
+ min-width: 0;
43
+ }
44
+
45
+ x-vue-echarts > .echarts-host > :first-child,
46
+ x-vue-echarts > .echarts-host > :first-child > canvas {
47
+ border-radius: inherit;
48
+ }
30
49
  }
31
50
 
32
51
  @theme static inline {
@@ -541,7 +541,6 @@ declare const anatomies: {
541
541
  };
542
542
  readonly spinner: {
543
543
  readonly part: "spinner";
544
- readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
545
544
  readonly required: false;
546
545
  };
547
546
  readonly trailing: {
@@ -836,7 +835,6 @@ declare const anatomies: {
836
835
  };
837
836
  readonly requiredIndicator: {
838
837
  readonly part: "required-indicator";
839
- readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
840
838
  readonly required: false;
841
839
  };
842
840
  readonly root: {
@@ -863,7 +861,6 @@ declare const anatomies: {
863
861
  };
864
862
  readonly root: {
865
863
  readonly part: "scope-switcher";
866
- readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
867
864
  readonly required: true;
868
865
  };
869
866
  readonly rowText: {
@@ -878,7 +875,6 @@ declare const anatomies: {
878
875
  };
879
876
  readonly value: {
880
877
  readonly part: "value";
881
- readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
882
878
  readonly required: true;
883
879
  };
884
880
  };
@@ -904,7 +900,6 @@ declare const anatomies: {
904
900
  };
905
901
  readonly hint: {
906
902
  readonly part: "hint";
907
- readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
908
903
  readonly required: true;
909
904
  };
910
905
  readonly mark: {
@@ -1011,7 +1006,6 @@ declare const anatomies: {
1011
1006
  };
1012
1007
  readonly spinner: {
1013
1008
  readonly part: "spinner";
1014
- readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
1015
1009
  readonly required: false;
1016
1010
  };
1017
1011
  readonly trailing: {
@@ -1214,7 +1208,6 @@ declare const anatomies: {
1214
1208
  };
1215
1209
  readonly counted: {
1216
1210
  readonly part: "counted";
1217
- readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
1218
1211
  readonly required: true;
1219
1212
  };
1220
1213
  readonly figure: {
@@ -1582,5 +1575,4 @@ declare const anatomies: {
1582
1575
  };
1583
1576
  type AnyPart = PartsOf<(typeof anatomies)[keyof typeof anatomies]>;
1584
1577
  //#endregion
1585
- export { type AnyPart, anatomies };
1586
- //# sourceMappingURL=anatomies.d.ts.map
1578
+ export { type AnyPart, anatomies };
package/dist/anatomies.js CHANGED
@@ -103,5 +103,3 @@ const anatomies = {
103
103
  };
104
104
  //#endregion
105
105
  export { anatomies };
106
-
107
- //# sourceMappingURL=anatomies.js.map
package/dist/anatomy.d.ts CHANGED
@@ -2,12 +2,11 @@
2
2
  type Recipe = (...args: never[]) => string;
3
3
  interface Part {
4
4
  part: string;
5
- recipe: Recipe;
5
+ recipe?: Recipe;
6
6
  required: boolean;
7
7
  }
8
8
  type Anatomy = Record<string, Part>;
9
9
  declare const anatomy: <const Shape extends Anatomy>(parts: Shape) => Shape;
10
10
  type PartsOf<Shape> = Shape extends Anatomy ? Shape[keyof Shape]['part'] : never;
11
11
  //#endregion
12
- export { type Anatomy, type Part, type PartsOf, type Recipe, anatomy };
13
- //# sourceMappingURL=anatomy.d.ts.map
12
+ export { type Anatomy, type Part, type PartsOf, type Recipe, anatomy };
package/dist/anatomy.js CHANGED
@@ -2,5 +2,3 @@
2
2
  const anatomy = (parts) => parts;
3
3
  //#endregion
4
4
  export { anatomy };
5
-
6
- //# sourceMappingURL=anatomy.js.map
package/dist/brands.d.ts CHANGED
@@ -35,5 +35,4 @@ declare const brands: readonly [{
35
35
  declare const defaultBrand: BrandSlug;
36
36
  declare const brandTitle: (slug: string) => string;
37
37
  //#endregion
38
- export { type Brand, type BrandSlug, brandTitle, brands, defaultBrand };
39
- //# sourceMappingURL=brands.d.ts.map
38
+ export { type Brand, type BrandSlug, brandTitle, brands, defaultBrand };
package/dist/brands.js CHANGED
@@ -37,5 +37,3 @@ const brandTitle = (slug) => {
37
37
  };
38
38
  //#endregion
39
39
  export { brandTitle, brands, defaultBrand };
40
-
41
- //# sourceMappingURL=brands.js.map
package/dist/cn.d.ts CHANGED
@@ -2,5 +2,4 @@ import { ClassValue } from "clsx";
2
2
  //#region src/cn.d.ts
3
3
  declare const cn: (...inputs: ClassValue[]) => string;
4
4
  //#endregion
5
- export { cn };
6
- //# sourceMappingURL=cn.d.ts.map
5
+ export { cn };
@@ -0,0 +1,253 @@
1
+ //#region src/cn.generated.ts
2
+ const twScales = {
3
+ animate: [
4
+ "tf-blend-in",
5
+ "tf-arrive",
6
+ "tf-depart",
7
+ "tf-in",
8
+ "tf-out",
9
+ "tf-chip-in",
10
+ "tf-chip-out",
11
+ "tf-chip-out-auto",
12
+ "tf-rewind",
13
+ "tf-lift",
14
+ "tf-lift-rewind",
15
+ "tf-drawer",
16
+ "tf-drawer-rewind",
17
+ "tf-expand",
18
+ "tf-collapse",
19
+ "tf-shake",
20
+ "tf-pop",
21
+ "tf-nudge",
22
+ "tf-fade-in",
23
+ "tf-fade-out",
24
+ "tf-fade-rewind",
25
+ "tf-rise",
26
+ "tf-draw",
27
+ "tf-page",
28
+ "tf-page-again"
29
+ ],
30
+ blur: [
31
+ "tf-panel",
32
+ "tf-glass",
33
+ "tf-scrim",
34
+ "tf-cloud-md",
35
+ "tf-cloud-tight",
36
+ "tf-cloud-wide"
37
+ ],
38
+ color: [
39
+ "tf-accent",
40
+ "tf-accent-hi",
41
+ "tf-accent-surface",
42
+ "tf-accent-deep",
43
+ "tf-on-accent",
44
+ "tf-accent-tint",
45
+ "tf-accent-edge",
46
+ "tf-bg",
47
+ "tf-surface",
48
+ "tf-panel",
49
+ "tf-panel-2",
50
+ "tf-panel-hi",
51
+ "tf-glass",
52
+ "tf-sunken",
53
+ "tf-sunken-hi",
54
+ "tf-sunken-quiet",
55
+ "tf-control",
56
+ "tf-control-hi",
57
+ "tf-surface-hi",
58
+ "tf-surface-quiet",
59
+ "tf-shade-under",
60
+ "tf-shade-deep",
61
+ "tf-scrim",
62
+ "tf-line",
63
+ "tf-line-2",
64
+ "tf-line-hi",
65
+ "tf-rule",
66
+ "tf-fg",
67
+ "tf-fg-held",
68
+ "tf-muted",
69
+ "tf-success",
70
+ "tf-success-hi",
71
+ "tf-warning",
72
+ "tf-warning-hi",
73
+ "tf-info",
74
+ "tf-info-hi",
75
+ "tf-danger",
76
+ "tf-danger-hi",
77
+ "tf-on-semantic",
78
+ "tf-success-tint",
79
+ "tf-success-edge",
80
+ "tf-warning-tint",
81
+ "tf-warning-edge",
82
+ "tf-info-tint",
83
+ "tf-info-edge",
84
+ "tf-danger-tint",
85
+ "tf-danger-wash",
86
+ "tf-danger-edge"
87
+ ],
88
+ container: [
89
+ "tf-panel",
90
+ "tf-list",
91
+ "tf-placard",
92
+ "tf-measure",
93
+ "tf-page",
94
+ "tf-canvas"
95
+ ],
96
+ ease: [
97
+ "tf",
98
+ "tf-spring",
99
+ "tf-glide",
100
+ "tf-settle"
101
+ ],
102
+ font: ["tf-display", "tf-body"],
103
+ radius: [
104
+ "tf-none",
105
+ "tf-inline",
106
+ "tf-control",
107
+ "tf-block",
108
+ "tf-card",
109
+ "tf-pill"
110
+ ],
111
+ shadow: ["tf-float", "tf-mark"],
112
+ spacing: [
113
+ "tf-hairline",
114
+ "tf-control-2xs",
115
+ "tf-control-xs",
116
+ "tf-control-sm",
117
+ "tf-control-md",
118
+ "tf-control-lg",
119
+ "tf-row",
120
+ "tf-chip-sm",
121
+ "tf-target",
122
+ "tf-menu",
123
+ "tf-sidebar",
124
+ "tf-rail",
125
+ "tf-icon-2xs",
126
+ "tf-icon-xs",
127
+ "tf-icon-sm",
128
+ "tf-icon-md",
129
+ "tf-icon-lg",
130
+ "tf-icon-solo-xs",
131
+ "tf-icon-solo-sm",
132
+ "tf-icon-solo-md",
133
+ "tf-icon-solo-lg",
134
+ "tf-mark-glyph",
135
+ "tf-mark-dot",
136
+ "tf-mark-track",
137
+ "tf-mark-inset"
138
+ ],
139
+ text: [
140
+ "tf-numeral",
141
+ "tf-display",
142
+ "tf-h1",
143
+ "tf-h2",
144
+ "tf-h3",
145
+ "tf-h4",
146
+ "tf-figure",
147
+ "tf-unit",
148
+ "tf-lead",
149
+ "tf-body",
150
+ "tf-body-sm",
151
+ "tf-caption",
152
+ "tf-caption-sm"
153
+ ],
154
+ tracking: ["tf-tight", "tf-eyebrow"]
155
+ };
156
+ const durationSteps = [
157
+ "tf-1",
158
+ "tf-2",
159
+ "tf-3",
160
+ "tf-4"
161
+ ];
162
+ const zSteps = [
163
+ "tf-raised",
164
+ "tf-dropdown",
165
+ "tf-tooltip",
166
+ "tf-modal",
167
+ "tf-toast"
168
+ ];
169
+ const utilityFamilies = {
170
+ "tf-animation": [
171
+ "tf-blend-hushed",
172
+ "tf-blended",
173
+ "tf-breathing",
174
+ "tf-chip-arrives",
175
+ "tf-chip-departs",
176
+ "tf-cloud-breathing",
177
+ "tf-lands",
178
+ "tf-looping",
179
+ "tf-pinging",
180
+ "tf-pops",
181
+ "tf-shaken",
182
+ "tf-tallies",
183
+ "tf-turning",
184
+ "tf-twinkling"
185
+ ],
186
+ "tf-cast": [
187
+ "tf-lifted",
188
+ "tf-pressed",
189
+ "tf-raised",
190
+ "tf-settled",
191
+ "tf-settled-quiet"
192
+ ],
193
+ "tf-cloud-blur": [
194
+ "tf-cloud-md",
195
+ "tf-cloud-tight",
196
+ "tf-cloud-wide"
197
+ ],
198
+ "tf-cloud-tone": [
199
+ "tf-cloud-brand",
200
+ "tf-cloud-ink",
201
+ "tf-cloud-quiet"
202
+ ],
203
+ "tf-cloud-weather": [
204
+ "tf-clouded",
205
+ "tf-clouded-lifted",
206
+ "tf-clouding",
207
+ "tf-cloud-hidden"
208
+ ],
209
+ "tf-edge": [
210
+ "tf-edge-lit",
211
+ "tf-edge-milk",
212
+ "tf-edge-plain",
213
+ "tf-edge-sweep"
214
+ ],
215
+ "tf-glass-plate": ["tf-glass-plate", "tf-glass-plate-lit"],
216
+ "tf-icons": ["tf-icons", "tf-icons-solo"],
217
+ "tf-label": [
218
+ "tf-label-inked",
219
+ "tf-label-lit",
220
+ "tf-label-quiet"
221
+ ],
222
+ "tf-lit": ["tf-lit-inside", "tf-lit-rest"],
223
+ "tf-mark-tone": ["tf-mark-failed", "tf-mark-lit"],
224
+ "tf-mask": [
225
+ "tf-cloud-low",
226
+ "tf-faded-x",
227
+ "tf-scroll-faded"
228
+ ],
229
+ "tf-moves": ["tf-moves-glide", "tf-moves-spring"],
230
+ "tf-plated": ["tf-plated", "tf-plated-quiet"],
231
+ "tf-rule": [
232
+ "tf-rule",
233
+ "tf-rule-fall",
234
+ "tf-rule-filled",
235
+ "tf-rule-filled-fall",
236
+ "tf-rule-quiet",
237
+ "tf-rule-quiet-fall"
238
+ ],
239
+ "tf-scroll": ["tf-scroll-hidden", "tf-scroll-thin"],
240
+ "tf-slides": ["tf-slides-settle", "tf-slides-spring"],
241
+ "tf-transition": [
242
+ "tf-arrives",
243
+ "tf-crossfades",
244
+ "tf-fades",
245
+ "tf-grows",
246
+ "tf-resizes",
247
+ "tf-reveals",
248
+ "tf-slows",
249
+ "tf-transition"
250
+ ]
251
+ };
252
+ //#endregion
253
+ export { durationSteps, twScales, utilityFamilies, zSteps };
package/dist/cn.js CHANGED
@@ -1,181 +1,23 @@
1
+ import { durationSteps, twScales, utilityFamilies, zSteps } from "./cn.generated.js";
1
2
  import { clsx } from "clsx";
2
3
  import { extendTailwindMerge } from "tailwind-merge";
3
4
  //#region src/cn.ts
4
- const { color, duration, ...themeScales } = {
5
- animate: [
6
- "tf-arrive",
7
- "tf-blend-in",
8
- "tf-in",
9
- "tf-out",
10
- "tf-chip-in",
11
- "tf-chip-out",
12
- "tf-rewind",
13
- "tf-lift",
14
- "tf-lift-rewind",
15
- "tf-expand",
16
- "tf-collapse",
17
- "tf-depart",
18
- "tf-shake",
19
- "tf-pop",
20
- "tf-nudge",
21
- "tf-fade-in",
22
- "tf-fade-out",
23
- "tf-fade-rewind",
24
- "tf-page",
25
- "tf-page-again",
26
- "tf-rise",
27
- "tf-draw"
28
- ],
29
- blur: [
30
- "tf-panel",
31
- "tf-glass",
32
- "tf-scrim",
33
- "tf-cloud-md",
34
- "tf-cloud-tight",
35
- "tf-cloud-wide"
36
- ],
37
- color: [
38
- "tf-accent",
39
- "tf-accent-hi",
40
- "tf-accent-deep",
41
- "tf-accent-surface",
42
- "tf-accent-tint",
43
- "tf-accent-edge",
44
- "tf-on-accent",
45
- "tf-bg",
46
- "tf-surface",
47
- "tf-surface-hi",
48
- "tf-surface-quiet",
49
- "tf-sunken",
50
- "tf-sunken-hi",
51
- "tf-sunken-quiet",
52
- "tf-control",
53
- "tf-control-hi",
54
- "tf-panel",
55
- "tf-panel-2",
56
- "tf-panel-hi",
57
- "tf-glass",
58
- "tf-shade-under",
59
- "tf-shade-deep",
60
- "tf-scrim",
61
- "tf-line",
62
- "tf-line-2",
63
- "tf-line-hi",
64
- "tf-rule",
65
- "tf-fg",
66
- "tf-fg-held",
67
- "tf-muted",
68
- "tf-success",
69
- "tf-success-hi",
70
- "tf-warning",
71
- "tf-warning-hi",
72
- "tf-info",
73
- "tf-info-hi",
74
- "tf-danger",
75
- "tf-danger-hi",
76
- "tf-danger-wash",
77
- "tf-success-tint",
78
- "tf-success-edge",
79
- "tf-warning-tint",
80
- "tf-warning-edge",
81
- "tf-info-tint",
82
- "tf-info-edge",
83
- "tf-danger-tint",
84
- "tf-danger-edge",
85
- "tf-on-semantic"
86
- ],
87
- container: [
88
- "tf-panel",
89
- "tf-placard",
90
- "tf-measure",
91
- "tf-page",
92
- "tf-canvas"
93
- ],
94
- duration: [
95
- "tf-1",
96
- "tf-2",
97
- "tf-3",
98
- "tf-4"
99
- ],
100
- ease: [
101
- "tf",
102
- "tf-spring",
103
- "tf-glide",
104
- "tf-settle"
105
- ],
106
- font: ["tf-display", "tf-body"],
107
- radius: [
108
- "tf-none",
109
- "tf-inline",
110
- "tf-control",
111
- "tf-block",
112
- "tf-card",
113
- "tf-pill"
114
- ],
115
- shadow: ["tf-float", "tf-mark"],
116
- spacing: [
117
- "tf-hairline",
118
- "tf-control-2xs",
119
- "tf-control-xs",
120
- "tf-control-sm",
121
- "tf-control-md",
122
- "tf-control-lg",
123
- "tf-row",
124
- "tf-chip-sm",
125
- "tf-target",
126
- "tf-menu",
127
- "tf-sidebar",
128
- "tf-rail",
129
- "tf-icon-2xs",
130
- "tf-icon-xs",
131
- "tf-icon-sm",
132
- "tf-icon-md",
133
- "tf-icon-lg",
134
- "tf-icon-solo-xs",
135
- "tf-icon-solo-sm",
136
- "tf-icon-solo-md",
137
- "tf-icon-solo-lg",
138
- "tf-mark-glyph",
139
- "tf-mark-dot",
140
- "tf-mark-track",
141
- "tf-mark-inset"
142
- ],
143
- text: [
144
- "tf-numeral",
145
- "tf-display",
146
- "tf-h1",
147
- "tf-h2",
148
- "tf-h3",
149
- "tf-h4",
150
- "tf-figure",
151
- "tf-unit",
152
- "tf-lead",
153
- "tf-body",
154
- "tf-body-sm",
155
- "tf-caption",
156
- "tf-caption-sm"
157
- ],
158
- tracking: ["tf-tight", "tf-eyebrow"]
159
- };
5
+ const { color, ...themeScales } = twScales;
6
+ const zGroup = "z";
160
7
  const twMerge = extendTailwindMerge({ extend: {
161
8
  classGroups: {
162
- "bg-image": [{ bg: ["tf-blend"] }],
163
- "blend-base": [{ blend: color ?? [] }],
164
- "cloud-blur": [
165
- "tf-cloud-md",
166
- "tf-cloud-tight",
167
- "tf-cloud-wide"
168
- ],
169
- duration: [{ duration: duration ?? [] }],
170
- "text-color": [{ text: ["tf-blend"] }]
9
+ ...utilityFamilies,
10
+ "bg-image": [{ bg: ["tf-blend", "tf-blend-rise"] }],
11
+ "blend-base": [{ blend: color }],
12
+ duration: [{ duration: durationSteps }],
13
+ "text-color": [{ text: ["tf-blend"] }],
14
+ [zGroup]: [{ [zGroup]: zSteps }]
171
15
  },
172
16
  theme: {
173
17
  ...themeScales,
174
- color: color ?? []
18
+ color
175
19
  }
176
20
  } });
177
21
  const cn = (...inputs) => twMerge(clsx(inputs));
178
22
  //#endregion
179
23
  export { cn };
180
-
181
- //# sourceMappingURL=cn.js.map
package/dist/control.d.ts CHANGED
@@ -10,5 +10,4 @@ declare const controlIcon: {
10
10
  xs: string;
11
11
  };
12
12
  //#endregion
13
- export { type ButtonSize, type ControlSize, type FieldSize, controlIcon, defaultFieldSize };
14
- //# sourceMappingURL=control.d.ts.map
13
+ export { type ButtonSize, type ControlSize, type FieldSize, controlIcon, defaultFieldSize };
package/dist/control.js CHANGED
@@ -8,5 +8,3 @@ const controlIcon = {
8
8
  };
9
9
  //#endregion
10
10
  export { controlIcon, defaultFieldSize };
11
-
12
- //# sourceMappingURL=control.js.map