@techfides/ui-library-design 0.8.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 (217) 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 +40 -4
  11. package/dist/cn.js +0 -2
  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 +1 -1
  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.generated.js.map +0 -1
  148. package/dist/cn.js.map +0 -1
  149. package/dist/control.js.map +0 -1
  150. package/dist/mark.js.map +0 -1
  151. package/dist/parts/control.js.map +0 -1
  152. package/dist/parts/eyebrow.js.map +0 -1
  153. package/dist/parts/mark.js.map +0 -1
  154. package/dist/parts/reveal.js.map +0 -1
  155. package/dist/parts/rouse.js.map +0 -1
  156. package/dist/parts/rule.js.map +0 -1
  157. package/dist/parts/scroll.js.map +0 -1
  158. package/dist/parts/shell.js.map +0 -1
  159. package/dist/parts/surface.js.map +0 -1
  160. package/dist/parts/tone.js.map +0 -1
  161. package/dist/parts/travel.js.map +0 -1
  162. package/dist/recipes/accordion.js.map +0 -1
  163. package/dist/recipes/alert.js.map +0 -1
  164. package/dist/recipes/band.js.map +0 -1
  165. package/dist/recipes/bars.js.map +0 -1
  166. package/dist/recipes/brandMark.js.map +0 -1
  167. package/dist/recipes/button.js.map +0 -1
  168. package/dist/recipes/cardHeader.js.map +0 -1
  169. package/dist/recipes/checkbox.js.map +0 -1
  170. package/dist/recipes/chip.js.map +0 -1
  171. package/dist/recipes/codeEditor.js.map +0 -1
  172. package/dist/recipes/datePicker.js.map +0 -1
  173. package/dist/recipes/dialog.js.map +0 -1
  174. package/dist/recipes/feature.js.map +0 -1
  175. package/dist/recipes/field.js.map +0 -1
  176. package/dist/recipes/findings.js.map +0 -1
  177. package/dist/recipes/heading.js.map +0 -1
  178. package/dist/recipes/heartbeat.js.map +0 -1
  179. package/dist/recipes/ink.js.map +0 -1
  180. package/dist/recipes/input.js.map +0 -1
  181. package/dist/recipes/listItem.js.map +0 -1
  182. package/dist/recipes/listbox.js.map +0 -1
  183. package/dist/recipes/marquee.js.map +0 -1
  184. package/dist/recipes/menu.js.map +0 -1
  185. package/dist/recipes/metaRow.js.map +0 -1
  186. package/dist/recipes/meter.js.map +0 -1
  187. package/dist/recipes/motion.js.map +0 -1
  188. package/dist/recipes/nebula.js.map +0 -1
  189. package/dist/recipes/numberRange.js.map +0 -1
  190. package/dist/recipes/paper.js.map +0 -1
  191. package/dist/recipes/progressBar.js.map +0 -1
  192. package/dist/recipes/queue.js.map +0 -1
  193. package/dist/recipes/radioGroup.js.map +0 -1
  194. package/dist/recipes/scopeSwitcher.js.map +0 -1
  195. package/dist/recipes/scrollArea.js.map +0 -1
  196. package/dist/recipes/searchPalette.js.map +0 -1
  197. package/dist/recipes/sectionHeader.js.map +0 -1
  198. package/dist/recipes/segmentedControl.js.map +0 -1
  199. package/dist/recipes/select.js.map +0 -1
  200. package/dist/recipes/separator.js.map +0 -1
  201. package/dist/recipes/sidebar.js.map +0 -1
  202. package/dist/recipes/sky.js.map +0 -1
  203. package/dist/recipes/slider.js.map +0 -1
  204. package/dist/recipes/stat.js.map +0 -1
  205. package/dist/recipes/switch.js.map +0 -1
  206. package/dist/recipes/table.js.map +0 -1
  207. package/dist/recipes/tableFilter.js.map +0 -1
  208. package/dist/recipes/tablePaging.js.map +0 -1
  209. package/dist/recipes/tail.js.map +0 -1
  210. package/dist/recipes/text.js.map +0 -1
  211. package/dist/recipes/textarea.js.map +0 -1
  212. package/dist/recipes/tile.js.map +0 -1
  213. package/dist/recipes/tooltip.js.map +0 -1
  214. package/dist/recipes/topBar.js.map +0 -1
  215. package/dist/recipes/trail.js.map +0 -1
  216. package/dist/recipes/userMenu.js.map +0 -1
  217. package/dist/tone.js.map +0 -1
@@ -77,5 +77,3 @@ const sliderAnatomy = anatomy({
77
77
  });
78
78
  //#endregion
79
79
  export { sliderAnatomy, sliderBoundsRecipe, sliderControlRecipe, sliderFootRecipe, sliderHeadRecipe, sliderHintRecipe, sliderKnobSize, sliderLabelRecipe, sliderNotchRecipe, sliderNotchesRecipe, sliderRangeRecipe, sliderRecipe, sliderThumbRecipe, sliderTrackRecipe, sliderValueRecipe };
80
-
81
- //# sourceMappingURL=slider.js.map
@@ -37,7 +37,6 @@ declare const statAnatomy: {
37
37
  };
38
38
  readonly counted: {
39
39
  readonly part: "counted";
40
- readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
41
40
  readonly required: true;
42
41
  };
43
42
  readonly figure: {
@@ -95,5 +94,4 @@ declare const statAnatomy: {
95
94
  };
96
95
  };
97
96
  //#endregion
98
- export { type StatAccent, type StatDirection, type StatSparkShape, type StatSurface, defaultStatAccent, defaultStatSparkShape, defaultStatSurface, statAccents, statAnatomy, statChangeRecipe, statDirections, statFigureRecipe, statHintRecipe, statLabelRecipe, statRecipe, statSparkRecipe, statSparkShapes, statStackRecipe, statSurfaces, statTermRecipe, statUnitRecipe, statValueRecipe };
99
- //# sourceMappingURL=stat.d.ts.map
97
+ export { type StatAccent, type StatDirection, type StatSparkShape, type StatSurface, defaultStatAccent, defaultStatSparkShape, defaultStatSurface, statAccents, statAnatomy, statChangeRecipe, statDirections, statFigureRecipe, statHintRecipe, statLabelRecipe, statRecipe, statSparkRecipe, statSparkShapes, statStackRecipe, statSurfaces, statTermRecipe, statUnitRecipe, statValueRecipe };
@@ -48,7 +48,6 @@ const statChangeRecipe = cva([
48
48
  ]);
49
49
  const statTermRecipe = cva("sr-only");
50
50
  const statBadgeRecipe = cva("absolute top-4 right-4");
51
- const statCountedRecipe = cva("");
52
51
  const statAnatomy = anatomy({
53
52
  badge: {
54
53
  part: "badge",
@@ -62,7 +61,6 @@ const statAnatomy = anatomy({
62
61
  },
63
62
  counted: {
64
63
  part: "counted",
65
- recipe: statCountedRecipe,
66
64
  required: true
67
65
  },
68
66
  figure: {
@@ -118,5 +116,3 @@ const statAnatomy = anatomy({
118
116
  });
119
117
  //#endregion
120
118
  export { defaultStatAccent, defaultStatSparkShape, defaultStatSurface, statAccents, statAnatomy, statChangeRecipe, statDirections, statFigureRecipe, statHintRecipe, statLabelRecipe, statRecipe, statSparkRecipe, statSparkShapes, statStackRecipe, statSurfaces, statTermRecipe, statUnitRecipe, statValueRecipe };
121
-
122
- //# sourceMappingURL=stat.js.map
@@ -25,5 +25,4 @@ declare const switchAnatomy: {
25
25
  };
26
26
  };
27
27
  //#endregion
28
- export { type SwitchAccent, defaultSwitchAccent, switchAccents, switchAnatomy, switchControlRecipe, switchHintRecipe, switchLabelRecipe, switchRecipe, switchThumbRecipe, switchTitleRecipe };
29
- //# sourceMappingURL=switch.d.ts.map
28
+ export { type SwitchAccent, defaultSwitchAccent, switchAccents, switchAnatomy, switchControlRecipe, switchHintRecipe, switchLabelRecipe, switchRecipe, switchThumbRecipe, switchTitleRecipe };
@@ -62,5 +62,3 @@ const switchAnatomy = anatomy({ root: {
62
62
  } });
63
63
  //#endregion
64
64
  export { defaultSwitchAccent, switchAccents, switchAnatomy, switchControlRecipe, switchHintRecipe, switchLabelRecipe, switchRecipe, switchThumbRecipe, switchTitleRecipe };
65
-
66
- //# sourceMappingURL=switch.js.map
@@ -130,5 +130,4 @@ declare const tableAnatomy: {
130
130
  };
131
131
  };
132
132
  //#endregion
133
- export { type TableAlign, type TableFilterKind, tableActionsCellRecipe, tableActionsWidth, tableAnatomy, tableAppliedRecipe, tableBodyRecipe, tableCardRecipe, tableCellRecipe, tableDetailBodyRecipe, tableDetailRecipe, tableEmptyHintRecipe, tableEmptyRecipe, tableEmptyTitleRecipe, tableExpandIconRecipe, tableExpandRecipe, tableFilterMarkRecipe, tableFilterRecipe, tableGridRecipe, tableGroupRecipe, tableHeadCellRecipe, tableHeadRowRecipe, tableHeadingRecipe, tableMarkRecipe, tablePinWidth, tableRankRecipe, tableRecipe, tableRowRecipe, tableRuleRecipe, tableScrollRecipe, tableSearchRecipe, tableSelectCellRecipe, tableSelectionActionsRecipe, tableSelectionCountRecipe, tableSelectionRecipe, tableSkeletonBarRecipe, tableSkeletonMarkRecipe, tableSortIconRecipe, tableSortLabelRecipe, tableSortMarkRecipe, tableSortRecipe, tableStepRecipe, tableToolbarRecipe, tableValueRecipe };
134
- //# sourceMappingURL=table.d.ts.map
133
+ export { type TableAlign, type TableFilterKind, tableActionsCellRecipe, tableActionsWidth, tableAnatomy, tableAppliedRecipe, tableBodyRecipe, tableCardRecipe, tableCellRecipe, tableDetailBodyRecipe, tableDetailRecipe, tableEmptyHintRecipe, tableEmptyRecipe, tableEmptyTitleRecipe, tableExpandIconRecipe, tableExpandRecipe, tableFilterMarkRecipe, tableFilterRecipe, tableGridRecipe, tableGroupRecipe, tableHeadCellRecipe, tableHeadRowRecipe, tableHeadingRecipe, tableMarkRecipe, tablePinWidth, tableRankRecipe, tableRecipe, tableRowRecipe, tableRuleRecipe, tableScrollRecipe, tableSearchRecipe, tableSelectCellRecipe, tableSelectionActionsRecipe, tableSelectionCountRecipe, tableSelectionRecipe, tableSkeletonBarRecipe, tableSkeletonMarkRecipe, tableSortIconRecipe, tableSortLabelRecipe, tableSortMarkRecipe, tableSortRecipe, tableStepRecipe, tableToolbarRecipe, tableValueRecipe };
@@ -232,5 +232,3 @@ const tableAnatomy = anatomy({
232
232
  });
233
233
  //#endregion
234
234
  export { tableActionsCellRecipe, tableActionsWidth, tableAnatomy, tableAppliedRecipe, tableBodyRecipe, tableCardRecipe, tableCellRecipe, tableDetailBodyRecipe, tableDetailRecipe, tableEmptyHintRecipe, tableEmptyRecipe, tableEmptyTitleRecipe, tableExpandIconRecipe, tableExpandRecipe, tableFilterMarkRecipe, tableFilterRecipe, tableGridRecipe, tableGroupRecipe, tableHeadCellRecipe, tableHeadRowRecipe, tableHeadingRecipe, tableMarkRecipe, tablePinWidth, tableRankRecipe, tableRecipe, tableRowRecipe, tableRuleRecipe, tableScrollRecipe, tableSearchRecipe, tableSelectCellRecipe, tableSelectionActionsRecipe, tableSelectionCountRecipe, tableSelectionRecipe, tableSkeletonBarRecipe, tableSkeletonMarkRecipe, tableSortIconRecipe, tableSortLabelRecipe, tableSortMarkRecipe, tableSortRecipe, tableStepRecipe, tableToolbarRecipe, tableValueRecipe };
235
-
236
- //# sourceMappingURL=table.js.map
@@ -10,5 +10,4 @@ declare const tableFilterFieldRecipe: (props?: import("class-variance-authority/
10
10
  declare const tableFilterRuleRecipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
11
11
  declare const tableFilterFootRecipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
12
12
  //#endregion
13
- export { tableFilterCountRecipe, tableFilterFieldRecipe, tableFilterFootRecipe, tableFilterOptionRecipe, tableFilterOptionsRecipe, tableFilterPanelRecipe, tableFilterRuleRecipe, tableFilterTitleRecipe };
14
- //# sourceMappingURL=tableFilter.d.ts.map
13
+ export { tableFilterCountRecipe, tableFilterFieldRecipe, tableFilterFootRecipe, tableFilterOptionRecipe, tableFilterOptionsRecipe, tableFilterPanelRecipe, tableFilterRuleRecipe, tableFilterTitleRecipe };
@@ -24,5 +24,3 @@ const tableFilterRuleRecipe = cva(`block ${ruleQuiet}`);
24
24
  const tableFilterFootRecipe = cva("flex items-center justify-between gap-2");
25
25
  //#endregion
26
26
  export { tableFilterCountRecipe, tableFilterFieldRecipe, tableFilterFootRecipe, tableFilterOptionRecipe, tableFilterOptionsRecipe, tableFilterPanelRecipe, tableFilterRuleRecipe, tableFilterTitleRecipe };
27
-
28
- //# sourceMappingURL=tableFilter.js.map
@@ -11,5 +11,4 @@ declare const tablePageMarkRecipe: (props?: import("class-variance-authority/typ
11
11
  declare const tablePageRecipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
12
12
  declare const tableGapRecipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
13
13
  //#endregion
14
- export { tableFootRecipe, tableGapRecipe, tablePageMarkRecipe, tablePageRecipe, tablePageSizeMarkRecipe, tablePageSizeRecipe, tablePageSizeStripRecipe, tablePageSizesRecipe, tablePagesRecipe, tablePagingRecipe, tableRangeRecipe };
15
- //# sourceMappingURL=tablePaging.d.ts.map
14
+ export { tableFootRecipe, tableGapRecipe, tablePageMarkRecipe, tablePageRecipe, tablePageSizeMarkRecipe, tablePageSizeRecipe, tablePageSizeStripRecipe, tablePageSizesRecipe, tablePagesRecipe, tablePagingRecipe, tableRangeRecipe };
@@ -46,5 +46,3 @@ const tablePageRecipe = cva([
46
46
  const tableGapRecipe = cva(["flex h-tf-row min-w-tf-row items-center justify-center", "text-tf-caption font-medium text-tf-muted"]);
47
47
  //#endregion
48
48
  export { tableFootRecipe, tableGapRecipe, tablePageMarkRecipe, tablePageRecipe, tablePageSizeMarkRecipe, tablePageSizeRecipe, tablePageSizeStripRecipe, tablePageSizesRecipe, tablePagesRecipe, tablePagingRecipe, tableRangeRecipe };
49
-
50
- //# sourceMappingURL=tablePaging.js.map
@@ -51,5 +51,4 @@ declare const tailAnatomy: {
51
51
  };
52
52
  };
53
53
  //#endregion
54
- export { type TailSeverity, tailAnatomy, tailAtRecipe, tailEmptyRecipe, tailGutterRecipe, tailLineRecipe, tailRecipe, tailScrollRecipe, tailSeverities, tailTextRecipe };
55
- //# sourceMappingURL=tail.d.ts.map
54
+ export { type TailSeverity, tailAnatomy, tailAtRecipe, tailEmptyRecipe, tailGutterRecipe, tailLineRecipe, tailRecipe, tailScrollRecipe, tailSeverities, tailTextRecipe };
@@ -76,5 +76,3 @@ const tailAnatomy = anatomy({
76
76
  });
77
77
  //#endregion
78
78
  export { tailAnatomy, tailAtRecipe, tailEmptyRecipe, tailGutterRecipe, tailLineRecipe, tailRecipe, tailScrollRecipe, tailSeverities, tailTextRecipe };
79
-
80
- //# sourceMappingURL=tail.js.map
@@ -34,5 +34,4 @@ declare const textAnatomy: {
34
34
  };
35
35
  };
36
36
  //#endregion
37
- export { type TextFamily, type TextSize, type TextTone, type TextWeight, defaultTextFamily, defaultTextSize, defaultTextTone, restingWeight, textAnatomy, textFamilies, textRecipe, textSizes, textTones, textWeights };
38
- //# sourceMappingURL=text.d.ts.map
37
+ export { type TextFamily, type TextSize, type TextTone, type TextWeight, defaultTextFamily, defaultTextSize, defaultTextTone, restingWeight, textAnatomy, textFamilies, textRecipe, textSizes, textTones, textWeights };
@@ -95,5 +95,3 @@ const textAnatomy = anatomy({ root: {
95
95
  } });
96
96
  //#endregion
97
97
  export { defaultTextFamily, defaultTextSize, defaultTextTone, restingWeight, textAnatomy, textFamilies, textRecipe, textSizes, textTones, textWeights };
98
-
99
- //# sourceMappingURL=text.js.map
@@ -54,5 +54,4 @@ declare const textareaAnatomy: {
54
54
  };
55
55
  };
56
56
  //#endregion
57
- export { type TextareaReach, textareaAnatomy, textareaCountRecipe, textareaRecipe, textareaShellRecipe };
58
- //# sourceMappingURL=textarea.d.ts.map
57
+ export { type TextareaReach, textareaAnatomy, textareaCountRecipe, textareaRecipe, textareaShellRecipe };
@@ -84,5 +84,3 @@ const textareaAnatomy = anatomy({
84
84
  });
85
85
  //#endregion
86
86
  export { textareaAnatomy, textareaCountRecipe, textareaRecipe, textareaShellRecipe };
87
-
88
- //# sourceMappingURL=textarea.js.map
@@ -36,5 +36,4 @@ declare const tileAnatomy: {
36
36
  };
37
37
  };
38
38
  //#endregion
39
- export { type TileRest, type TileTone, defaultTileRest, defaultTileTone, tileAnatomy, tileCloudRecipe, tileGlyphRecipe, tileRecipe, tileRests, tileTones };
40
- //# sourceMappingURL=tile.d.ts.map
39
+ export { type TileRest, type TileTone, defaultTileRest, defaultTileTone, tileAnatomy, tileCloudRecipe, tileGlyphRecipe, tileRecipe, tileRests, tileTones };
@@ -99,5 +99,3 @@ const tileAnatomy = anatomy({
99
99
  });
100
100
  //#endregion
101
101
  export { defaultTileRest, defaultTileTone, tileAnatomy, tileCloudRecipe, tileGlyphRecipe, tileRecipe, tileRests, tileTones };
102
-
103
- //# sourceMappingURL=tile.js.map
@@ -15,5 +15,4 @@ declare const tooltipAnatomy: {
15
15
  };
16
16
  };
17
17
  //#endregion
18
- export { type TooltipPlacement, defaultTooltipPlacement, tooltipAnatomy, tooltipArrowRecipe, tooltipArrowTipRecipe, tooltipCloseToken, tooltipOpenToken, tooltipPlacements, tooltipRecipe };
19
- //# sourceMappingURL=tooltip.d.ts.map
18
+ export { type TooltipPlacement, defaultTooltipPlacement, tooltipAnatomy, tooltipArrowRecipe, tooltipArrowTipRecipe, tooltipCloseToken, tooltipOpenToken, tooltipPlacements, tooltipRecipe };
@@ -28,5 +28,3 @@ const tooltipAnatomy = anatomy({ root: {
28
28
  } });
29
29
  //#endregion
30
30
  export { defaultTooltipPlacement, tooltipAnatomy, tooltipArrowRecipe, tooltipArrowTipRecipe, tooltipCloseToken, tooltipOpenToken, tooltipPlacements, tooltipRecipe };
31
-
32
- //# sourceMappingURL=tooltip.js.map
@@ -53,5 +53,4 @@ declare const topBarAnatomy: {
53
53
  };
54
54
  };
55
55
  //#endregion
56
- export { type TopBarLevel, defaultTopBarLevel, topBarActionsRecipe, topBarAnatomy, topBarContentRecipe, topBarEdgeRecipe, topBarEyebrowRecipe, topBarHeadingsRecipe, topBarLevels, topBarRecipe, topBarRuleRecipe, topBarTitleRecipe };
57
- //# sourceMappingURL=topBar.d.ts.map
56
+ export { type TopBarLevel, defaultTopBarLevel, topBarActionsRecipe, topBarAnatomy, topBarContentRecipe, topBarEdgeRecipe, topBarEyebrowRecipe, topBarHeadingsRecipe, topBarLevels, topBarRecipe, topBarRuleRecipe, topBarTitleRecipe };
@@ -74,5 +74,3 @@ const topBarAnatomy = anatomy({
74
74
  });
75
75
  //#endregion
76
76
  export { defaultTopBarLevel, topBarActionsRecipe, topBarAnatomy, topBarContentRecipe, topBarEdgeRecipe, topBarEyebrowRecipe, topBarHeadingsRecipe, topBarLevels, topBarRecipe, topBarRuleRecipe, topBarTitleRecipe };
77
-
78
- //# sourceMappingURL=topBar.js.map
@@ -73,5 +73,4 @@ declare const trailAnatomy: {
73
73
  };
74
74
  };
75
75
  //#endregion
76
- export { type TrailFlow, type TrailState, defaultTrailFlow, trailAnatomy, trailBadgeRecipe, trailCaptionRecipe, trailConnectorRecipe, trailFlows, trailHintRecipe, trailLabelRecipe, trailRecipe, trailSpinRecipe, trailStates, trailStepRecipe };
77
- //# sourceMappingURL=trail.d.ts.map
76
+ export { type TrailFlow, type TrailState, defaultTrailFlow, trailAnatomy, trailBadgeRecipe, trailCaptionRecipe, trailConnectorRecipe, trailFlows, trailHintRecipe, trailLabelRecipe, trailRecipe, trailSpinRecipe, trailStates, trailStepRecipe };
@@ -104,5 +104,3 @@ const trailAnatomy = anatomy({
104
104
  });
105
105
  //#endregion
106
106
  export { defaultTrailFlow, trailAnatomy, trailBadgeRecipe, trailCaptionRecipe, trailConnectorRecipe, trailFlows, trailHintRecipe, trailLabelRecipe, trailRecipe, trailSpinRecipe, trailStates, trailStepRecipe };
107
-
108
- //# sourceMappingURL=trail.js.map
@@ -29,5 +29,4 @@ declare const userMenuAnatomy: {
29
29
  };
30
30
  };
31
31
  //#endregion
32
- export { userAvatarRecipe, userChevronRecipe, userIdentityRecipe, userMenuAnatomy, userNameRecipe, userPortraitRecipe, userRoleRecipe, userTriggerRecipe };
33
- //# sourceMappingURL=userMenu.d.ts.map
32
+ export { userAvatarRecipe, userChevronRecipe, userIdentityRecipe, userMenuAnatomy, userNameRecipe, userPortraitRecipe, userRoleRecipe, userTriggerRecipe };
@@ -57,5 +57,3 @@ const userMenuAnatomy = anatomy({
57
57
  });
58
58
  //#endregion
59
59
  export { userAvatarRecipe, userChevronRecipe, userIdentityRecipe, userMenuAnatomy, userNameRecipe, userPortraitRecipe, userRoleRecipe, userTriggerRecipe };
60
-
61
- //# sourceMappingURL=userMenu.js.map
package/dist/tone.d.ts CHANGED
@@ -22,5 +22,4 @@ declare const toneTint: {
22
22
  warning: string;
23
23
  };
24
24
  //#endregion
25
- export { type Tone, toneBlend, toneText, toneTint };
26
- //# sourceMappingURL=tone.d.ts.map
25
+ export { type Tone, toneBlend, toneText, toneTint };
package/dist/tone.js CHANGED
@@ -22,5 +22,3 @@ const toneTint = {
22
22
  };
23
23
  //#endregion
24
24
  export { toneBlend, toneText, toneTint };
25
-
26
- //# sourceMappingURL=tone.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@techfides/ui-library-design",
3
- "version": "0.8.0",
3
+ "version": "0.9.0",
4
4
  "description": "Framework-agnostic design core for the TechFides UI library: Tailwind design tokens and component variant recipes",
5
5
  "keywords": [
6
6
  "cva",
@@ -1 +0,0 @@
1
- {"version":3,"file":"anatomies.js","names":[],"sources":["../src/anatomies.ts"],"sourcesContent":["import type { PartsOf } from './anatomy'\nimport { accordionAnatomy } from './recipes/accordion'\nimport { alertAnatomy } from './recipes/alert'\nimport { bandAnatomy } from './recipes/band'\nimport { barsAnatomy } from './recipes/bars'\nimport { brandMarkAnatomy } from './recipes/brandMark'\nimport { buttonAnatomy } from './recipes/button'\nimport { cardHeaderAnatomy } from './recipes/cardHeader'\nimport { checkboxAnatomy } from './recipes/checkbox'\nimport { chipAnatomy } from './recipes/chip'\nimport { codeEditorAnatomy } from './recipes/codeEditor'\nimport { datePickerAnatomy } from './recipes/datePicker'\nimport { dialogAnatomy } from './recipes/dialog'\nimport { featureAnatomy } from './recipes/feature'\nimport { findingsAnatomy } from './recipes/findings'\nimport { headingAnatomy } from './recipes/heading'\nimport { heartbeatAnatomy } from './recipes/heartbeat'\nimport { inkAnatomy } from './recipes/ink'\nimport { inputAnatomy } from './recipes/input'\nimport { listboxAnatomy } from './recipes/listbox'\nimport { listItemAnatomy } from './recipes/listItem'\nimport { marqueeAnatomy } from './recipes/marquee'\nimport { menuAnatomy } from './recipes/menu'\nimport { metaRowAnatomy } from './recipes/metaRow'\nimport { meterAnatomy } from './recipes/meter'\nimport { numberRangeAnatomy } from './recipes/numberRange'\nimport { paperAnatomy } from './recipes/paper'\nimport { progressBarAnatomy } from './recipes/progressBar'\nimport { queueAnatomy } from './recipes/queue'\nimport { radioGroupAnatomy } from './recipes/radioGroup'\nimport { scopeSwitcherAnatomy } from './recipes/scopeSwitcher'\nimport { scrollAreaAnatomy } from './recipes/scrollArea'\nimport { searchPaletteAnatomy } from './recipes/searchPalette'\nimport { sectionHeaderAnatomy } from './recipes/sectionHeader'\nimport { segmentedControlAnatomy } from './recipes/segmentedControl'\nimport { selectAnatomy } from './recipes/select'\nimport { separatorAnatomy } from './recipes/separator'\nimport { sidebarAnatomy } from './recipes/sidebar'\nimport { skyAnatomy } from './recipes/sky'\nimport { sliderAnatomy } from './recipes/slider'\nimport { statAnatomy } from './recipes/stat'\nimport { switchAnatomy } from './recipes/switch'\nimport { tableAnatomy } from './recipes/table'\nimport { tailAnatomy } from './recipes/tail'\nimport { textAnatomy } from './recipes/text'\nimport { textareaAnatomy } from './recipes/textarea'\nimport { tileAnatomy } from './recipes/tile'\nimport { tooltipAnatomy } from './recipes/tooltip'\nimport { topBarAnatomy } from './recipes/topBar'\nimport { trailAnatomy } from './recipes/trail'\nimport { userMenuAnatomy } from './recipes/userMenu'\n\nconst anatomies = {\n accordion: accordionAnatomy,\n alert: alertAnatomy,\n band: bandAnatomy,\n bars: barsAnatomy,\n 'brand-mark': brandMarkAnatomy,\n button: buttonAnatomy,\n 'card-header': cardHeaderAnatomy,\n checkbox: checkboxAnatomy,\n chip: chipAnatomy,\n 'code-editor': codeEditorAnatomy,\n 'date-picker': datePickerAnatomy,\n dialog: dialogAnatomy,\n feature: featureAnatomy,\n findings: findingsAnatomy,\n heading: headingAnatomy,\n heartbeat: heartbeatAnatomy,\n ink: inkAnatomy,\n input: inputAnatomy,\n 'list-item': listItemAnatomy,\n listbox: listboxAnatomy,\n marquee: marqueeAnatomy,\n menu: menuAnatomy,\n 'meta-row': metaRowAnatomy,\n meter: meterAnatomy,\n 'number-range': numberRangeAnatomy,\n paper: paperAnatomy,\n 'progress-bar': progressBarAnatomy,\n queue: queueAnatomy,\n 'radio-group': radioGroupAnatomy,\n 'scope-switcher': scopeSwitcherAnatomy,\n 'scroll-area': scrollAreaAnatomy,\n 'search-palette': searchPaletteAnatomy,\n 'section-header': sectionHeaderAnatomy,\n 'segmented-control': segmentedControlAnatomy,\n select: selectAnatomy,\n separator: separatorAnatomy,\n sidebar: sidebarAnatomy,\n sky: skyAnatomy,\n slider: sliderAnatomy,\n stat: statAnatomy,\n switch: switchAnatomy,\n table: tableAnatomy,\n tail: tailAnatomy,\n text: textAnatomy,\n textarea: textareaAnatomy,\n tile: tileAnatomy,\n tooltip: tooltipAnatomy,\n 'top-bar': topBarAnatomy,\n trail: trailAnatomy,\n 'user-menu': userMenuAnatomy,\n} as const\n\ntype AnyPart = PartsOf<(typeof anatomies)[keyof typeof anatomies]>\n\nexport { type AnyPart, anatomies }\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDA,MAAM,YAAY;CAChB,WAAW;CACX,OAAO;CACP,MAAM;CACN,MAAM;CACN,cAAc;CACd,QAAQ;CACR,eAAe;CACf,UAAU;CACV,MAAM;CACN,eAAe;CACf,eAAe;CACf,QAAQ;CACR,SAAS;CACT,UAAU;CACV,SAAS;CACT,WAAW;CACX,KAAK;CACL,OAAO;CACP,aAAa;CACb,SAAS;CACT,SAAS;CACT,MAAM;CACN,YAAY;CACZ,OAAO;CACP,gBAAgB;CAChB,OAAO;CACP,gBAAgB;CAChB,OAAO;CACP,eAAe;CACf,kBAAkB;CAClB,eAAe;CACf,kBAAkB;CAClB,kBAAkB;CAClB,qBAAqB;CACrB,QAAQ;CACR,WAAW;CACX,SAAS;CACT,KAAK;CACL,QAAQ;CACR,MAAM;CACN,QAAQ;CACR,OAAO;CACP,MAAM;CACN,MAAM;CACN,UAAU;CACV,MAAM;CACN,SAAS;CACT,WAAW;CACX,OAAO;CACP,aAAa;AACf"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"anatomy.js","names":[],"sources":["../src/anatomy.ts"],"sourcesContent":["type Recipe = (...args: never[]) => string\n\ninterface Part {\n part: string\n recipe: Recipe\n required: boolean\n}\n\ntype Anatomy = Record<string, Part>\n\nconst anatomy = <const Shape extends Anatomy>(parts: Shape): Shape => parts\n\ntype PartsOf<Shape> = Shape extends Anatomy ? Shape[keyof Shape]['part'] : never\n\nexport { type Anatomy, type Part, type PartsOf, type Recipe, anatomy }\n"],"mappings":";AAUA,MAAM,WAAwC,UAAwB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"brands.js","names":[],"sources":["../src/brands.ts"],"sourcesContent":["type BrandSlug = 'techfides' | 'tech-it-out' | 'rtsg' | 'digital-boost-group'\n\ninterface Brand {\n accent: string\n asset: string\n domain: string\n slug: BrandSlug\n title: string\n}\n\nconst brands = [\n {\n accent: '#0075c9',\n asset: 'assets/brands/techfides.svg',\n domain: 'techfides.cz',\n slug: 'techfides',\n title: 'TechFides',\n },\n {\n accent: '#84bd23',\n asset: 'assets/brands/tech-it-out.svg',\n domain: 'techitout.io',\n slug: 'tech-it-out',\n title: 'Tech It Out',\n },\n {\n accent: '#eb7500',\n asset: 'assets/brands/rtsg.svg',\n domain: 'rtsg.cz',\n slug: 'rtsg',\n title: 'RTSG',\n },\n {\n accent: '#995fd2',\n asset: 'assets/brands/digital-boost-group.svg',\n domain: 'digitalboostgroup.cz',\n slug: 'digital-boost-group',\n title: 'Digital Boost Group',\n },\n] as const satisfies readonly Brand[]\n\nconst defaultBrand: BrandSlug = 'techfides'\n\nconst brandTitle = (slug: string): string => {\n const match = brands.find((brand) => brand.slug === slug)\n if (match) {\n return match.title\n }\n return slug\n}\n\nexport type { Brand, BrandSlug }\nexport { brandTitle, brands, defaultBrand }\n"],"mappings":";AAUA,MAAM,SAAS;CACb;EACE,QAAQ;EACR,OAAO;EACP,QAAQ;EACR,MAAM;EACN,OAAO;CACT;CACA;EACE,QAAQ;EACR,OAAO;EACP,QAAQ;EACR,MAAM;EACN,OAAO;CACT;CACA;EACE,QAAQ;EACR,OAAO;EACP,QAAQ;EACR,MAAM;EACN,OAAO;CACT;CACA;EACE,QAAQ;EACR,OAAO;EACP,QAAQ;EACR,MAAM;EACN,OAAO;CACT;AACF;AAEA,MAAM,eAA0B;AAEhC,MAAM,cAAc,SAAyB;CAC3C,MAAM,QAAQ,OAAO,MAAM,UAAU,MAAM,SAAS,IAAI;CACxD,IAAI,OACF,OAAO,MAAM;CAEf,OAAO;AACT"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"cn.generated.js","names":[],"sources":["../src/cn.generated.ts"],"sourcesContent":["const twScales = {\n animate: ['tf-blend-in', 'tf-arrive', 'tf-depart', 'tf-in', 'tf-out', 'tf-chip-in', 'tf-chip-out', 'tf-chip-out-auto', 'tf-rewind', 'tf-lift', 'tf-lift-rewind', 'tf-drawer', 'tf-drawer-rewind', 'tf-expand', 'tf-collapse', 'tf-shake', 'tf-pop', 'tf-nudge', 'tf-fade-in', 'tf-fade-out', 'tf-fade-rewind', 'tf-rise', 'tf-draw', 'tf-page', 'tf-page-again'],\n blur: ['tf-panel', 'tf-glass', 'tf-scrim', 'tf-cloud-md', 'tf-cloud-tight', 'tf-cloud-wide'],\n color: ['tf-accent', 'tf-accent-hi', 'tf-accent-surface', 'tf-accent-deep', 'tf-on-accent', 'tf-accent-tint', 'tf-accent-edge', 'tf-bg', 'tf-surface', 'tf-panel', 'tf-panel-2', 'tf-panel-hi', 'tf-glass', 'tf-sunken', 'tf-sunken-hi', 'tf-sunken-quiet', 'tf-control', 'tf-control-hi', 'tf-surface-hi', 'tf-surface-quiet', 'tf-shade-under', 'tf-shade-deep', 'tf-scrim', 'tf-line', 'tf-line-2', 'tf-line-hi', 'tf-rule', 'tf-fg', 'tf-fg-held', 'tf-muted', 'tf-success', 'tf-success-hi', 'tf-warning', 'tf-warning-hi', 'tf-info', 'tf-info-hi', 'tf-danger', 'tf-danger-hi', 'tf-on-semantic', 'tf-success-tint', 'tf-success-edge', 'tf-warning-tint', 'tf-warning-edge', 'tf-info-tint', 'tf-info-edge', 'tf-danger-tint', 'tf-danger-wash', 'tf-danger-edge'],\n container: ['tf-panel', 'tf-list', 'tf-placard', 'tf-measure', 'tf-page', 'tf-canvas'],\n ease: ['tf', 'tf-spring', 'tf-glide', 'tf-settle'],\n font: ['tf-display', 'tf-body'],\n radius: ['tf-none', 'tf-inline', 'tf-control', 'tf-block', 'tf-card', 'tf-pill'],\n shadow: ['tf-float', 'tf-mark'],\n spacing: ['tf-hairline', 'tf-control-2xs', 'tf-control-xs', 'tf-control-sm', 'tf-control-md', 'tf-control-lg', 'tf-row', 'tf-chip-sm', 'tf-target', 'tf-menu', 'tf-sidebar', 'tf-rail', 'tf-icon-2xs', 'tf-icon-xs', 'tf-icon-sm', 'tf-icon-md', 'tf-icon-lg', 'tf-icon-solo-xs', 'tf-icon-solo-sm', 'tf-icon-solo-md', 'tf-icon-solo-lg', 'tf-mark-glyph', 'tf-mark-dot', 'tf-mark-track', 'tf-mark-inset'],\n text: ['tf-numeral', 'tf-display', 'tf-h1', 'tf-h2', 'tf-h3', 'tf-h4', 'tf-figure', 'tf-unit', 'tf-lead', 'tf-body', 'tf-body-sm', 'tf-caption', 'tf-caption-sm'],\n tracking: ['tf-tight', 'tf-eyebrow'],\n}\n\nconst durationSteps = ['tf-1', 'tf-2', 'tf-3', 'tf-4']\n\nconst zSteps = ['tf-raised', 'tf-dropdown', 'tf-tooltip', 'tf-modal', 'tf-toast']\n\nconst utilityFamilies = {\n 'tf-cloud-blur': ['tf-cloud-md', 'tf-cloud-tight', 'tf-cloud-wide'],\n 'tf-cloud-tone': ['tf-cloud-brand', 'tf-cloud-ink', 'tf-cloud-quiet'],\n 'tf-cloud-weather': ['tf-clouded', 'tf-clouded-lifted', 'tf-clouding', 'tf-cloud-hidden'],\n 'tf-edge': ['tf-edge-lit', 'tf-edge-milk', 'tf-edge-plain', 'tf-edge-sweep'],\n 'tf-glass-plate': ['tf-glass-plate', 'tf-glass-plate-lit'],\n 'tf-icons': ['tf-icons', 'tf-icons-solo'],\n 'tf-label': ['tf-label-inked', 'tf-label-lit', 'tf-label-quiet'],\n 'tf-lit': ['tf-lit-inside', 'tf-lit-rest'],\n 'tf-mark-tone': ['tf-mark-failed', 'tf-mark-lit'],\n 'tf-moves': ['tf-moves-glide', 'tf-moves-spring'],\n 'tf-plated': ['tf-plated', 'tf-plated-quiet'],\n 'tf-rule': ['tf-rule', 'tf-rule-fall', 'tf-rule-filled', 'tf-rule-filled-fall', 'tf-rule-quiet', 'tf-rule-quiet-fall'],\n 'tf-settled': ['tf-settled', 'tf-settled-quiet'],\n 'tf-slides': ['tf-slides-settle', 'tf-slides-spring'],\n}\n\nexport { durationSteps, twScales, utilityFamilies, zSteps }\n"],"mappings":";AAAA,MAAM,WAAW;CACf,SAAS;EAAC;EAAe;EAAa;EAAa;EAAS;EAAU;EAAc;EAAe;EAAoB;EAAa;EAAW;EAAkB;EAAa;EAAoB;EAAa;EAAe;EAAY;EAAU;EAAY;EAAc;EAAe;EAAkB;EAAW;EAAW;EAAW;CAAe;CAC/V,MAAM;EAAC;EAAY;EAAY;EAAY;EAAe;EAAkB;CAAe;CAC3F,OAAO;EAAC;EAAa;EAAgB;EAAqB;EAAkB;EAAgB;EAAkB;EAAkB;EAAS;EAAc;EAAY;EAAc;EAAe;EAAY;EAAa;EAAgB;EAAmB;EAAc;EAAiB;EAAiB;EAAoB;EAAkB;EAAiB;EAAY;EAAW;EAAa;EAAc;EAAW;EAAS;EAAc;EAAY;EAAc;EAAiB;EAAc;EAAiB;EAAW;EAAc;EAAa;EAAgB;EAAkB;EAAmB;EAAmB;EAAmB;EAAmB;EAAgB;EAAgB;EAAkB;EAAkB;CAAgB;CACzuB,WAAW;EAAC;EAAY;EAAW;EAAc;EAAc;EAAW;CAAW;CACrF,MAAM;EAAC;EAAM;EAAa;EAAY;CAAW;CACjD,MAAM,CAAC,cAAc,SAAS;CAC9B,QAAQ;EAAC;EAAW;EAAa;EAAc;EAAY;EAAW;CAAS;CAC/E,QAAQ,CAAC,YAAY,SAAS;CAC9B,SAAS;EAAC;EAAe;EAAkB;EAAiB;EAAiB;EAAiB;EAAiB;EAAU;EAAc;EAAa;EAAW;EAAc;EAAW;EAAe;EAAc;EAAc;EAAc;EAAc;EAAmB;EAAmB;EAAmB;EAAmB;EAAiB;EAAe;EAAiB;CAAe;CAC3Y,MAAM;EAAC;EAAc;EAAc;EAAS;EAAS;EAAS;EAAS;EAAa;EAAW;EAAW;EAAW;EAAc;EAAc;CAAe;CAChK,UAAU,CAAC,YAAY,YAAY;AACrC;AAEA,MAAM,gBAAgB;CAAC;CAAQ;CAAQ;CAAQ;AAAM;AAErD,MAAM,SAAS;CAAC;CAAa;CAAe;CAAc;CAAY;AAAU;AAEhF,MAAM,kBAAkB;CACtB,iBAAiB;EAAC;EAAe;EAAkB;CAAe;CAClE,iBAAiB;EAAC;EAAkB;EAAgB;CAAgB;CACpE,oBAAoB;EAAC;EAAc;EAAqB;EAAe;CAAiB;CACxF,WAAW;EAAC;EAAe;EAAgB;EAAiB;CAAe;CAC3E,kBAAkB,CAAC,kBAAkB,oBAAoB;CACzD,YAAY,CAAC,YAAY,eAAe;CACxC,YAAY;EAAC;EAAkB;EAAgB;CAAgB;CAC/D,UAAU,CAAC,iBAAiB,aAAa;CACzC,gBAAgB,CAAC,kBAAkB,aAAa;CAChD,YAAY,CAAC,kBAAkB,iBAAiB;CAChD,aAAa,CAAC,aAAa,iBAAiB;CAC5C,WAAW;EAAC;EAAW;EAAgB;EAAkB;EAAuB;EAAiB;CAAoB;CACrH,cAAc,CAAC,cAAc,kBAAkB;CAC/C,aAAa,CAAC,oBAAoB,kBAAkB;AACtD"}
package/dist/cn.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cn.js","names":[],"sources":["../src/cn.ts"],"sourcesContent":["import type { ClassValue } from 'clsx'\nimport { clsx } from 'clsx'\nimport { extendTailwindMerge } from 'tailwind-merge'\n\nimport { durationSteps, twScales, utilityFamilies, zSteps } from './cn.generated'\n\nconst { color, ...themeScales } = twScales\nconst zGroup = 'z'\n\nconst twMerge = extendTailwindMerge<string>({\n extend: {\n classGroups: {\n ...utilityFamilies,\n 'bg-image': [{ bg: ['tf-blend', 'tf-blend-rise'] }],\n 'blend-base': [{ blend: color }],\n duration: [{ duration: durationSteps }],\n 'text-color': [{ text: ['tf-blend'] }],\n [zGroup]: [{ [zGroup]: zSteps }],\n },\n theme: { ...themeScales, color },\n },\n})\n\nconst cn = (...inputs: ClassValue[]): string => twMerge(clsx(inputs))\n\nexport { cn }\n"],"mappings":";;;;AAMA,MAAM,EAAE,OAAO,GAAG,gBAAgB;AAClC,MAAM,SAAS;AAEf,MAAM,UAAU,oBAA4B,EAC1C,QAAQ;CACN,aAAa;EACX,GAAG;EACH,YAAY,CAAC,EAAE,IAAI,CAAC,YAAY,eAAe,EAAE,CAAC;EAClD,cAAc,CAAC,EAAE,OAAO,MAAM,CAAC;EAC/B,UAAU,CAAC,EAAE,UAAU,cAAc,CAAC;EACtC,cAAc,CAAC,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;GACpC,SAAS,CAAC,GAAG,SAAS,OAAO,CAAC;CACjC;CACA,OAAO;EAAE,GAAG;EAAa;CAAM;AACjC,EACF,CAAC;AAED,MAAM,MAAM,GAAG,WAAiC,QAAQ,KAAK,MAAM,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"control.js","names":[],"sources":["../src/control.ts"],"sourcesContent":["type ControlSize = 'sm' | 'md' | 'lg'\n\ntype ButtonSize = ControlSize | 'xs'\n\ntype FieldSize = 'lg' | 'md'\n\nconst defaultFieldSize = 'lg' satisfies FieldSize\n\nconst controlIcon = {\n lg: 'size-tf-icon-lg',\n md: 'size-tf-icon-md',\n sm: 'size-tf-icon-sm',\n xs: 'size-tf-icon-xs',\n} satisfies Record<ButtonSize, string>\n\nexport { type ButtonSize, type ControlSize, type FieldSize, controlIcon, defaultFieldSize }\n"],"mappings":";AAMA,MAAM,mBAAmB;AAEzB,MAAM,cAAc;CAClB,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN"}
package/dist/mark.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"mark.js","names":[],"sources":["../src/mark.ts"],"sourcesContent":["type MarkPlate = 'full' | 'snug' | 'bare'\n\nconst markPlates = ['full', 'snug', 'bare'] as const satisfies readonly MarkPlate[]\n\nconst defaultMarkPlate = 'full' satisfies MarkPlate\n\nexport { type MarkPlate, defaultMarkPlate, markPlates }\n"],"mappings":";AAEA,MAAM,aAAa;CAAC;CAAQ;CAAQ;AAAM;AAE1C,MAAM,mBAAmB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"control.js","names":[],"sources":["../../src/parts/control.ts"],"sourcesContent":["import type { ButtonSize, ControlSize } from '#control'\n\nconst controlSizes = ['sm', 'md', 'lg'] as const satisfies readonly ControlSize[]\n\nconst controlGap = {\n lg: 'gap-3',\n md: 'gap-2',\n sm: 'gap-2',\n xs: 'gap-1.5',\n} satisfies Record<ButtonSize, string>\n\nconst controlBox = {\n lg: `h-tf-control-lg ${controlGap.lg} rounded-tf-control text-tf-body [&_svg]:size-tf-icon-lg`,\n md: `h-tf-control-md ${controlGap.md} rounded-tf-control text-tf-body-sm font-medium [&_svg]:size-tf-icon-md`,\n sm: `h-tf-control-sm ${controlGap.sm} rounded-tf-control text-tf-caption font-medium [&_svg]:size-tf-icon-sm`,\n xs: `h-tf-control-xs ${controlGap.xs} rounded-tf-inline text-tf-caption-sm font-medium [&_svg]:size-tf-icon-xs`,\n} satisfies Record<ButtonSize, string>\n\nconst controlBase = [\n 'relative inline-flex shrink-0 items-center',\n 'font-tf-body',\n 'tf-transition',\n 'motion-reduce:transition-none',\n 'tf-icons [&_svg]:pointer-events-none [&_svg]:shrink-0',\n]\n\nconst controlFocus = ['outline-2 outline-solid outline-offset-2 outline-transparent']\n\nconst controlRing = ['focused:outline-tf-accent-hi']\n\nconst controlReach = [...controlFocus, ...controlRing]\n\nconst controlQuiet = [\n 'interactive:hovered:bg-tf-panel-hi',\n 'cursor-pointer tf-transition motion-reduce:transition-none',\n]\n\nconst controlPress = ['motion-safe:interactive:pressed:scale-97']\n\nconst controlInert = [\n 'disabled:cursor-not-allowed disabled:opacity-50',\n 'aria-disabled:cursor-not-allowed aria-disabled:opacity-50',\n 'data-disabled:cursor-not-allowed data-disabled:opacity-50',\n]\n\nconst controlQuietIcon = [\n 'inline-flex flex-none items-center justify-center',\n 'size-tf-control-sm rounded-tf-control',\n 'tf-icons-solo [&_svg]:size-tf-icon-solo-sm [&_svg]:shrink-0',\n 'text-tf-muted interactive:hovered:text-tf-fg',\n ...controlQuiet,\n ...controlReach,\n ...controlInert,\n]\n\nconst hitArea = (height: string, width = 'after:w-full after:min-w-tf-target'): string =>\n [\n 'after:absolute after:top-1/2 after:left-1/2',\n height,\n width,\n 'after:-translate-x-1/2 after:-translate-y-1/2',\n \"after:content-['']\",\n ].join(' ')\n\nexport {\n controlBase,\n controlBox,\n controlGap,\n controlFocus,\n controlInert,\n controlPress,\n controlQuiet,\n controlQuietIcon,\n controlReach,\n controlSizes,\n hitArea,\n}\n"],"mappings":";AAEA,MAAM,eAAe;CAAC;CAAM;CAAM;AAAI;AAEtC,MAAM,aAAa;CACjB,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;AAEA,MAAM,aAAa;CACjB,IAAI,mBAAmB,WAAW,GAAG;CACrC,IAAI,mBAAmB,WAAW,GAAG;CACrC,IAAI,mBAAmB,WAAW,GAAG;CACrC,IAAI,mBAAmB,WAAW,GAAG;AACvC;AAEA,MAAM,cAAc;CAClB;CACA;CACA;CACA;CACA;AACF;AAEA,MAAM,eAAe,CAAC,8DAA8D;AAEpF,MAAM,cAAc,CAAC,8BAA8B;AAEnD,MAAM,eAAe,CAAC,GAAG,cAAc,GAAG,WAAW;AAErD,MAAM,eAAe,CACnB,sCACA,4DACF;AAEA,MAAM,eAAe,CAAC,0CAA0C;AAEhE,MAAM,eAAe;CACnB;CACA;CACA;AACF;AAEA,MAAM,mBAAmB;CACvB;CACA;CACA;CACA;CACA,GAAG;CACH,GAAG;CACH,GAAG;AACL;AAEA,MAAM,WAAW,QAAgB,QAAQ,yCACvC;CACE;CACA;CACA;CACA;CACA;AACF,CAAC,CAAC,KAAK,GAAG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"eyebrow.js","names":[],"sources":["../../src/parts/eyebrow.ts"],"sourcesContent":["const eyebrowType = 'font-medium tracking-tf-eyebrow uppercase'\n\nconst eyebrowQuiet = `${eyebrowType} text-tf-muted`\n\nconst eyebrowLead = 'text-tf-body-sm font-medium text-tf-accent-hi'\n\nexport { eyebrowLead, eyebrowQuiet, eyebrowType }\n"],"mappings":";AAAA,MAAM,cAAc;AAEpB,MAAM,eAAe,GAAG,YAAY;AAEpC,MAAM,cAAc"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mark.js","names":[],"sources":["../../src/parts/mark.ts"],"sourcesContent":["import type { MarkPlate } from '#mark'\nimport { controlReach, hitArea } from '#parts/control'\n\nconst markRow = [\n 'relative flex items-center',\n 'font-tf-body',\n 'tf-transition motion-reduce:transition-none',\n 'interactive:not-data-readonly:cursor-pointer',\n 'data-disabled:cursor-not-allowed',\n]\n\nconst REACHES_A_FINGER = hitArea('after:h-tf-target')\n\nconst markPlate = {\n bare: REACHES_A_FINGER,\n full: 'min-h-tf-target rounded-tf-block px-3 py-2',\n snug: `min-h-tf-row rounded-tf-inline px-2 py-1 ${REACHES_A_FINGER}`,\n} satisfies Record<MarkPlate, string>\n\nconst markSquare = {\n bare: `justify-center ${REACHES_A_FINGER}`,\n full: 'size-tf-target justify-center rounded-tf-block',\n snug: `size-tf-row justify-center rounded-tf-inline ${REACHES_A_FINGER}`,\n} satisfies Record<MarkPlate, string>\n\nconst markPlated = {\n bare: '',\n full: 'not-data-readonly:interactive:hovered:bg-tf-panel-hi',\n snug: 'not-data-readonly:interactive:hovered:bg-tf-panel-hi',\n} satisfies Record<MarkPlate, string>\n\nconst markFace = [\n 'relative inline-flex shrink-0 items-center',\n 'data-disabled:opacity-50',\n 'tf-mark-edge blend-tf-accent',\n 'tf-transition motion-reduce:transition-none',\n ...controlReach,\n]\n\nconst markBox = [\n ...markFace,\n 'size-tf-icon-solo-sm justify-center',\n 'not-data-[state=checked]:not-data-[state=indeterminate]:not-data-readonly:interactive:hovered:tf-mark-bloomed',\n]\n\nconst markPress = 'motion-safe:interactive:pressed:scale-94'\n\nconst markFailed = 'tf-mark-failed'\n\nconst markKnob = [\n 'block shrink-0 rounded-tf-inline',\n 'bg-tf-fg shadow-tf-mark',\n 'tf-transition tf-slides-spring motion-reduce:transition-none',\n 'data-disabled:bg-tf-muted',\n]\n\nconst markStack = ['flex min-w-0 flex-col gap-0', 'tf-transition motion-reduce:transition-none']\n\nconst markTitle = [\n 'text-tf-body text-tf-fg data-disabled:text-tf-muted',\n '**:data-[part=required-indicator]:text-tf-danger-hi',\n]\n\nconst markGroup = 'flex flex-col gap-1'\n\nexport {\n markBox,\n markFace,\n markFailed,\n markGroup,\n markKnob,\n markPlate,\n markPlated,\n markPress,\n markRow,\n markSquare,\n markStack,\n markTitle,\n}\n"],"mappings":";;AAGA,MAAM,UAAU;CACd;CACA;CACA;CACA;CACA;AACF;AAEA,MAAM,mBAAmB,QAAQ,mBAAmB;AAEpD,MAAM,YAAY;CAChB,MAAM;CACN,MAAM;CACN,MAAM,4CAA4C;AACpD;AAEA,MAAM,aAAa;CACjB,MAAM,kBAAkB;CACxB,MAAM;CACN,MAAM,gDAAgD;AACxD;AAEA,MAAM,aAAa;CACjB,MAAM;CACN,MAAM;CACN,MAAM;AACR;AAEA,MAAM,WAAW;CACf;CACA;CACA;CACA;CACA,GAAG;AACL;AAEA,MAAM,UAAU;CACd,GAAG;CACH;CACA;AACF;AAEA,MAAM,YAAY;AAElB,MAAM,aAAa;AAEnB,MAAM,WAAW;CACf;CACA;CACA;CACA;AACF;AAEA,MAAM,YAAY,CAAC,+BAA+B,6CAA6C;AAE/F,MAAM,YAAY,CAChB,uDACA,qDACF;AAEA,MAAM,YAAY"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"reveal.js","names":[],"sources":["../../src/parts/reveal.ts"],"sourcesContent":["const HIDDEN = 'w-0 scale-90 opacity-0'\n\nconst SHOWN = 'scale-100 opacity-100'\n\nconst revealedIcon = [\n 'inline-flex flex-none items-center overflow-hidden tf-reveals',\n HIDDEN,\n 'in-[[data-part=head]:hover,[data-part=head][data-hover]]:w-tf-icon-2xs',\n 'in-[[data-part=head]:hover,[data-part=head][data-hover]]:scale-100',\n 'in-[[data-part=head]:hover,[data-part=head][data-hover]]:opacity-100',\n 'in-[[data-part=head]:focus-within]:w-tf-icon-2xs',\n 'in-[[data-part=head]:focus-within]:scale-100',\n 'in-[[data-part=head]:focus-within]:opacity-100',\n 'in-[[data-part=head]:has([data-state=open])]:w-tf-icon-2xs',\n 'in-[[data-part=head]:has([data-state=open])]:scale-100',\n 'in-[[data-part=head]:has([data-state=open])]:opacity-100',\n].join(' ')\n\nconst revealedControl = [\n 'inline-flex flex-none items-center overflow-hidden tf-reveals',\n HIDDEN,\n 'in-[[data-part=head]:hover,[data-part=head][data-hover]]:w-tf-control-2xs',\n 'in-[[data-part=head]:hover,[data-part=head][data-hover]]:scale-100',\n 'in-[[data-part=head]:hover,[data-part=head][data-hover]]:opacity-100',\n 'in-[[data-part=head]:focus-within]:w-tf-control-2xs',\n 'in-[[data-part=head]:focus-within]:scale-100',\n 'in-[[data-part=head]:focus-within]:opacity-100',\n 'in-[[data-part=head]:has([data-state=open])]:w-tf-control-2xs',\n 'in-[[data-part=head]:has([data-state=open])]:scale-100',\n 'in-[[data-part=head]:has([data-state=open])]:opacity-100',\n].join(' ')\n\nconst shownIcon = `inline-flex flex-none items-center tf-reveals w-tf-icon-2xs ${SHOWN}`\n\nconst shownControl = `inline-flex flex-none items-center tf-reveals w-tf-control-2xs ${SHOWN}`\n\nexport { revealedControl, revealedIcon, shownControl, shownIcon }\n"],"mappings":";AAAA,MAAM,SAAS;AAEf,MAAM,QAAQ;AAEd,MAAM,eAAe;CACnB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC,CAAC,KAAK,GAAG;AAEV,MAAM,kBAAkB;CACtB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC,CAAC,KAAK,GAAG;AAEV,MAAM,YAAY,+DAA+D;AAEjF,MAAM,eAAe,kEAAkE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"rouse.js","names":[],"sources":["../../src/parts/rouse.ts"],"sourcesContent":["const tileRoused = [\n 'hovered:**:data-[part=tile]:tf-blended',\n 'hovered:**:data-[part=tile]:tf-milked',\n 'hovered:**:data-[part=tile]:tf-clouding',\n 'hovered:**:data-[part=tile]:tf-glow',\n 'hovered:**:data-[part=tile]:tf-lifted',\n 'hovered:**:data-[part=tile]:tf-lit-inside',\n 'hovered:**:data-[part=tile]:tf-edge-lit',\n 'motion-safe:hovered:**:data-[part=glyph]:scale-105',\n].join(' ')\n\nconst tileReached = [\n 'reached:**:data-[part=tile]:tf-blended',\n 'reached:**:data-[part=tile]:tf-milked',\n 'reached:**:data-[part=tile]:tf-clouding',\n 'reached:**:data-[part=tile]:tf-glow',\n 'reached:**:data-[part=tile]:tf-lifted',\n 'reached:**:data-[part=tile]:tf-lit-inside',\n 'reached:**:data-[part=tile]:tf-edge-lit',\n 'motion-safe:reached:**:data-[part=glyph]:scale-105',\n].join(' ')\n\nexport { tileReached, tileRoused }\n"],"mappings":";AAAA,MAAM,aAAa;CACjB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC,CAAC,KAAK,GAAG;AAEV,MAAM,cAAc;CAClB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC,CAAC,KAAK,GAAG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"rule.js","names":[],"sources":["../../src/parts/rule.ts"],"sourcesContent":["const HAIRLINE_ACROSS = 'h-tf-hairline'\n\nconst HAIRLINE_DOWN = 'w-tf-hairline min-h-tf-row'\n\nconst RULE_ACCENT = 'blend-tf-accent'\n\nconst fadingOf = (blend: string): string => `${HAIRLINE_ACROSS} ${blend} tf-rule`\n\nconst filledOf = (blend: string): string => `${HAIRLINE_ACROSS} ${blend} tf-rule-filled`\n\nconst fadingDownOf = (blend: string): string => `${HAIRLINE_DOWN} ${blend} tf-rule-fall`\n\nconst filledDownOf = (blend: string): string => `${HAIRLINE_DOWN} ${blend} tf-rule-filled-fall`\n\nconst ruleFading = fadingOf(RULE_ACCENT)\n\nconst ruleQuiet = `${HAIRLINE_ACROSS} tf-rule-quiet`\n\nconst ruleQuietDown = `${HAIRLINE_DOWN} tf-rule-quiet-fall`\n\nexport { fadingDownOf, fadingOf, filledDownOf, filledOf, ruleFading, ruleQuiet, ruleQuietDown }\n"],"mappings":";AAAA,MAAM,kBAAkB;AAExB,MAAM,gBAAgB;AAEtB,MAAM,cAAc;AAEpB,MAAM,YAAY,UAA0B,GAAG,gBAAgB,GAAG,MAAM;AAExE,MAAM,YAAY,UAA0B,GAAG,gBAAgB,GAAG,MAAM;AAExE,MAAM,gBAAgB,UAA0B,GAAG,cAAc,GAAG,MAAM;AAE1E,MAAM,gBAAgB,UAA0B,GAAG,cAAc,GAAG,MAAM;AAE1E,MAAM,aAAa,SAAS,WAAW;AAEvC,MAAM,YAAY,GAAG,gBAAgB;AAErC,MAAM,gBAAgB,GAAG,cAAc"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"scroll.js","names":[],"sources":["../../src/parts/scroll.ts"],"sourcesContent":["const scrollFades = [\n 'tf-scroll-faded tf-fades motion-reduce:transition-none',\n 'data-overflow-y:not-data-at-top:[--tf-fade-head:calc(var(--spacing)*6)]',\n 'data-overflow-y:not-data-at-bottom:[--tf-fade-foot:calc(var(--spacing)*6)]',\n]\n\nexport { scrollFades }\n"],"mappings":";AAAA,MAAM,cAAc;CAClB;CACA;CACA;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"shell.js","names":[],"sources":["../../src/parts/shell.ts"],"sourcesContent":["const controlLabelLevel = 'asleep:**:data-[part=label]:scale-100'\n\nconst controlHealthy = [\n 'blend-tf-accent',\n 'asleep:**:data-[part=label]:tf-label-quiet',\n 'reached:**:data-[part=label]:tf-label-inked',\n 'not-data-readonly:reached:bg-tf-sunken-hi',\n 'data-readonly:reached:bg-tf-sunken',\n].join(' ')\n\nconst controlFailed = [\n 'tf-edge-lit tf-clouding tf-label-failed blend-tf-danger',\n '**:data-[part=label]:tf-label-lit',\n].join(' ')\n\nconst controlShell = (wakes: readonly string[], labelRest: string): string[] => [\n 'not-data-readonly:bg-tf-sunken data-readonly:bg-tf-sunken-quiet',\n 'tf-edge-sweep tf-swept tf-fill-scale tf-cloud-quiet tf-cloud-hidden',\n 'not-data-readonly:interactive:hovered:bg-tf-sunken-hi',\n 'reached:tf-edge-lit',\n ...wakes,\n labelRest,\n controlLabelLevel,\n]\n\nexport { controlFailed, controlHealthy, controlShell }\n"],"mappings":";AAAA,MAAM,oBAAoB;AAE1B,MAAM,iBAAiB;CACrB;CACA;CACA;CACA;CACA;AACF,CAAC,CAAC,KAAK,GAAG;AAEV,MAAM,gBAAgB,CACpB,2DACA,mCACF,CAAC,CAAC,KAAK,GAAG;AAEV,MAAM,gBAAgB,OAA0B,cAAgC;CAC9E;CACA;CACA;CACA;CACA,GAAG;CACH;CACA;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"surface.js","names":[],"sources":["../../src/parts/surface.ts"],"sourcesContent":["const surfaceShape = ['relative isolate', 'rounded-tf-card']\n\nconst surfaceFill = ['bg-tf-panel backdrop-blur-tf-panel']\n\nconst surfaceEdge = ['tf-edge-sweep tf-swept']\n\nconst surfaceSkin = [...surfaceShape, ...surfaceFill, ...surfaceEdge]\n\nconst surfacePanel = [...surfaceSkin, 'blend-tf-accent']\n\nconst surfaceLifted = ['shadow-tf-float', 'tf-cloud-brand tf-clouded-lifted tf-fill-scale']\n\nexport { surfaceLifted, surfacePanel, surfaceSkin }\n"],"mappings":";AAAA,MAAM,eAAe,CAAC,oBAAoB,iBAAiB;AAE3D,MAAM,cAAc,CAAC,oCAAoC;AAEzD,MAAM,cAAc,CAAC,wBAAwB;AAE7C,MAAM,cAAc;CAAC,GAAG;CAAc,GAAG;CAAa,GAAG;AAAW;AAEpE,MAAM,eAAe,CAAC,GAAG,aAAa,iBAAiB;AAEvD,MAAM,gBAAgB,CAAC,mBAAmB,gDAAgD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tone.js","names":[],"sources":["../../src/parts/tone.ts"],"sourcesContent":["import type { Tone } from '#tone'\n\nconst tones = ['accent', 'success', 'warning', 'info', 'danger'] as const satisfies readonly Tone[]\n\nconst defaultTone = 'accent' satisfies Tone\n\nexport { defaultTone, tones }\n"],"mappings":";AAEA,MAAM,QAAQ;CAAC;CAAU;CAAW;CAAW;CAAQ;AAAQ;AAE/D,MAAM,cAAc"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"travel.js","names":[],"sources":["../../src/parts/travel.ts"],"sourcesContent":["const travelMarkBase = [\n 'pointer-events-none absolute top-0',\n 'opacity-0 data-lit:opacity-100',\n 'tf-slides-settle tf-transition motion-reduce:transition-none',\n 'data-placing:[--tf-slide-timing:0s]',\n]\n\nexport { travelMarkBase }\n"],"mappings":";AAAA,MAAM,iBAAiB;CACrB;CACA;CACA;CACA;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"accordion.js","names":[],"sources":["../../src/recipes/accordion.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { anatomy } from '#anatomy'\nimport { controlInert, controlReach } from '#parts/control'\nimport { ruleFading } from '#parts/rule'\n\nimport { collapseMotion } from './motion'\n\nconst accordionRecipe = cva('flex w-full flex-col gap-3 font-tf-body')\n\nconst accordionItemRecipe = cva([\n 'relative isolate flex flex-col rounded-tf-block bg-tf-panel',\n 'tf-edge-sweep tf-swept blend-tf-accent tf-edge-plain',\n 'data-[state=open]:bg-tf-panel-hi data-[state=open]:tf-ring-rest',\n 'tf-transition motion-reduce:transition-none',\n 'data-disabled:opacity-50',\n])\n\nconst accordionTriggerRecipe = cva([\n 'flex min-h-tf-control-lg w-full flex-none items-center gap-4',\n 'rounded-tf-block px-4 text-left',\n 'text-tf-body text-tf-fg',\n 'not-data-[state=open]:interactive:hovered:bg-tf-panel-hi',\n 'cursor-pointer tf-transition motion-reduce:transition-none',\n 'tf-icons',\n ...controlReach,\n ...controlInert,\n])\n\nconst accordionLabelRecipe = cva('min-w-0 flex-1 py-3 text-pretty')\n\nconst accordionMetaRecipe = cva('flex-none font-mono text-tf-caption-sm text-tf-muted')\n\nconst accordionIndicatorRecipe = cva([\n 'flex size-tf-icon-sm flex-none items-center justify-center',\n 'text-tf-muted [&_svg]:size-tf-icon-sm [&_svg]:shrink-0',\n 'data-[state=open]:rotate-180 data-[state=open]:text-tf-accent-hi',\n 'tf-transition motion-reduce:transition-none',\n])\n\nconst accordionContentRecipe = cva([...collapseMotion, 'motion-reduce:animate-none'])\n\nconst accordionBodyRecipe = cva([\n 'flex flex-col gap-4 px-4 pt-3 pb-4',\n 'text-tf-body-sm font-medium text-tf-muted',\n 'in-data-[state=open]:motion-safe:animate-tf-rise',\n])\n\nconst accordionRuleRecipe = cva([\n `flex-none ${ruleFading}`,\n 'origin-left in-data-[state=open]:motion-safe:animate-tf-draw',\n])\n\nconst accordionAnatomy = anatomy({\n body: { part: 'body', recipe: accordionBodyRecipe, required: true },\n label: { part: 'label', recipe: accordionLabelRecipe, required: true },\n meta: { part: 'meta', recipe: accordionMetaRecipe, required: false },\n root: { part: 'accordion', recipe: accordionRecipe, required: true },\n rule: { part: 'rule', recipe: accordionRuleRecipe, required: true },\n})\n\nexport {\n accordionAnatomy,\n accordionBodyRecipe,\n accordionContentRecipe,\n accordionIndicatorRecipe,\n accordionItemRecipe,\n accordionLabelRecipe,\n accordionMetaRecipe,\n accordionRecipe,\n accordionRuleRecipe,\n accordionTriggerRecipe,\n}\n"],"mappings":";;;;;;AAQA,MAAM,kBAAkB,IAAI,yCAAyC;AAErE,MAAM,sBAAsB,IAAI;CAC9B;CACA;CACA;CACA;CACA;AACF,CAAC;AAED,MAAM,yBAAyB,IAAI;CACjC;CACA;CACA;CACA;CACA;CACA;CACA,GAAG;CACH,GAAG;AACL,CAAC;AAED,MAAM,uBAAuB,IAAI,iCAAiC;AAElE,MAAM,sBAAsB,IAAI,sDAAsD;AAEtF,MAAM,2BAA2B,IAAI;CACnC;CACA;CACA;CACA;AACF,CAAC;AAED,MAAM,yBAAyB,IAAI,CAAC,GAAG,gBAAgB,4BAA4B,CAAC;AAEpF,MAAM,sBAAsB,IAAI;CAC9B;CACA;CACA;AACF,CAAC;AAED,MAAM,sBAAsB,IAAI,CAC9B,aAAa,cACb,8DACF,CAAC;AAED,MAAM,mBAAmB,QAAQ;CAC/B,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAqB,UAAU;CAAK;CAClE,OAAO;EAAE,MAAM;EAAS,QAAQ;EAAsB,UAAU;CAAK;CACrE,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAqB,UAAU;CAAM;CACnE,MAAM;EAAE,MAAM;EAAa,QAAQ;EAAiB,UAAU;CAAK;CACnE,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAqB,UAAU;CAAK;AACpE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"alert.js","names":[],"sources":["../../src/recipes/alert.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { anatomy } from '#anatomy'\n\nimport { featureBodyRecipe, featureTitleRecipe } from './feature'\n\nconst alertVariants = ['banner', 'inline'] as const\n\ntype AlertVariant = (typeof alertVariants)[number]\n\nconst defaultAlertVariant = 'banner' satisfies AlertVariant\n\nconst alertBannerRecipe = cva('flex flex-col items-start gap-5 @tf-panel:flex-row', {\n defaultVariants: { titled: true },\n variants: {\n titled: { false: '@tf-panel:items-center', true: '' },\n },\n})\n\nconst alertBannerTextRecipe = cva('flex min-w-0 flex-1 flex-col gap-5')\n\nconst alertDetailRecipe = cva('flex flex-wrap gap-2')\n\nconst alertActionRecipe = cva([\n '-mr-3 ml-auto flex flex-none items-center',\n '@tf-panel:min-h-tf-control-lg',\n])\n\nconst alertInlineRecipe = cva([\n 'flex items-center gap-3 rounded-tf-control bg-tf-sunken-hi px-4 py-3',\n])\n\nconst alertInlineMarkRecipe = cva('size-2 flex-none rounded-tf-pill bg-tf-blend')\n\nconst alertInlineTextRecipe = cva('min-w-0 flex-1 text-tf-body-sm font-medium text-tf-fg')\n\nconst alertAnatomy = anatomy({\n action: { part: 'action', recipe: alertActionRecipe, required: false },\n banner: { part: 'banner', recipe: alertBannerRecipe, required: false },\n body: { part: 'body', recipe: featureBodyRecipe, required: false },\n detail: { part: 'detail', recipe: alertDetailRecipe, required: false },\n mark: { part: 'mark', recipe: alertInlineMarkRecipe, required: false },\n root: { part: 'alert', recipe: alertInlineRecipe, required: true },\n text: { part: 'text', recipe: alertBannerTextRecipe, required: true },\n title: { part: 'title', recipe: featureTitleRecipe, required: false },\n})\n\nexport {\n type AlertVariant,\n alertActionRecipe,\n alertAnatomy,\n alertBannerRecipe,\n alertBannerTextRecipe,\n alertDetailRecipe,\n alertInlineMarkRecipe,\n alertInlineRecipe,\n alertInlineTextRecipe,\n alertVariants,\n defaultAlertVariant,\n}\n"],"mappings":";;;;AAMA,MAAM,gBAAgB,CAAC,UAAU,QAAQ;AAIzC,MAAM,sBAAsB;AAE5B,MAAM,oBAAoB,IAAI,sDAAsD;CAClF,iBAAiB,EAAE,QAAQ,KAAK;CAChC,UAAU,EACR,QAAQ;EAAE,OAAO;EAA0B,MAAM;CAAG,EACtD;AACF,CAAC;AAED,MAAM,wBAAwB,IAAI,oCAAoC;AAEtE,MAAM,oBAAoB,IAAI,sBAAsB;AAEpD,MAAM,oBAAoB,IAAI,CAC5B,6CACA,+BACF,CAAC;AAED,MAAM,oBAAoB,IAAI,CAC5B,sEACF,CAAC;AAED,MAAM,wBAAwB,IAAI,8CAA8C;AAEhF,MAAM,wBAAwB,IAAI,uDAAuD;AAEzF,MAAM,eAAe,QAAQ;CAC3B,QAAQ;EAAE,MAAM;EAAU,QAAQ;EAAmB,UAAU;CAAM;CACrE,QAAQ;EAAE,MAAM;EAAU,QAAQ;EAAmB,UAAU;CAAM;CACrE,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAmB,UAAU;CAAM;CACjE,QAAQ;EAAE,MAAM;EAAU,QAAQ;EAAmB,UAAU;CAAM;CACrE,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAuB,UAAU;CAAM;CACrE,MAAM;EAAE,MAAM;EAAS,QAAQ;EAAmB,UAAU;CAAK;CACjE,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAuB,UAAU;CAAK;CACpE,OAAO;EAAE,MAAM;EAAS,QAAQ;EAAoB,UAAU;CAAM;AACtE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"band.js","names":[],"sources":["../../src/recipes/band.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { anatomy } from '#anatomy'\n\nconst bandRecipe = cva('px-6 py-24 sm:px-12', {\n defaultVariants: { divider: false, surface: false },\n variants: {\n divider: { false: '', true: 'border-t border-tf-line-2' },\n surface: { false: '', true: 'bg-tf-surface' },\n },\n})\n\nconst bandAnatomy = anatomy({\n root: { part: 'band', recipe: bandRecipe, required: true },\n})\n\nexport { bandAnatomy, bandRecipe }\n"],"mappings":";;;AAIA,MAAM,aAAa,IAAI,uBAAuB;CAC5C,iBAAiB;EAAE,SAAS;EAAO,SAAS;CAAM;CAClD,UAAU;EACR,SAAS;GAAE,OAAO;GAAI,MAAM;EAA4B;EACxD,SAAS;GAAE,OAAO;GAAI,MAAM;EAAgB;CAC9C;AACF,CAAC;AAED,MAAM,cAAc,QAAQ,EAC1B,MAAM;CAAE,MAAM;CAAQ,QAAQ;CAAY,UAAU;AAAK,EAC3D,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"bars.js","names":[],"sources":["../../src/recipes/bars.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { anatomy } from '#anatomy'\n\nconst barsRecipe = cva([\n '@container relative isolate flex grow flex-col justify-between gap-4 p-6',\n 'rounded-tf-card bg-tf-glass shadow-tf-float backdrop-blur-tf-glass',\n 'tf-edge-sweep font-tf-body text-tf-fg tf-transition',\n])\n\nconst barsHeadRecipe = cva('flex flex-wrap items-start justify-between gap-4')\n\nconst barsTextRecipe = cva('flex flex-col gap-1')\n\nconst barsLabelRecipe = cva('text-tf-body-sm font-medium text-tf-fg')\n\nconst barsHintRecipe = cva('text-tf-caption-sm text-tf-muted')\n\nconst barsFootRecipe = cva('flex flex-col items-end gap-1 text-tf-caption-sm text-tf-muted')\n\nconst barsLegendRecipe = cva('flex items-center gap-2')\n\nconst barsLegendListRecipe = cva('flex flex-wrap items-center gap-4')\n\nconst barsLegendDotRecipe = cva('size-2 flex-none rounded-tf-pill', {\n defaultVariants: { tone: 'accent' },\n variants: {\n tone: {\n accent: 'bg-tf-blend blend-tf-accent',\n plain: '',\n },\n },\n})\n\nconst barsSummaryRecipe = cva('tabular-nums')\n\nconst barsChartRecipe = cva('h-36 w-full')\n\nconst barsAnatomy = anatomy({\n chart: { part: 'chart', recipe: barsChartRecipe, required: true },\n dot: { part: 'dot', recipe: barsLegendDotRecipe, required: false },\n foot: { part: 'foot', recipe: barsFootRecipe, required: false },\n head: { part: 'head', recipe: barsHeadRecipe, required: true },\n hint: { part: 'hint', recipe: barsHintRecipe, required: false },\n label: { part: 'label', recipe: barsLabelRecipe, required: true },\n legend: { part: 'legend', recipe: barsLegendRecipe, required: false },\n legendList: { part: 'legend-list', recipe: barsLegendListRecipe, required: false },\n root: { part: 'bars', recipe: barsRecipe, required: true },\n summary: { part: 'summary', recipe: barsSummaryRecipe, required: false },\n text: { part: 'text', recipe: barsTextRecipe, required: true },\n})\n\nexport {\n barsAnatomy,\n barsChartRecipe,\n barsFootRecipe,\n barsHeadRecipe,\n barsHintRecipe,\n barsLabelRecipe,\n barsLegendDotRecipe,\n barsLegendListRecipe,\n barsLegendRecipe,\n barsRecipe,\n barsSummaryRecipe,\n barsTextRecipe,\n}\n"],"mappings":";;;AAIA,MAAM,aAAa,IAAI;CACrB;CACA;CACA;AACF,CAAC;AAED,MAAM,iBAAiB,IAAI,kDAAkD;AAE7E,MAAM,iBAAiB,IAAI,qBAAqB;AAEhD,MAAM,kBAAkB,IAAI,wCAAwC;AAEpE,MAAM,iBAAiB,IAAI,kCAAkC;AAE7D,MAAM,iBAAiB,IAAI,gEAAgE;AAE3F,MAAM,mBAAmB,IAAI,yBAAyB;AAEtD,MAAM,uBAAuB,IAAI,mCAAmC;AAEpE,MAAM,sBAAsB,IAAI,oCAAoC;CAClE,iBAAiB,EAAE,MAAM,SAAS;CAClC,UAAU,EACR,MAAM;EACJ,QAAQ;EACR,OAAO;CACT,EACF;AACF,CAAC;AAED,MAAM,oBAAoB,IAAI,cAAc;AAE5C,MAAM,kBAAkB,IAAI,aAAa;AAEzC,MAAM,cAAc,QAAQ;CAC1B,OAAO;EAAE,MAAM;EAAS,QAAQ;EAAiB,UAAU;CAAK;CAChE,KAAK;EAAE,MAAM;EAAO,QAAQ;EAAqB,UAAU;CAAM;CACjE,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAgB,UAAU;CAAM;CAC9D,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAgB,UAAU;CAAK;CAC7D,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAgB,UAAU;CAAM;CAC9D,OAAO;EAAE,MAAM;EAAS,QAAQ;EAAiB,UAAU;CAAK;CAChE,QAAQ;EAAE,MAAM;EAAU,QAAQ;EAAkB,UAAU;CAAM;CACpE,YAAY;EAAE,MAAM;EAAe,QAAQ;EAAsB,UAAU;CAAM;CACjF,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAY,UAAU;CAAK;CACzD,SAAS;EAAE,MAAM;EAAW,QAAQ;EAAmB,UAAU;CAAM;CACvE,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAgB,UAAU;CAAK;AAC/D,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"brandMark.js","names":[],"sources":["../../src/recipes/brandMark.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { anatomy } from '#anatomy'\n\nconst brandMarkRecipe = cva('block size-tf-icon-solo-sm shrink-0')\n\nconst brandMarkAnatomy = anatomy({\n root: { part: 'brand-mark', recipe: brandMarkRecipe, required: true },\n})\n\nexport { brandMarkAnatomy, brandMarkRecipe }\n"],"mappings":";;;AAIA,MAAM,kBAAkB,IAAI,qCAAqC;AAEjE,MAAM,mBAAmB,QAAQ,EAC/B,MAAM;CAAE,MAAM;CAAc,QAAQ;CAAiB,UAAU;AAAK,EACtE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"button.js","names":[],"sources":["../../src/recipes/button.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { anatomy } from '#anatomy'\nimport type { ButtonSize } from '#control'\nimport {\n controlBase,\n controlBox,\n controlGap,\n controlInert,\n controlReach,\n controlSizes,\n hitArea,\n} from '#parts/control'\nimport { defaultTone, tones } from '#parts/tone'\nimport type { Tone } from '#tone'\nimport { toneBlend } from '#tone'\n\nimport { nebulaCloudRecipe, nebulaVeilRecipe } from './nebula'\n\nconst HIT_AREA = hitArea('after:h-tf-target')\n\nconst QUIET_HIT = hitArea('after:h-tf-target', 'after:w-tf-target')\n\nconst buttonFace = [\n 'isolate',\n 'justify-center',\n 'whitespace-nowrap',\n 'tracking-tf-tight',\n 'tf-cloud-md',\n]\n\nconst buttonSpinnerRecipe = cva([\n 'absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2',\n 'tf-arrives motion-reduce:transition-none',\n])\n\nconst buttonWordsRecipe = cva(\n [\n 'inline-flex items-center justify-center tf-text-trim',\n 'tf-crossfades motion-reduce:transition-none',\n 'in-data-loading:opacity-0',\n ],\n {\n defaultVariants: { size: 'md' },\n variants: { size: controlGap },\n },\n)\n\nconst buttonTempo = ['tf-blend-drift', 'tf-weather-trail']\n\nconst buttonGeometry = {\n lg: `${controlBox.lg} rounded-tf-card px-8 font-medium`,\n md: `${controlBox.md} rounded-tf-block px-6`,\n sm: `${controlBox.sm} px-4 ${HIT_AREA}`,\n xs: `${controlBox.xs} px-2 ${QUIET_HIT}`,\n} satisfies Record<ButtonSize, string>\n\ntype ButtonVariant =\n | 'primary'\n | 'secondary'\n | 'ghost'\n | 'danger'\n | 'success'\n | 'warning'\n | 'info'\n | 'link'\ntype ButtonAccent = Tone\n\nconst CLOUD = ['tf-cloud-brand', 'tf-clouded', 'interactive:hovered:tf-clouding'].join(' ')\nconst CLOUD_INK = ['tf-cloud-ink', 'tf-clouded', 'interactive:hovered:tf-clouding'].join(' ')\nconst CLOUD_ON_REACH = [\n 'tf-cloud-ink',\n 'tf-cloud-hidden',\n 'interactive:hovered:tf-clouding',\n 'interactive:hovered:tf-plated',\n].join(' ')\n\nconst BLEND = [\n 'bg-tf-blend',\n CLOUD,\n 'tf-edge-sweep tf-edge-milk tf-swept-top',\n 'tf-glow tf-lit-rest tf-settled',\n 'interactive:hovered:tf-blended',\n 'interactive:hovered:tf-milked',\n 'interactive:hovered:tf-lit-inside',\n 'interactive:hovered:tf-lifted',\n 'interactive:pressed:tf-pressed',\n 'motion-safe:interactive:pressed:tf-tilted',\n].join(' ')\nconst INK = [\n 'tf-ink-glide',\n 'data-loading:bg-none',\n '[&_svg]:tf-transition [&_svg]:text-tf-muted',\n].join(' ')\n\nconst MARK_ON_REACH = {\n accent: 'interactive:hovered:[&_svg]:text-tf-accent-hi',\n danger: 'interactive:hovered:[&_svg]:text-tf-danger-hi',\n info: 'interactive:hovered:[&_svg]:text-tf-info-hi',\n success: 'interactive:hovered:[&_svg]:text-tf-success-hi',\n warning: 'interactive:hovered:[&_svg]:text-tf-warning-hi',\n} satisfies Record<Tone, string>\n\nconst WORDS_ON_REACH = {\n accent: 'interactive:hovered:text-tf-accent-hi',\n danger: 'interactive:hovered:text-tf-danger-hi',\n info: 'interactive:hovered:text-tf-info-hi',\n success: 'interactive:hovered:text-tf-success-hi',\n warning: 'interactive:hovered:text-tf-warning-hi',\n} satisfies Record<Tone, string>\n\nconst FLAT_INK = 'text-tf-muted interactive:hovered:text-tf-fg'\n\nconst buttonPress = [\n 'motion-safe:interactive:pressed:translate-y-px',\n 'motion-reduce:interactive:pressed:brightness-95',\n]\n\nconst buttonRecipe = cva(\n [\n ...controlBase,\n ...buttonFace,\n ...buttonTempo,\n ...controlReach,\n ...buttonPress,\n ...controlInert,\n 'data-loading:opacity-100',\n ],\n {\n compoundVariants: [\n {\n class: 'tf-cloud-tight',\n variant: 'ghost',\n },\n ...tones.map((accent) => ({\n accent,\n class: `${toneBlend[accent]} ${WORDS_ON_REACH[accent]} ${MARK_ON_REACH[accent]}`,\n variant: 'ghost' as const,\n })),\n {\n class: FLAT_INK,\n iconOnly: true,\n variant: 'ghost',\n },\n {\n class: FLAT_INK,\n iconOnly: true,\n variant: 'secondary',\n },\n {\n class: 'px-0',\n iconOnly: true,\n },\n {\n class: 'tf-icons-solo [&_svg]:size-tf-icon-solo-xs',\n iconOnly: true,\n size: 'xs',\n },\n {\n class: 'tf-icons-solo [&_svg]:size-tf-icon-solo-sm',\n iconOnly: true,\n size: 'sm',\n },\n {\n class: 'tf-icons-solo [&_svg]:size-tf-icon-solo-md',\n iconOnly: true,\n size: 'md',\n },\n {\n class: 'tf-icons-solo [&_svg]:size-tf-icon-solo-lg',\n iconOnly: true,\n size: 'lg',\n },\n {\n class: 'pr-7',\n size: 'lg',\n trailing: true,\n },\n {\n class: 'pr-5',\n size: 'md',\n trailing: true,\n },\n {\n class: 'pr-3',\n size: 'sm',\n trailing: true,\n },\n {\n class: 'pl-7',\n leading: true,\n size: 'lg',\n },\n {\n class: 'pl-5',\n leading: true,\n size: 'md',\n },\n {\n class: 'pl-3',\n leading: true,\n size: 'sm',\n },\n {\n class: 'h-auto w-auto justify-start bg-transparent p-0 shadow-none outline-offset-4',\n variant: 'link',\n },\n ],\n defaultVariants: {\n accent: defaultTone,\n fullWidth: false,\n iconOnly: false,\n leading: false,\n size: 'md',\n trailing: false,\n variant: 'primary',\n },\n variants: {\n accent: {\n accent: '',\n danger: '',\n info: '',\n success: '',\n warning: '',\n } satisfies Record<ButtonAccent, string>,\n fullWidth: {\n false: '',\n true: 'w-full',\n },\n iconOnly: {\n false: '',\n true: 'aspect-square',\n },\n leading: {\n false: '',\n true: '',\n },\n size: buttonGeometry,\n trailing: {\n false: '',\n true: '',\n },\n variant: {\n danger: `${BLEND} text-tf-on-semantic blend-tf-danger`,\n ghost: `${INK} text-tf-fg tf-plated-quiet ${CLOUD_ON_REACH}`,\n info: `${BLEND} text-tf-on-semantic blend-tf-info`,\n link: 'text-tf-accent-hi underline underline-offset-2 interactive:hovered:text-tf-accent',\n primary: `${BLEND} text-tf-on-accent blend-tf-accent`,\n secondary: `${INK} text-tf-blend ${MARK_ON_REACH.accent} tf-glow tf-settled-quiet interactive:hovered:tf-blend-hushed interactive:hovered:tf-lit-rest ${CLOUD_INK} tf-blend-outline blend-tf-accent`,\n success: `${BLEND} text-tf-on-semantic blend-tf-success`,\n warning: `${BLEND} text-tf-on-semantic blend-tf-warning`,\n } satisfies Record<ButtonVariant, string>,\n },\n },\n)\n\nconst buttonVariants = [\n 'primary',\n 'secondary',\n 'ghost',\n 'success',\n 'warning',\n 'danger',\n 'info',\n 'link',\n] as const satisfies readonly ButtonVariant[]\n\nconst buttonSizes = ['xs', ...controlSizes] as const satisfies readonly ButtonSize[]\n\nconst buttonAccents = tones\n\nconst buttonAnatomy = anatomy({\n cloud: { part: 'cloud', recipe: nebulaCloudRecipe, required: false },\n nebula: { part: 'nebula', recipe: nebulaVeilRecipe, required: false },\n root: { part: 'button', recipe: buttonRecipe, required: true },\n spinner: { part: 'spinner', recipe: buttonSpinnerRecipe, required: false },\n words: { part: 'words', recipe: buttonWordsRecipe, required: false },\n})\n\nexport {\n type ButtonAccent,\n type ButtonVariant,\n buttonAccents,\n buttonAnatomy,\n buttonRecipe,\n buttonSizes,\n buttonSpinnerRecipe,\n buttonVariants,\n buttonWordsRecipe,\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"cardHeader.js","names":[],"sources":["../../src/recipes/cardHeader.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { anatomy } from '#anatomy'\n\ntype CardHeaderRank = 'card' | 'module'\n\nconst defaultCardHeaderRank = 'card' satisfies CardHeaderRank\n\nconst cardHeaderRanks = ['card', 'module'] as const satisfies readonly CardHeaderRank[]\n\nconst cardHeaderRecipe = cva('flex min-w-0 items-center gap-4')\n\nconst cardHeaderStackRecipe = cva('flex min-w-0 flex-col gap-0')\n\nconst cardHeaderActionRecipe = cva('ml-auto flex-none')\n\nconst cardHeaderAnatomy = anatomy({\n action: { part: 'action', recipe: cardHeaderActionRecipe, required: false },\n root: { part: 'card-header', recipe: cardHeaderRecipe, required: true },\n stack: { part: 'stack', recipe: cardHeaderStackRecipe, required: true },\n})\n\nexport {\n type CardHeaderRank,\n cardHeaderActionRecipe,\n cardHeaderAnatomy,\n cardHeaderRanks,\n cardHeaderRecipe,\n cardHeaderStackRecipe,\n defaultCardHeaderRank,\n}\n"],"mappings":";;;AAMA,MAAM,wBAAwB;AAE9B,MAAM,kBAAkB,CAAC,QAAQ,QAAQ;AAEzC,MAAM,mBAAmB,IAAI,iCAAiC;AAE9D,MAAM,wBAAwB,IAAI,6BAA6B;AAE/D,MAAM,yBAAyB,IAAI,mBAAmB;AAEtD,MAAM,oBAAoB,QAAQ;CAChC,QAAQ;EAAE,MAAM;EAAU,QAAQ;EAAwB,UAAU;CAAM;CAC1E,MAAM;EAAE,MAAM;EAAe,QAAQ;EAAkB,UAAU;CAAK;CACtE,OAAO;EAAE,MAAM;EAAS,QAAQ;EAAuB,UAAU;CAAK;AACxE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"checkbox.js","names":[],"sources":["../../src/recipes/checkbox.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { anatomy } from '#anatomy'\nimport type { MarkPlate } from '#mark'\nimport { defaultMarkPlate, markPlates } from '#mark'\nimport {\n markBox,\n markFailed,\n markPlate,\n markPlated,\n markPress,\n markRow,\n markSquare,\n markStack,\n markTitle,\n} from '#parts/mark'\nimport { defaultTone, tones } from '#parts/tone'\nimport type { Tone } from '#tone'\nimport { toneBlend } from '#tone'\n\nconst checkboxAccents = tones\n\ntype CheckboxAccent = Tone\n\nconst defaultCheckboxAccent = defaultTone\n\nconst FILL = ['bg-tf-sunken', 'tf-ramp']\n\nconst OFF = ['data-[state=unchecked]:interactive:not-data-readonly:hovered:bg-tf-sunken-hi']\n\nconst ON = [\n 'data-[state=checked]:tf-mark-lit',\n 'data-[state=checked]:bg-tf-blend',\n 'data-[state=checked]:text-tf-on-accent',\n 'data-[state=checked]:tf-icons-solo',\n 'data-[state=checked]:interactive:not-data-readonly:hovered:tf-blended',\n]\n\nconst MIXED = [\n 'data-[state=indeterminate]:tf-mark-lit',\n 'data-[state=indeterminate]:bg-tf-blend',\n 'data-[state=indeterminate]:text-tf-on-accent',\n 'data-[state=indeterminate]:interactive:not-data-readonly:hovered:tf-blended',\n]\n\nconst GAPS = { bare: 'gap-2', full: 'gap-3', snug: 'gap-2' } satisfies Record<MarkPlate, string>\n\nconst platedRows = markPlates.map((plate) => ({\n class: `${GAPS[plate]} ${markPlate[plate]} ${markPlated[plate]}`,\n labelled: true,\n plate,\n}))\n\nconst platedSquares = markPlates.map((plate) => ({\n class: `${markSquare[plate]} ${markPlated[plate]}`,\n labelled: false,\n plate,\n}))\n\nconst checkboxRecipe = cva(markRow, {\n compoundVariants: [...platedRows, ...platedSquares],\n defaultVariants: { labelled: true, plate: defaultMarkPlate },\n variants: {\n labelled: { false: '', true: '' },\n plate: { bare: '', full: '', snug: '' } satisfies Record<MarkPlate, string>,\n },\n})\n\nconst checkboxControlRecipe = cva(\n [...markBox, 'rounded-tf-inline', markPress, ...FILL, ...OFF, ...ON, ...MIXED],\n {\n compoundVariants: [{ class: toneBlend.danger, invalid: true }],\n defaultVariants: { accent: defaultCheckboxAccent, invalid: false },\n variants: {\n accent: toneBlend,\n invalid: { false: '', true: markFailed },\n },\n },\n)\n\nconst checkboxIndicatorRecipe = cva('inline-flex tf-mark-draws items-center justify-center')\n\nconst checkboxMarkRecipe = cva('size-tf-mark-glyph')\n\nconst checkboxDashRecipe = cva([\n 'block h-[calc(var(--spacing-tf-hairline)*2)] w-tf-mark-dot rounded-tf-pill',\n 'bg-tf-on-accent',\n])\n\nconst checkboxLabelRecipe = cva([...markStack, 'flex-1'], {\n defaultVariants: { hidden: false },\n variants: {\n hidden: { false: '', true: 'sr-only' },\n },\n})\n\nconst checkboxTitleRecipe = cva(markTitle)\n\nconst checkboxHintRecipe = cva('text-tf-caption font-medium', {\n defaultVariants: { invalid: false },\n variants: {\n invalid: { false: 'text-tf-muted', true: 'text-tf-danger-hi tf-arrives' },\n },\n})\n\nconst checkboxAnatomy = anatomy({\n dash: { part: 'dash', recipe: checkboxDashRecipe, required: true },\n root: { part: 'checkbox', recipe: checkboxRecipe, required: true },\n})\n\nexport {\n type CheckboxAccent,\n checkboxAccents,\n checkboxAnatomy,\n checkboxControlRecipe,\n checkboxDashRecipe,\n checkboxHintRecipe,\n checkboxIndicatorRecipe,\n checkboxLabelRecipe,\n checkboxMarkRecipe,\n checkboxRecipe,\n checkboxTitleRecipe,\n defaultCheckboxAccent,\n}\n"],"mappings":";;;;;;;AAoBA,MAAM,kBAAkB;AAIxB,MAAM,wBAAwB;AAE9B,MAAM,OAAO,CAAC,gBAAgB,SAAS;AAEvC,MAAM,MAAM,CAAC,8EAA8E;AAE3F,MAAM,KAAK;CACT;CACA;CACA;CACA;CACA;AACF;AAEA,MAAM,QAAQ;CACZ;CACA;CACA;CACA;AACF;AAEA,MAAM,OAAO;CAAE,MAAM;CAAS,MAAM;CAAS,MAAM;AAAQ;AAE3D,MAAM,aAAa,WAAW,KAAK,WAAW;CAC5C,OAAO,GAAG,KAAK,OAAO,GAAG,UAAU,OAAO,GAAG,WAAW;CACxD,UAAU;CACV;AACF,EAAE;AAEF,MAAM,gBAAgB,WAAW,KAAK,WAAW;CAC/C,OAAO,GAAG,WAAW,OAAO,GAAG,WAAW;CAC1C,UAAU;CACV;AACF,EAAE;AAEF,MAAM,iBAAiB,IAAI,SAAS;CAClC,kBAAkB,CAAC,GAAG,YAAY,GAAG,aAAa;CAClD,iBAAiB;EAAE,UAAU;EAAM,OAAO;CAAiB;CAC3D,UAAU;EACR,UAAU;GAAE,OAAO;GAAI,MAAM;EAAG;EAChC,OAAO;GAAE,MAAM;GAAI,MAAM;GAAI,MAAM;EAAG;CACxC;AACF,CAAC;AAED,MAAM,wBAAwB,IAC5B;CAAC,GAAG;CAAS;CAAqB;CAAW,GAAG;CAAM,GAAG;CAAK,GAAG;CAAI,GAAG;AAAK,GAC7E;CACE,kBAAkB,CAAC;EAAE,OAAO,UAAU;EAAQ,SAAS;CAAK,CAAC;CAC7D,iBAAiB;EAAE,QAAQ;EAAuB,SAAS;CAAM;CACjE,UAAU;EACR,QAAQ;EACR,SAAS;GAAE,OAAO;GAAI,MAAM;EAAW;CACzC;AACF,CACF;AAEA,MAAM,0BAA0B,IAAI,uDAAuD;AAE3F,MAAM,qBAAqB,IAAI,oBAAoB;AAEnD,MAAM,qBAAqB,IAAI,CAC7B,8EACA,iBACF,CAAC;AAED,MAAM,sBAAsB,IAAI,CAAC,GAAG,WAAW,QAAQ,GAAG;CACxD,iBAAiB,EAAE,QAAQ,MAAM;CACjC,UAAU,EACR,QAAQ;EAAE,OAAO;EAAI,MAAM;CAAU,EACvC;AACF,CAAC;AAED,MAAM,sBAAsB,IAAI,SAAS;AAEzC,MAAM,qBAAqB,IAAI,+BAA+B;CAC5D,iBAAiB,EAAE,SAAS,MAAM;CAClC,UAAU,EACR,SAAS;EAAE,OAAO;EAAiB,MAAM;CAA+B,EAC1E;AACF,CAAC;AAED,MAAM,kBAAkB,QAAQ;CAC9B,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAoB,UAAU;CAAK;CACjE,MAAM;EAAE,MAAM;EAAY,QAAQ;EAAgB,UAAU;CAAK;AACnE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"chip.js","names":[],"sources":["../../src/recipes/chip.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { anatomy } from '#anatomy'\nimport { controlPress, controlReach, hitArea } from '#parts/control'\n\ntype ChipTone = 'quiet' | 'outline' | 'tint'\n\ntype ChipSize = 'sm' | 'md'\n\ntype ChipAccent = 'neutral' | 'accent' | 'info' | 'success' | 'warning' | 'danger'\n\nconst defaultChipTone = 'quiet' satisfies ChipTone\n\nconst defaultChipSize = 'md' satisfies ChipSize\n\nconst defaultChipAccent = 'neutral' satisfies ChipAccent\n\nconst chipTones = ['quiet', 'outline', 'tint'] as const satisfies readonly ChipTone[]\n\nconst chipSizes = ['sm', 'md'] as const satisfies readonly ChipSize[]\n\nconst chipAccents = [\n 'neutral',\n 'accent',\n 'info',\n 'success',\n 'warning',\n 'danger',\n] as const satisfies readonly ChipAccent[]\n\nconst HIT_AREA = hitArea('after:h-tf-target')\n\nconst TINT = {\n accent: 'bg-tf-accent-tint text-tf-accent-hi [--tf-mark-rest:var(--color-tf-accent-edge)]',\n danger: 'bg-tf-danger-tint text-tf-danger-hi [--tf-mark-rest:var(--color-tf-danger-edge)]',\n info: 'bg-tf-info-tint text-tf-info-hi [--tf-mark-rest:var(--color-tf-info-edge)]',\n neutral: 'bg-tf-panel text-tf-fg',\n success: 'bg-tf-success-tint text-tf-success-hi [--tf-mark-rest:var(--color-tf-success-edge)]',\n warning: 'bg-tf-warning-tint text-tf-warning-hi [--tf-mark-rest:var(--color-tf-warning-edge)]',\n} satisfies Record<ChipAccent, string>\n\nconst OUTLINE = {\n accent: 'text-tf-accent-hi blend-tf-accent',\n danger: 'text-tf-danger-hi blend-tf-danger',\n info: 'text-tf-info-hi blend-tf-info',\n neutral: 'text-tf-fg blend-tf-accent',\n success: 'text-tf-success-hi blend-tf-success',\n warning: 'text-tf-warning-hi blend-tf-warning',\n} satisfies Record<ChipAccent, string>\n\nconst LEAVES = [\n 'motion-safe:tf-chip-arrives',\n 'data-[state=closed]:overflow-hidden',\n 'data-[state=closed]:**:data-[part=label]:flex-none',\n 'data-[state=closed]:motion-safe:tf-chip-departs',\n 'motion-reduce:animate-none',\n].join(' ')\n\nconst chipRecipe = cva(\n [\n 'relative isolate inline-flex max-w-full min-w-0 flex-none items-center rounded-tf-pill',\n 'font-tf-body font-medium whitespace-nowrap',\n 'tf-icons [&>svg]:shrink-0',\n 'data-disabled:opacity-50',\n 'tf-transition motion-reduce:transition-none',\n ],\n {\n compoundVariants: [\n ...chipAccents.map((accent) => ({ accent, class: TINT[accent], tone: 'tint' as const })),\n ...chipAccents.map((accent) => ({\n accent,\n class: OUTLINE[accent],\n tone: 'outline' as const,\n })),\n ],\n defaultVariants: {\n accent: defaultChipAccent,\n removable: false,\n size: defaultChipSize,\n tone: defaultChipTone,\n },\n variants: {\n accent: {\n accent: '',\n danger: '',\n info: '',\n neutral: '',\n success: '',\n warning: '',\n } satisfies Record<ChipAccent, string>,\n removable: { false: '', true: LEAVES },\n size: {\n md: 'h-tf-row gap-2 px-3 text-tf-body-sm [&>svg]:size-tf-icon-sm',\n sm: 'h-tf-chip-sm gap-1.5 px-2 text-tf-caption-sm [&>svg]:size-tf-icon-2xs',\n } satisfies Record<ChipSize, string>,\n tone: {\n outline: 'tf-blend-outline',\n quiet: 'bg-tf-panel text-tf-fg tf-mark-edge',\n tint: 'tf-mark-edge **:data-[part=count]:text-current',\n } satisfies Record<ChipTone, string>,\n },\n },\n)\n\nconst chipDotRecipe = cva('size-2 flex-none rounded-tf-pill', {\n defaultVariants: { accent: defaultChipAccent },\n variants: {\n accent: {\n accent: 'bg-tf-accent-hi',\n danger: 'bg-tf-danger-hi',\n info: 'bg-tf-info-hi',\n neutral: 'bg-tf-muted',\n success: 'bg-tf-success-hi',\n warning: 'bg-tf-warning-hi',\n } satisfies Record<ChipAccent, string>,\n },\n})\n\nconst chipTextRecipe = cva('flex min-w-0 items-baseline gap-[inherit]')\n\nconst chipLabelRecipe = cva('min-w-0 truncate')\n\nconst chipCountRecipe = cva('flex-none font-mono text-tf-caption-sm text-tf-muted tabular-nums')\n\nconst CLOSE_HELD = [\n 'disabled:cursor-not-allowed',\n 'aria-disabled:cursor-not-allowed',\n 'data-disabled:cursor-not-allowed',\n]\n\nconst chipCloseRecipe = cva([\n 'relative inline-flex size-tf-icon-md flex-none items-center justify-center rounded-tf-pill',\n '[&_svg]:size-tf-icon-2xs [&_svg]:shrink-0',\n 'text-tf-muted interactive:hovered:bg-tf-panel-hi interactive:hovered:text-tf-fg',\n 'cursor-pointer tf-transition motion-reduce:transition-none',\n HIT_AREA,\n ...controlReach,\n ...controlPress,\n ...CLOSE_HELD,\n])\n\nconst chipAnatomy = anatomy({\n close: { part: 'close', recipe: chipCloseRecipe, required: false },\n count: { part: 'count', recipe: chipCountRecipe, required: false },\n dot: { part: 'dot', recipe: chipDotRecipe, required: false },\n label: { part: 'label', recipe: chipLabelRecipe, required: true },\n root: { part: 'chip', recipe: chipRecipe, required: true },\n text: { part: 'text', recipe: chipTextRecipe, required: true },\n})\n\nexport {\n type ChipAccent,\n type ChipSize,\n type ChipTone,\n chipAccents,\n chipAnatomy,\n chipCloseRecipe,\n chipCountRecipe,\n chipDotRecipe,\n chipLabelRecipe,\n chipRecipe,\n chipSizes,\n chipTextRecipe,\n chipTones,\n defaultChipAccent,\n defaultChipSize,\n defaultChipTone,\n}\n"],"mappings":";;;;AAWA,MAAM,kBAAkB;AAExB,MAAM,kBAAkB;AAExB,MAAM,oBAAoB;AAE1B,MAAM,YAAY;CAAC;CAAS;CAAW;AAAM;AAE7C,MAAM,YAAY,CAAC,MAAM,IAAI;AAE7B,MAAM,cAAc;CAClB;CACA;CACA;CACA;CACA;CACA;AACF;AAEA,MAAM,WAAW,QAAQ,mBAAmB;AAE5C,MAAM,OAAO;CACX,QAAQ;CACR,QAAQ;CACR,MAAM;CACN,SAAS;CACT,SAAS;CACT,SAAS;AACX;AAEA,MAAM,UAAU;CACd,QAAQ;CACR,QAAQ;CACR,MAAM;CACN,SAAS;CACT,SAAS;CACT,SAAS;AACX;AAEA,MAAM,SAAS;CACb;CACA;CACA;CACA;CACA;AACF,CAAC,CAAC,KAAK,GAAG;AAEV,MAAM,aAAa,IACjB;CACE;CACA;CACA;CACA;CACA;AACF,GACA;CACE,kBAAkB,CAChB,GAAG,YAAY,KAAK,YAAY;EAAE;EAAQ,OAAO,KAAK;EAAS,MAAM;CAAgB,EAAE,GACvF,GAAG,YAAY,KAAK,YAAY;EAC9B;EACA,OAAO,QAAQ;EACf,MAAM;CACR,EAAE,CACJ;CACA,iBAAiB;EACf,QAAQ;EACR,WAAW;EACX,MAAA;EACA,MAAM;CACR;CACA,UAAU;EACR,QAAQ;GACN,QAAQ;GACR,QAAQ;GACR,MAAM;GACN,SAAS;GACT,SAAS;GACT,SAAS;EACX;EACA,WAAW;GAAE,OAAO;GAAI,MAAM;EAAO;EACrC,MAAM;GACJ,IAAI;GACJ,IAAI;EACN;EACA,MAAM;GACJ,SAAS;GACT,OAAO;GACP,MAAM;EACR;CACF;AACF,CACF;AAEA,MAAM,gBAAgB,IAAI,oCAAoC;CAC5D,iBAAiB,EAAE,QAAQ,kBAAkB;CAC7C,UAAU,EACR,QAAQ;EACN,QAAQ;EACR,QAAQ;EACR,MAAM;EACN,SAAS;EACT,SAAS;EACT,SAAS;CACX,EACF;AACF,CAAC;AAED,MAAM,iBAAiB,IAAI,2CAA2C;AAEtE,MAAM,kBAAkB,IAAI,kBAAkB;AAE9C,MAAM,kBAAkB,IAAI,mEAAmE;AAE/F,MAAM,aAAa;CACjB;CACA;CACA;AACF;AAEA,MAAM,kBAAkB,IAAI;CAC1B;CACA;CACA;CACA;CACA;CACA,GAAG;CACH,GAAG;CACH,GAAG;AACL,CAAC;AAED,MAAM,cAAc,QAAQ;CAC1B,OAAO;EAAE,MAAM;EAAS,QAAQ;EAAiB,UAAU;CAAM;CACjE,OAAO;EAAE,MAAM;EAAS,QAAQ;EAAiB,UAAU;CAAM;CACjE,KAAK;EAAE,MAAM;EAAO,QAAQ;EAAe,UAAU;CAAM;CAC3D,OAAO;EAAE,MAAM;EAAS,QAAQ;EAAiB,UAAU;CAAK;CAChE,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAY,UAAU;CAAK;CACzD,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAgB,UAAU;CAAK;AAC/D,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"codeEditor.js","names":[],"sources":["../../src/recipes/codeEditor.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { anatomy } from '#anatomy'\n\nconst PAD = 'calc(var(--spacing) * 4)'\n\nconst LIFT = 'var(--color-tf-panel-2)'\n\nconst LEADING = 'var(--text-tf-caption-sm--line-height)'\n\nconst codeEditorRecipe = cva([\n 'relative isolate w-full overflow-hidden rounded-tf-control',\n 'empty:min-h-(--tf-code-height)',\n 'bg-tf-sunken font-tf-body blend-tf-accent',\n 'tf-edge-sweep tf-edge-plain reached:tf-edge-lit',\n 'tf-transition motion-reduce:transition-none',\n])\n\nconst codeEditorTheme = {\n '&': {\n backgroundColor: 'transparent',\n color: 'var(--color-tf-fg)',\n fontSize: 'var(--text-tf-caption-sm)',\n lineHeight: LEADING,\n maxHeight: 'var(--tf-code-height)',\n },\n '&.cm-focused': { outline: 'none' },\n '&:not(.cm-focused) .cm-activeLine': { backgroundColor: 'transparent' },\n '&:not(.cm-focused) .cm-activeLineGutter': {\n backgroundColor: 'transparent',\n color: 'inherit',\n },\n '.cm-activeLine': { backgroundColor: LIFT },\n '.cm-activeLineGutter': { backgroundColor: LIFT, color: 'var(--color-tf-fg)' },\n '.cm-content': {\n caretColor: 'var(--color-tf-accent-hi)',\n fontFamily: 'var(--font-mono)',\n padding: '0',\n },\n '.cm-cursor': { borderLeftColor: 'var(--color-tf-accent-hi)' },\n '.cm-gutters': {\n backgroundColor: 'transparent',\n border: 'none',\n color: 'var(--color-tf-muted)',\n fontFamily: 'var(--font-mono)',\n paddingLeft: PAD,\n },\n '.cm-line': {\n padding: `0 ${PAD}`,\n transition: 'background-color var(--tf-timing-quick)',\n },\n '.cm-lineNumbers .cm-gutterElement': { minWidth: 'calc(var(--spacing) * 4)' },\n '.cm-placeholder': { color: 'var(--color-tf-muted)' },\n '.cm-scroller': {\n fontFamily: 'inherit',\n lineHeight: LEADING,\n overflow: 'auto',\n padding: `${PAD} 0`,\n scrollbarColor: 'var(--color-tf-line-hi) transparent',\n scrollbarWidth: 'thin',\n },\n '.cm-selectionBackground': { backgroundColor: 'var(--color-tf-control) !important' },\n}\n\nconst codeSyntaxColors = {\n key: 'var(--color-tf-info-hi)',\n literal: 'var(--color-tf-accent-hi)',\n number: 'var(--color-tf-warning-hi)',\n punctuation: 'var(--color-tf-muted)',\n text: 'var(--color-tf-success-hi)',\n}\n\nconst codeEditorAnatomy = anatomy({\n root: { part: 'code-editor', recipe: codeEditorRecipe, required: true },\n})\n\nexport { codeEditorAnatomy, codeEditorRecipe, codeEditorTheme, codeSyntaxColors }\n"],"mappings":";;;AAIA,MAAM,MAAM;AAEZ,MAAM,OAAO;AAEb,MAAM,UAAU;AAEhB,MAAM,mBAAmB,IAAI;CAC3B;CACA;CACA;CACA;CACA;AACF,CAAC;AAED,MAAM,kBAAkB;CACtB,KAAK;EACH,iBAAiB;EACjB,OAAO;EACP,UAAU;EACV,YAAY;EACZ,WAAW;CACb;CACA,gBAAgB,EAAE,SAAS,OAAO;CAClC,qCAAqC,EAAE,iBAAiB,cAAc;CACtE,2CAA2C;EACzC,iBAAiB;EACjB,OAAO;CACT;CACA,kBAAkB,EAAE,iBAAiB,KAAK;CAC1C,wBAAwB;EAAE,iBAAiB;EAAM,OAAO;CAAqB;CAC7E,eAAe;EACb,YAAY;EACZ,YAAY;EACZ,SAAS;CACX;CACA,cAAc,EAAE,iBAAiB,4BAA4B;CAC7D,eAAe;EACb,iBAAiB;EACjB,QAAQ;EACR,OAAO;EACP,YAAY;EACZ,aAAa;CACf;CACA,YAAY;EACV,SAAS,KAAK;EACd,YAAY;CACd;CACA,qCAAqC,EAAE,UAAU,2BAA2B;CAC5E,mBAAmB,EAAE,OAAO,wBAAwB;CACpD,gBAAgB;EACd,YAAY;EACZ,YAAY;EACZ,UAAU;EACV,SAAS,GAAG,IAAI;EAChB,gBAAgB;EAChB,gBAAgB;CAClB;CACA,2BAA2B,EAAE,iBAAiB,qCAAqC;AACrF;AAEA,MAAM,mBAAmB;CACvB,KAAK;CACL,SAAS;CACT,QAAQ;CACR,aAAa;CACb,MAAM;AACR;AAEA,MAAM,oBAAoB,QAAQ,EAChC,MAAM;CAAE,MAAM;CAAe,QAAQ;CAAkB,UAAU;AAAK,EACxE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"datePicker.js","names":[],"sources":["../../src/recipes/datePicker.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { anatomy } from '#anatomy'\nimport type { FieldSize } from '#control'\nimport { defaultFieldSize } from '#control'\nimport {\n controlInert,\n controlPress,\n controlQuiet,\n controlQuietIcon,\n controlReach,\n} from '#parts/control'\nimport { eyebrowQuiet } from '#parts/eyebrow'\nimport { ruleQuiet } from '#parts/rule'\n\nimport { fieldFootRecipe, fieldRecipe, leadingRecipe, trailingActionRecipe } from './field'\nimport { labelRoom, TRAILING_INSET } from './input'\n\ntype DatePickerMode = 'single' | 'range'\n\nconst defaultDatePickerMode = 'single' satisfies DatePickerMode\n\nconst datePickerModes = ['single', 'range'] as const satisfies readonly DatePickerMode[]\n\ntype DatePickerRangePreset =\n | 'thisWeek'\n | 'lastWeek'\n | 'thisMonth'\n | 'lastMonth'\n | 'thisQuarter'\n | 'lastQuarter'\n | 'thisYear'\n | 'lastYear'\n | 'last3Days'\n | 'last7Days'\n | 'last14Days'\n | 'last30Days'\n | 'last90Days'\n\nconst datePickerRangePresets = [\n 'thisWeek',\n 'lastWeek',\n 'thisMonth',\n 'lastMonth',\n 'thisQuarter',\n 'lastQuarter',\n 'thisYear',\n 'lastYear',\n 'last3Days',\n 'last7Days',\n 'last14Days',\n 'last30Days',\n 'last90Days',\n] as const satisfies readonly DatePickerRangePreset[]\n\nconst datePickerRowRecipe = cva(\n [\n 'data-[state=open]:bg-tf-sunken-hi data-[state=open]:tf-edge-lit',\n 'data-[state=open]:**:data-[part=leading]:text-tf-accent-hi',\n 'data-[state=open]:**:data-[part=leading]:stroke-tf-ink',\n 'data-[state=open]:**:data-[part=trigger]:text-tf-accent-hi',\n 'data-[state=open]:**:data-[part=trigger]:stroke-tf-ink',\n 'reached:**:data-[part=trigger]:text-tf-accent-hi',\n 'reached:**:data-[part=trigger]:stroke-tf-ink',\n 'reached:**:data-[part=dash]:opacity-100',\n 'reached:**:data-[part=dash]:delay-(--tf-duration-1)',\n ],\n {\n defaultVariants: { ranged: false },\n variants: {\n ranged: { false: '', true: 'w-fit max-w-full min-w-60' },\n },\n },\n)\n\nconst datePickerTriggerRecipe = cva([trailingActionRecipe(), 'data-[state=open]:rotate-180'])\n\nconst datePickerDashRecipe = cva(\n [\n 'flex flex-none items-center self-stretch px-2',\n 'text-tf-body-sm font-medium text-tf-muted',\n 'tf-transition motion-reduce:transition-none',\n ],\n {\n compoundVariants: [\n { class: labelRoom.lg, labelled: true, size: 'lg' },\n { class: labelRoom.md, labelled: true, size: 'md' },\n ],\n defaultVariants: { filled: false, labelled: true, size: defaultFieldSize },\n variants: {\n filled: { false: 'opacity-0', true: 'opacity-100' },\n labelled: { false: 'py-0', true: '' },\n size: { lg: '', md: '' } satisfies Record<FieldSize, string>,\n },\n },\n)\n\nconst TRIGGER_ROOM = TRAILING_INSET\n\nconst datePickerStartRecipe = cva('field-sizing-content h-full w-auto min-w-36 pr-0 tabular-nums')\n\nconst datePickerEndRecipe = cva([\n 'field-sizing-content h-full w-auto min-w-36 pl-0 tabular-nums',\n TRIGGER_ROOM,\n])\n\nconst datePickerValueRecipe = cva(['tabular-nums', TRIGGER_ROOM])\n\nconst datePickerContentRecipe = cva([\n 'w-tf-panel max-w-[calc(100vw-2rem)] overflow-hidden px-0',\n 'blend-tf-accent',\n])\n\nconst datePickerViewsRecipe = cva('flex min-h-(--container-tf-panel) flex-col')\n\nconst datePickerViewRecipe = cva('flex flex-1 flex-col tf-arrives motion-reduce:transition-none')\n\nconst datePickerHeadRecipe = cva('relative flex flex-none items-center justify-between gap-2 p-2')\n\nconst datePickerRuleRecipe = cva(`absolute inset-x-0 bottom-0 ${ruleQuiet}`)\n\nconst datePickerNavRecipe = cva(controlQuietIcon)\n\nconst datePickerViewTriggerRecipe = cva([\n 'inline-flex h-tf-control-sm items-center gap-2 rounded-tf-control px-3',\n 'font-tf-display text-tf-body-sm font-medium text-tf-fg',\n 'tf-icons [&_svg]:size-tf-icon-sm [&_svg]:shrink-0',\n ...controlQuiet,\n ...controlReach,\n ...controlPress,\n ...controlInert,\n])\n\nconst PAGING = [\n 'data-[going=forward]:[--tf-page-from:calc(var(--spacing)*4)]',\n 'data-[going=back]:[--tf-page-from:calc(var(--spacing)*-4)]',\n 'data-[step=a]:motion-safe:animate-tf-page',\n 'data-[step=b]:motion-safe:animate-tf-page-again',\n]\n\nconst datePickerRangeTextRecipe = cva([\n 'inline-flex min-w-36 items-center justify-center gap-2',\n ...PAGING,\n])\n\nconst datePickerBodyRecipe = cva(['flex flex-1 flex-col px-3 pt-3 pb-1', ...PAGING])\n\nconst datePickerGridRecipe = cva([\n 'w-full flex-1 table-fixed border-separate border-spacing-1',\n 'has-data-[in-hover-range]:**:data-[part=table-cell-trigger]:transition-none',\n])\n\nconst datePickerWeekCellRecipe = cva([`h-tf-row text-tf-caption-sm ${eyebrowQuiet}`])\n\nconst DAY_BAND = [\n 'not-data-selected:not-data-[hover-range-start]:not-data-[hover-range-end]:data-[in-range]:bg-tf-accent-tint',\n 'not-data-selected:not-data-[hover-range-start]:not-data-[hover-range-end]:data-[in-range]:text-tf-accent-hi',\n 'not-data-selected:not-data-[hover-range-start]:not-data-[hover-range-end]:data-[in-range]:rounded-tf-none',\n 'not-data-selected:not-data-[hover-range-start]:not-data-[hover-range-end]:data-[in-hover-range]:bg-tf-accent-tint',\n 'not-data-selected:not-data-[hover-range-start]:not-data-[hover-range-end]:data-[in-hover-range]:text-tf-accent-hi',\n 'not-data-selected:not-data-[hover-range-start]:not-data-[hover-range-end]:data-[in-hover-range]:rounded-tf-none',\n]\n\nconst DAY_ENDS = [\n 'data-[hover-range-start]:bg-tf-blend data-[hover-range-start]:text-tf-on-accent',\n 'data-[hover-range-end]:bg-tf-blend data-[hover-range-end]:text-tf-on-accent',\n 'data-[in-range]:not-data-[range-end]:data-[range-start]:rounded-r-tf-none',\n 'data-[in-range]:not-data-[range-start]:data-[range-end]:rounded-l-tf-none',\n 'data-[in-hover-range]:not-data-[hover-range-end]:data-[hover-range-start]:rounded-r-tf-none',\n 'data-[in-hover-range]:not-data-[hover-range-start]:data-[hover-range-end]:rounded-l-tf-none',\n]\n\nconst DAY_QUIET = [\n 'not-data-selected:not-data-[in-range]:data-weekend:text-tf-muted',\n 'data-[outside-range]:opacity-50',\n]\n\nconst datePickerDayRecipe = cva(\n [\n 'inline-flex w-full items-center justify-center rounded-tf-control',\n 'text-tf-body-sm font-medium text-tf-fg tabular-nums blend-tf-accent',\n 'tf-ramp',\n 'not-data-[in-range]:interactive:hovered:bg-tf-panel-hi',\n 'data-today:tf-mark-edge data-today:tf-mark-lit',\n 'data-today:interactive:hovered:tf-mark-bloomed',\n 'data-selected:bg-tf-blend data-selected:text-tf-on-accent',\n 'motion-safe:data-selected:tf-pops',\n ...DAY_BAND,\n ...DAY_ENDS,\n ...DAY_QUIET,\n 'cursor-pointer tf-transition motion-reduce:transition-none',\n ...controlReach,\n ...controlPress,\n ...controlInert,\n ],\n {\n defaultVariants: { roomy: false },\n variants: {\n roomy: { false: 'h-tf-control-sm', true: 'h-15' },\n },\n },\n)\n\nconst datePickerFootRecipe = cva('flex flex-none flex-wrap gap-2 px-3 pt-2 pb-3')\n\nconst datePickerPresetRecipe = cva(\n [\n 'relative isolate inline-flex h-tf-row flex-none items-center rounded-tf-pill px-3',\n 'text-tf-caption font-medium',\n 'tf-blend-outline blend-tf-accent',\n 'cursor-pointer tf-transition motion-reduce:transition-none',\n ...controlReach,\n ...controlPress,\n ...controlInert,\n ],\n {\n defaultVariants: { current: false },\n variants: {\n current: {\n false: 'text-tf-fg interactive:hovered:bg-tf-panel-hi',\n true: 'bg-tf-blend text-tf-on-accent interactive:hovered:tf-blended',\n },\n },\n },\n)\n\nconst datePickerAnatomy = anatomy({\n body: { part: 'body', recipe: datePickerBodyRecipe, required: true },\n dash: { part: 'dash', recipe: datePickerDashRecipe, required: false },\n foot: { part: 'foot', recipe: fieldFootRecipe, required: true },\n leading: { part: 'leading', recipe: leadingRecipe, required: true },\n presets: { part: 'presets', recipe: datePickerFootRecipe, required: false },\n rangeLabel: { part: 'range-label', recipe: datePickerRangeTextRecipe, required: true },\n root: { part: 'date-picker', recipe: fieldRecipe, required: true },\n row: { part: 'row', recipe: datePickerRowRecipe, required: true },\n rule: { part: 'rule', recipe: datePickerRuleRecipe, required: true },\n views: { part: 'views', recipe: datePickerViewsRecipe, required: true },\n})\n\nexport {\n type DatePickerMode,\n type DatePickerRangePreset,\n datePickerAnatomy,\n datePickerBodyRecipe,\n datePickerContentRecipe,\n datePickerDashRecipe,\n datePickerDayRecipe,\n datePickerEndRecipe,\n datePickerFootRecipe,\n datePickerGridRecipe,\n datePickerHeadRecipe,\n datePickerModes,\n datePickerNavRecipe,\n datePickerPresetRecipe,\n datePickerRangePresets,\n datePickerRangeTextRecipe,\n datePickerRowRecipe,\n datePickerRuleRecipe,\n datePickerStartRecipe,\n datePickerTriggerRecipe,\n datePickerValueRecipe,\n datePickerViewRecipe,\n datePickerViewsRecipe,\n datePickerViewTriggerRecipe,\n datePickerWeekCellRecipe,\n defaultDatePickerMode,\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"dialog.js","names":[],"sources":["../../src/recipes/dialog.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { anatomy } from '#anatomy'\nimport { surfaceLifted, surfacePanel } from '#parts/surface'\n\nimport { liftMotion, scrimMirrorMotion } from './motion'\nimport { nebulaCloudWideRecipe, nebulaVeilRecipe } from './nebula'\n\ntype DialogSize = 'sm' | 'md' | 'lg'\n\ntype DialogLayout = 'panel' | 'confirm'\n\nconst defaultDialogLayout = 'panel' satisfies DialogLayout\n\nconst dialogLayouts = ['panel', 'confirm'] as const satisfies readonly DialogLayout[]\n\nconst defaultDialogSize = 'md' satisfies DialogSize\n\nconst dialogSizes = ['sm', 'md', 'lg'] as const satisfies readonly DialogSize[]\n\nconst WIDTH = {\n lg: 'max-w-tf-page',\n md: 'max-w-tf-measure',\n sm: 'max-w-tf-panel',\n} satisfies Record<DialogSize, string>\n\nconst GROUND = 'relative bg-tf-shade-under'\n\nconst REGION = 'relative'\n\nconst FULL = [\n '@max-tf-panel:absolute @max-tf-panel:inset-0',\n '@max-tf-panel:max-h-none @max-tf-panel:max-w-none',\n '@max-tf-panel:rounded-tf-none',\n]\n\nconst dialogBackdropRecipe = cva([\n 'fixed inset-0 z-tf-modal bg-tf-scrim backdrop-blur-tf-scrim',\n ...scrimMirrorMotion,\n 'motion-reduce:animate-none',\n])\n\nconst dialogPositionerRecipe = cva([\n '@container fixed inset-0 z-tf-modal flex items-center justify-center p-4 sm:p-10',\n 'font-tf-body',\n])\n\nconst dialogRecipe = cva(\n [\n ...surfacePanel,\n 'tf-edge-plain',\n ...surfaceLifted,\n 'flex max-h-full w-full flex-col overflow-hidden outline-hidden',\n 'text-tf-body-sm font-medium text-tf-fg',\n ...FULL,\n ...liftMotion,\n 'motion-reduce:animate-none',\n ],\n {\n defaultVariants: { size: defaultDialogSize },\n variants: { size: WIDTH },\n },\n)\n\nconst dialogHeldRecipe = cva('motion-safe:data-[state=open]:data-held:tf-shaken')\n\nconst dialogHeadRecipe = cva([REGION, 'flex flex-none flex-col px-6 pt-8'], {\n defaultVariants: { layout: defaultDialogLayout },\n variants: {\n layout: {\n confirm: 'items-center gap-6 text-center',\n panel: 'gap-6 @max-tf-panel:pt-6',\n } satisfies Record<DialogLayout, string>,\n },\n})\n\nconst dialogHeadingsRecipe = cva('flex min-w-0 flex-none flex-col', {\n compoundVariants: [{ class: 'pr-12', layout: 'panel', roomy: true }],\n defaultVariants: { layout: defaultDialogLayout, roomy: false },\n variants: {\n layout: {\n confirm: 'items-center gap-3 text-center',\n panel: 'gap-2 pb-2',\n } satisfies Record<DialogLayout, string>,\n roomy: { false: '', true: '' },\n },\n})\n\nconst dialogTitleRecipe = cva('font-tf-display text-tf-h4 font-bold tracking-tf-tight text-tf-fg')\n\nconst dialogDescriptionRecipe = cva('text-tf-body-sm font-medium text-tf-muted')\n\nconst dialogCloseRecipe = cva('absolute top-3 right-3 z-tf-raised')\n\nconst FADED = [\n 'tf-scroll-faded tf-scroll-thin',\n '[--tf-fade-head:calc(var(--spacing)*6)] [--tf-fade-foot:calc(var(--spacing)*8)]',\n 'outline-hidden focused:outline-2 focused:-outline-offset-2 focused:outline-tf-accent-hi',\n].join(' ')\n\nconst dialogBodyRecipe = cva(\n [REGION, 'flex min-h-0 flex-col overflow-y-auto px-6 pt-6', FADED, '@max-tf-panel:flex-1'],\n {\n defaultVariants: { layout: defaultDialogLayout },\n variants: {\n layout: {\n confirm: 'items-center gap-6 pb-0 text-center',\n panel: 'gap-6 pb-8 @max-tf-panel:pb-6',\n } satisfies Record<DialogLayout, string>,\n },\n },\n)\n\nconst dialogFooterRecipe = cva(\n ['flex flex-none gap-3 rounded-b-tf-card px-6', '@max-tf-panel:rounded-tf-none'],\n {\n defaultVariants: { layout: defaultDialogLayout },\n variants: {\n layout: {\n confirm: `${REGION} flex-nowrap items-center pt-6 pb-6 *:flex-1`,\n panel: [\n GROUND,\n 'flex-wrap items-center justify-end py-5',\n '@max-tf-panel:flex-col-reverse @max-tf-panel:flex-nowrap @max-tf-panel:*:w-full',\n ].join(' '),\n } satisfies Record<DialogLayout, string>,\n },\n },\n)\n\nconst dialogNoteRecipe = cva('mr-auto text-tf-caption font-medium text-tf-muted tabular-nums')\n\nconst dialogRowRecipe = cva([\n 'flex h-tf-row flex-none items-center justify-between gap-3',\n 'rounded-tf-inline px-3 text-tf-muted',\n])\n\nconst dialogRowValueRecipe = cva('text-tf-fg tabular-nums', {\n defaultVariants: { lit: false },\n variants: {\n lit: { false: '', true: 'text-tf-accent-hi' },\n },\n})\n\nconst dialogAnatomy = anatomy({\n body: { part: 'body', recipe: dialogBodyRecipe, required: true },\n cloud: { part: 'cloud', recipe: nebulaCloudWideRecipe, required: true },\n footer: { part: 'footer', recipe: dialogFooterRecipe, required: false },\n head: { part: 'head', recipe: dialogHeadRecipe, required: true },\n headings: { part: 'headings', recipe: dialogHeadingsRecipe, required: true },\n nebula: { part: 'nebula', recipe: nebulaVeilRecipe, required: true },\n root: { part: 'dialog', recipe: dialogRecipe, required: true },\n})\n\nexport {\n type DialogLayout,\n type DialogSize,\n defaultDialogLayout,\n defaultDialogSize,\n dialogLayouts,\n dialogAnatomy,\n dialogBackdropRecipe,\n dialogBodyRecipe,\n dialogCloseRecipe,\n dialogDescriptionRecipe,\n dialogFooterRecipe,\n dialogHeadRecipe,\n dialogHeadingsRecipe,\n dialogHeldRecipe,\n dialogNoteRecipe,\n dialogPositionerRecipe,\n dialogRecipe,\n dialogRowRecipe,\n dialogRowValueRecipe,\n dialogSizes,\n dialogTitleRecipe,\n}\n"],"mappings":";;;;;;AAYA,MAAM,sBAAsB;AAE5B,MAAM,gBAAgB,CAAC,SAAS,SAAS;AAEzC,MAAM,oBAAoB;AAE1B,MAAM,cAAc;CAAC;CAAM;CAAM;AAAI;AAErC,MAAM,QAAQ;CACZ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;AAEA,MAAM,SAAS;AAEf,MAAM,SAAS;AAEf,MAAM,OAAO;CACX;CACA;CACA;AACF;AAEA,MAAM,uBAAuB,IAAI;CAC/B;CACA,GAAG;CACH;AACF,CAAC;AAED,MAAM,yBAAyB,IAAI,CACjC,oFACA,cACF,CAAC;AAED,MAAM,eAAe,IACnB;CACE,GAAG;CACH;CACA,GAAG;CACH;CACA;CACA,GAAG;CACH,GAAG;CACH;AACF,GACA;CACE,iBAAiB,EAAE,MAAA,KAAwB;CAC3C,UAAU,EAAE,MAAM,MAAM;AAC1B,CACF;AAEA,MAAM,mBAAmB,IAAI,mDAAmD;AAEhF,MAAM,mBAAmB,IAAI,CAAC,QAAQ,mCAAmC,GAAG;CAC1E,iBAAiB,EAAE,QAAQ,oBAAoB;CAC/C,UAAU,EACR,QAAQ;EACN,SAAS;EACT,OAAO;CACT,EACF;AACF,CAAC;AAED,MAAM,uBAAuB,IAAI,mCAAmC;CAClE,kBAAkB,CAAC;EAAE,OAAO;EAAS,QAAQ;EAAS,OAAO;CAAK,CAAC;CACnE,iBAAiB;EAAE,QAAQ;EAAqB,OAAO;CAAM;CAC7D,UAAU;EACR,QAAQ;GACN,SAAS;GACT,OAAO;EACT;EACA,OAAO;GAAE,OAAO;GAAI,MAAM;EAAG;CAC/B;AACF,CAAC;AAED,MAAM,oBAAoB,IAAI,mEAAmE;AAEjG,MAAM,0BAA0B,IAAI,2CAA2C;AAE/E,MAAM,oBAAoB,IAAI,oCAAoC;AAElE,MAAM,QAAQ;CACZ;CACA;CACA;AACF,CAAC,CAAC,KAAK,GAAG;AAEV,MAAM,mBAAmB,IACvB;CAAC;CAAQ;CAAmD;CAAO;AAAsB,GACzF;CACE,iBAAiB,EAAE,QAAQ,oBAAoB;CAC/C,UAAU,EACR,QAAQ;EACN,SAAS;EACT,OAAO;CACT,EACF;AACF,CACF;AAEA,MAAM,qBAAqB,IACzB,CAAC,+CAA+C,+BAA+B,GAC/E;CACE,iBAAiB,EAAE,QAAQ,oBAAoB;CAC/C,UAAU,EACR,QAAQ;EACN,SAAS,GAAG,OAAO;EACnB,OAAO;GACL;GACA;GACA;EACF,CAAC,CAAC,KAAK,GAAG;CACZ,EACF;AACF,CACF;AAEA,MAAM,mBAAmB,IAAI,gEAAgE;AAE7F,MAAM,kBAAkB,IAAI,CAC1B,8DACA,sCACF,CAAC;AAED,MAAM,uBAAuB,IAAI,2BAA2B;CAC1D,iBAAiB,EAAE,KAAK,MAAM;CAC9B,UAAU,EACR,KAAK;EAAE,OAAO;EAAI,MAAM;CAAoB,EAC9C;AACF,CAAC;AAED,MAAM,gBAAgB,QAAQ;CAC5B,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAkB,UAAU;CAAK;CAC/D,OAAO;EAAE,MAAM;EAAS,QAAQ;EAAuB,UAAU;CAAK;CACtE,QAAQ;EAAE,MAAM;EAAU,QAAQ;EAAoB,UAAU;CAAM;CACtE,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAkB,UAAU;CAAK;CAC/D,UAAU;EAAE,MAAM;EAAY,QAAQ;EAAsB,UAAU;CAAK;CAC3E,QAAQ;EAAE,MAAM;EAAU,QAAQ;EAAkB,UAAU;CAAK;CACnE,MAAM;EAAE,MAAM;EAAU,QAAQ;EAAc,UAAU;CAAK;AAC/D,CAAC"}