@techfides/ui-library-design 0.3.1 → 0.7.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 (189) hide show
  1. package/dist/anatomies.d.ts +1586 -0
  2. package/dist/anatomies.js +107 -0
  3. package/dist/anatomies.js.map +1 -0
  4. package/dist/anatomy.d.ts +13 -0
  5. package/dist/anatomy.js +6 -0
  6. package/dist/anatomy.js.map +1 -0
  7. package/dist/control.d.ts +1 -2
  8. package/dist/control.js +1 -2
  9. package/dist/control.js.map +1 -1
  10. package/dist/index.d.ts +55 -58
  11. package/dist/index.js +59 -62
  12. package/dist/recipes/accordion.d.ts +28 -1
  13. package/dist/recipes/accordion.js +29 -1
  14. package/dist/recipes/accordion.js.map +1 -1
  15. package/dist/recipes/alert.d.ts +45 -1
  16. package/dist/recipes/alert.js +45 -1
  17. package/dist/recipes/alert.js.map +1 -1
  18. package/dist/recipes/band.d.ts +11 -1
  19. package/dist/recipes/band.js +7 -1
  20. package/dist/recipes/band.js.map +1 -1
  21. package/dist/recipes/bars.d.ts +60 -1
  22. package/dist/recipes/bars.js +59 -1
  23. package/dist/recipes/bars.js.map +1 -1
  24. package/dist/recipes/brandMark.d.ts +8 -1
  25. package/dist/recipes/brandMark.js +7 -1
  26. package/dist/recipes/brandMark.js.map +1 -1
  27. package/dist/recipes/button.d.ts +41 -4
  28. package/dist/recipes/button.js +31 -2
  29. package/dist/recipes/button.js.map +1 -1
  30. package/dist/recipes/cardHeader.d.ts +18 -1
  31. package/dist/recipes/cardHeader.js +19 -1
  32. package/dist/recipes/cardHeader.js.map +1 -1
  33. package/dist/recipes/checkbox.d.ts +16 -1
  34. package/dist/recipes/checkbox.js +16 -3
  35. package/dist/recipes/checkbox.js.map +1 -1
  36. package/dist/recipes/chip.d.ts +41 -2
  37. package/dist/recipes/chip.js +34 -1
  38. package/dist/recipes/chip.js.map +1 -1
  39. package/dist/recipes/codeEditor.d.ts +8 -1
  40. package/dist/recipes/codeEditor.js +7 -1
  41. package/dist/recipes/codeEditor.js.map +1 -1
  42. package/dist/recipes/datePicker.d.ts +62 -1
  43. package/dist/recipes/datePicker.js +56 -3
  44. package/dist/recipes/datePicker.js.map +1 -1
  45. package/dist/recipes/dialog.d.ts +49 -1
  46. package/dist/recipes/dialog.js +40 -1
  47. package/dist/recipes/dialog.js.map +1 -1
  48. package/dist/recipes/feature.d.ts +30 -1
  49. package/dist/recipes/feature.js +30 -2
  50. package/dist/recipes/feature.js.map +1 -1
  51. package/dist/recipes/field.js +1 -1
  52. package/dist/recipes/findings.d.ts +33 -1
  53. package/dist/recipes/findings.js +34 -1
  54. package/dist/recipes/findings.js.map +1 -1
  55. package/dist/recipes/heading.d.ts +12 -2
  56. package/dist/recipes/heading.js +7 -1
  57. package/dist/recipes/heading.js.map +1 -1
  58. package/dist/recipes/heartbeat.d.ts +52 -2
  59. package/dist/recipes/heartbeat.js +51 -4
  60. package/dist/recipes/heartbeat.js.map +1 -1
  61. package/dist/recipes/ink.d.ts +11 -0
  62. package/dist/recipes/ink.js +13 -0
  63. package/dist/recipes/ink.js.map +1 -0
  64. package/dist/recipes/input.d.ts +55 -1
  65. package/dist/recipes/input.js +52 -2
  66. package/dist/recipes/input.js.map +1 -1
  67. package/dist/recipes/listItem.d.ts +18 -1
  68. package/dist/recipes/listItem.js +20 -1
  69. package/dist/recipes/listItem.js.map +1 -1
  70. package/dist/recipes/listbox.d.ts +22 -2
  71. package/dist/recipes/listbox.js +19 -1
  72. package/dist/recipes/listbox.js.map +1 -1
  73. package/dist/recipes/marquee.d.ts +26 -2
  74. package/dist/recipes/marquee.js +24 -1
  75. package/dist/recipes/marquee.js.map +1 -1
  76. package/dist/recipes/menu.d.ts +33 -1
  77. package/dist/recipes/menu.js +29 -1
  78. package/dist/recipes/menu.js.map +1 -1
  79. package/dist/recipes/metaRow.d.ts +11 -2
  80. package/dist/recipes/metaRow.js +7 -1
  81. package/dist/recipes/metaRow.js.map +1 -1
  82. package/dist/recipes/meter.d.ts +36 -2
  83. package/dist/recipes/meter.js +34 -1
  84. package/dist/recipes/meter.js.map +1 -1
  85. package/dist/recipes/motion.d.ts +9 -1
  86. package/dist/recipes/nebula.js +1 -1
  87. package/dist/recipes/numberRange.d.ts +44 -1
  88. package/dist/recipes/numberRange.js +36 -1
  89. package/dist/recipes/numberRange.js.map +1 -1
  90. package/dist/recipes/paper.d.ts +55 -2
  91. package/dist/recipes/paper.js +47 -4
  92. package/dist/recipes/paper.js.map +1 -1
  93. package/dist/recipes/progressBar.d.ts +8 -1
  94. package/dist/recipes/progressBar.js +7 -1
  95. package/dist/recipes/progressBar.js.map +1 -1
  96. package/dist/recipes/queue.d.ts +33 -1
  97. package/dist/recipes/queue.js +35 -1
  98. package/dist/recipes/queue.js.map +1 -1
  99. package/dist/recipes/radioGroup.d.ts +18 -1
  100. package/dist/recipes/radioGroup.js +21 -3
  101. package/dist/recipes/radioGroup.js.map +1 -1
  102. package/dist/recipes/scopeSwitcher.d.ts +38 -1
  103. package/dist/recipes/scopeSwitcher.js +40 -1
  104. package/dist/recipes/scopeSwitcher.js.map +1 -1
  105. package/dist/recipes/scrollArea.d.ts +12 -3
  106. package/dist/recipes/scrollArea.js +7 -1
  107. package/dist/recipes/scrollArea.js.map +1 -1
  108. package/dist/recipes/searchPalette.d.ts +48 -1
  109. package/dist/recipes/searchPalette.js +49 -1
  110. package/dist/recipes/searchPalette.js.map +1 -1
  111. package/dist/recipes/sectionHeader.d.ts +20 -2
  112. package/dist/recipes/sectionHeader.js +20 -3
  113. package/dist/recipes/sectionHeader.js.map +1 -1
  114. package/dist/recipes/segmentedControl.d.ts +8 -1
  115. package/dist/recipes/segmentedControl.js +7 -1
  116. package/dist/recipes/segmentedControl.js.map +1 -1
  117. package/dist/recipes/select.d.ts +57 -1
  118. package/dist/recipes/select.js +51 -1
  119. package/dist/recipes/select.js.map +1 -1
  120. package/dist/recipes/separator.d.ts +13 -2
  121. package/dist/recipes/separator.js +8 -2
  122. package/dist/recipes/separator.js.map +1 -1
  123. package/dist/recipes/sidebar.d.ts +128 -2
  124. package/dist/recipes/sidebar.js +125 -2
  125. package/dist/recipes/sidebar.js.map +1 -1
  126. package/dist/recipes/sky.d.ts +31 -1
  127. package/dist/recipes/sky.js +30 -1
  128. package/dist/recipes/sky.js.map +1 -1
  129. package/dist/recipes/slider.d.ts +15 -1
  130. package/dist/recipes/slider.js +14 -1
  131. package/dist/recipes/slider.js.map +1 -1
  132. package/dist/recipes/stat.d.ts +72 -3
  133. package/dist/recipes/stat.js +73 -3
  134. package/dist/recipes/stat.js.map +1 -1
  135. package/dist/recipes/switch.d.ts +10 -1
  136. package/dist/recipes/switch.js +9 -3
  137. package/dist/recipes/switch.js.map +1 -1
  138. package/dist/recipes/table.d.ts +63 -3
  139. package/dist/recipes/table.js +56 -2
  140. package/dist/recipes/table.js.map +1 -1
  141. package/dist/recipes/tail.d.ts +40 -5
  142. package/dist/recipes/tail.js +37 -5
  143. package/dist/recipes/tail.js.map +1 -1
  144. package/dist/recipes/text.d.ts +16 -3
  145. package/dist/recipes/text.js +8 -3
  146. package/dist/recipes/text.js.map +1 -1
  147. package/dist/recipes/textarea.d.ts +46 -1
  148. package/dist/recipes/textarea.js +41 -1
  149. package/dist/recipes/textarea.js.map +1 -1
  150. package/dist/recipes/tile.d.ts +23 -1
  151. package/dist/recipes/tile.js +19 -1
  152. package/dist/recipes/tile.js.map +1 -1
  153. package/dist/recipes/tooltip.d.ts +8 -1
  154. package/dist/recipes/tooltip.js +7 -1
  155. package/dist/recipes/tooltip.js.map +1 -1
  156. package/dist/recipes/topBar.d.ts +43 -1
  157. package/dist/recipes/topBar.js +44 -1
  158. package/dist/recipes/topBar.js.map +1 -1
  159. package/dist/recipes/trail.d.ts +55 -5
  160. package/dist/recipes/trail.js +47 -5
  161. package/dist/recipes/trail.js.map +1 -1
  162. package/dist/recipes/userMenu.d.ts +23 -1
  163. package/dist/recipes/userMenu.js +24 -1
  164. package/dist/recipes/userMenu.js.map +1 -1
  165. package/package.json +1 -2
  166. package/dist/charts/animation.js +0 -14
  167. package/dist/charts/animation.js.map +0 -1
  168. package/dist/charts/bars.d.ts +0 -22
  169. package/dist/charts/bars.js +0 -61
  170. package/dist/charts/bars.js.map +0 -1
  171. package/dist/charts/groupedBars.d.ts +0 -20
  172. package/dist/charts/groupedBars.js +0 -82
  173. package/dist/charts/groupedBars.js.map +0 -1
  174. package/dist/charts/paint.js +0 -19
  175. package/dist/charts/paint.js.map +0 -1
  176. package/dist/charts/spark.d.ts +0 -17
  177. package/dist/charts/spark.js +0 -159
  178. package/dist/charts/spark.js.map +0 -1
  179. package/dist/charts/tooltip.js +0 -41
  180. package/dist/charts/tooltip.js.map +0 -1
  181. package/dist/czech.d.ts +0 -6
  182. package/dist/czech.js +0 -100
  183. package/dist/czech.js.map +0 -1
  184. package/dist/tally.d.ts +0 -17
  185. package/dist/tally.js +0 -75
  186. package/dist/tally.js.map +0 -1
  187. package/dist/words.d.ts +0 -116
  188. package/dist/words.js +0 -96
  189. package/dist/words.js.map +0 -1
@@ -4,6 +4,62 @@ declare const selectValueRecipe: (props?: import("class-variance-authority/types
4
4
  declare const selectIndicatorRecipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
5
5
  declare const selectRowRecipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
6
6
  declare const selectEmptyRecipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
7
+ declare const selectAnatomy: {
8
+ readonly empty: {
9
+ readonly part: "empty";
10
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
11
+ readonly required: false;
12
+ };
13
+ readonly foot: {
14
+ readonly part: "foot";
15
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
16
+ readonly required: true;
17
+ };
18
+ readonly held: {
19
+ readonly part: "held";
20
+ readonly recipe: (props?: ({
21
+ tone?: "danger" | "neutral" | "chosen" | null | undefined;
22
+ within?: "surface" | "list" | null | undefined;
23
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
24
+ readonly required: true;
25
+ };
26
+ readonly mark: {
27
+ readonly part: "mark";
28
+ readonly recipe: (props?: ({
29
+ tone?: "danger" | "neutral" | "chosen" | null | undefined;
30
+ within?: "surface" | "list" | null | undefined;
31
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
32
+ readonly required: true;
33
+ };
34
+ readonly meta: {
35
+ readonly part: "meta";
36
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
37
+ readonly required: false;
38
+ };
39
+ readonly root: {
40
+ readonly part: "select";
41
+ readonly recipe: (props?: ({
42
+ fullWidth?: boolean | null | undefined;
43
+ message?: boolean | null | undefined;
44
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
45
+ readonly required: true;
46
+ };
47
+ readonly row: {
48
+ readonly part: "row";
49
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
50
+ readonly required: true;
51
+ };
52
+ readonly spinner: {
53
+ readonly part: "spinner";
54
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
55
+ readonly required: false;
56
+ };
57
+ readonly trailing: {
58
+ readonly part: "trailing";
59
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
60
+ readonly required: true;
61
+ };
62
+ };
7
63
  //#endregion
8
- export { selectEmptyRecipe, selectIndicatorRecipe, selectRowRecipe, selectTriggerRecipe, selectValueRecipe };
64
+ export { selectAnatomy, selectEmptyRecipe, selectIndicatorRecipe, selectRowRecipe, selectTriggerRecipe, selectValueRecipe };
9
65
  //# sourceMappingURL=select.d.ts.map
@@ -1,3 +1,6 @@
1
+ import { anatomy } from "../anatomy.js";
2
+ import { fieldFootRecipe, fieldRecipe, trailingRecipe } from "./field.js";
3
+ import { menuMarkRecipe, menuShortcutRecipe } from "./menu.js";
1
4
  import { cva } from "class-variance-authority";
2
5
  //#region src/recipes/select.ts
3
6
  const selectTriggerRecipe = cva([
@@ -15,7 +18,54 @@ const selectRowRecipe = cva([
15
18
  "has-data-[state=open]:**:data-[part=trailing]:stroke-tf-ink"
16
19
  ]);
17
20
  const selectEmptyRecipe = cva(["flex h-tf-row min-h-tf-row flex-none items-center px-3", "text-tf-body-sm font-medium text-tf-muted"]);
21
+ const selectAnatomy = anatomy({
22
+ empty: {
23
+ part: "empty",
24
+ recipe: selectEmptyRecipe,
25
+ required: false
26
+ },
27
+ foot: {
28
+ part: "foot",
29
+ recipe: fieldFootRecipe,
30
+ required: true
31
+ },
32
+ held: {
33
+ part: "held",
34
+ recipe: menuMarkRecipe,
35
+ required: true
36
+ },
37
+ mark: {
38
+ part: "mark",
39
+ recipe: menuMarkRecipe,
40
+ required: true
41
+ },
42
+ meta: {
43
+ part: "meta",
44
+ recipe: menuShortcutRecipe,
45
+ required: false
46
+ },
47
+ root: {
48
+ part: "select",
49
+ recipe: fieldRecipe,
50
+ required: true
51
+ },
52
+ row: {
53
+ part: "row",
54
+ recipe: selectRowRecipe,
55
+ required: true
56
+ },
57
+ spinner: {
58
+ part: "spinner",
59
+ recipe: trailingRecipe,
60
+ required: false
61
+ },
62
+ trailing: {
63
+ part: "trailing",
64
+ recipe: trailingRecipe,
65
+ required: true
66
+ }
67
+ });
18
68
  //#endregion
19
- export { selectEmptyRecipe, selectIndicatorRecipe, selectRowRecipe, selectTriggerRecipe, selectValueRecipe };
69
+ export { selectAnatomy, selectEmptyRecipe, selectIndicatorRecipe, selectRowRecipe, selectTriggerRecipe, selectValueRecipe };
20
70
 
21
71
  //# sourceMappingURL=select.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"select.js","names":[],"sources":["../../src/recipes/select.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nconst selectTriggerRecipe = cva([\n 'flex items-center text-left',\n 'cursor-pointer disabled:cursor-not-allowed',\n 'data-readonly:cursor-default',\n 'outline-hidden',\n])\n\nconst selectValueRecipe = cva('min-w-0 flex-1 truncate')\n\nconst selectIndicatorRecipe = cva([\n 'tf-transition motion-reduce:transition-none',\n 'data-[state=open]:rotate-180',\n])\n\nconst selectRowRecipe = cva([\n 'reached:**:data-[part=trailing]:text-tf-accent-hi',\n 'reached:**:data-[part=trailing]:stroke-tf-ink',\n 'has-data-[state=open]:**:data-[part=trailing]:text-tf-accent-hi',\n 'has-data-[state=open]:**:data-[part=trailing]:stroke-tf-ink',\n])\n\nconst selectEmptyRecipe = cva([\n 'flex h-tf-row min-h-tf-row flex-none items-center px-3',\n 'text-tf-body-sm font-medium text-tf-muted',\n])\n\nexport {\n selectEmptyRecipe,\n selectIndicatorRecipe,\n selectRowRecipe,\n selectTriggerRecipe,\n selectValueRecipe,\n}\n"],"mappings":";;AAEA,MAAM,sBAAsB,IAAI;CAC9B;CACA;CACA;CACA;AACF,CAAC;AAED,MAAM,oBAAoB,IAAI,yBAAyB;AAEvD,MAAM,wBAAwB,IAAI,CAChC,+CACA,8BACF,CAAC;AAED,MAAM,kBAAkB,IAAI;CAC1B;CACA;CACA;CACA;AACF,CAAC;AAED,MAAM,oBAAoB,IAAI,CAC5B,0DACA,2CACF,CAAC"}
1
+ {"version":3,"file":"select.js","names":[],"sources":["../../src/recipes/select.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { anatomy } from '#anatomy'\n\nimport { fieldFootRecipe, fieldRecipe, trailingRecipe } from './field'\nimport { menuMarkRecipe, menuShortcutRecipe } from './menu'\n\nconst selectTriggerRecipe = cva([\n 'flex items-center text-left',\n 'cursor-pointer disabled:cursor-not-allowed',\n 'data-readonly:cursor-default',\n 'outline-hidden',\n])\n\nconst selectValueRecipe = cva('min-w-0 flex-1 truncate')\n\nconst selectIndicatorRecipe = cva([\n 'tf-transition motion-reduce:transition-none',\n 'data-[state=open]:rotate-180',\n])\n\nconst selectRowRecipe = cva([\n 'reached:**:data-[part=trailing]:text-tf-accent-hi',\n 'reached:**:data-[part=trailing]:stroke-tf-ink',\n 'has-data-[state=open]:**:data-[part=trailing]:text-tf-accent-hi',\n 'has-data-[state=open]:**:data-[part=trailing]:stroke-tf-ink',\n])\n\nconst selectEmptyRecipe = cva([\n 'flex h-tf-row min-h-tf-row flex-none items-center px-3',\n 'text-tf-body-sm font-medium text-tf-muted',\n])\n\nconst selectAnatomy = anatomy({\n empty: { part: 'empty', recipe: selectEmptyRecipe, required: false },\n foot: { part: 'foot', recipe: fieldFootRecipe, required: true },\n held: { part: 'held', recipe: menuMarkRecipe, required: true },\n mark: { part: 'mark', recipe: menuMarkRecipe, required: true },\n meta: { part: 'meta', recipe: menuShortcutRecipe, required: false },\n root: { part: 'select', recipe: fieldRecipe, required: true },\n row: { part: 'row', recipe: selectRowRecipe, required: true },\n spinner: { part: 'spinner', recipe: trailingRecipe, required: false },\n trailing: { part: 'trailing', recipe: trailingRecipe, required: true },\n})\n\nexport {\n selectAnatomy,\n selectEmptyRecipe,\n selectIndicatorRecipe,\n selectRowRecipe,\n selectTriggerRecipe,\n selectValueRecipe,\n}\n"],"mappings":";;;;;AAOA,MAAM,sBAAsB,IAAI;CAC9B;CACA;CACA;CACA;AACF,CAAC;AAED,MAAM,oBAAoB,IAAI,yBAAyB;AAEvD,MAAM,wBAAwB,IAAI,CAChC,+CACA,8BACF,CAAC;AAED,MAAM,kBAAkB,IAAI;CAC1B;CACA;CACA;CACA;AACF,CAAC;AAED,MAAM,oBAAoB,IAAI,CAC5B,0DACA,2CACF,CAAC;AAED,MAAM,gBAAgB,QAAQ;CAC5B,OAAO;EAAE,MAAM;EAAS,QAAQ;EAAmB,UAAU;CAAM;CACnE,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAiB,UAAU;CAAK;CAC9D,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAgB,UAAU;CAAK;CAC7D,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAgB,UAAU;CAAK;CAC7D,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAoB,UAAU;CAAM;CAClE,MAAM;EAAE,MAAM;EAAU,QAAQ;EAAa,UAAU;CAAK;CAC5D,KAAK;EAAE,MAAM;EAAO,QAAQ;EAAiB,UAAU;CAAK;CAC5D,SAAS;EAAE,MAAM;EAAW,QAAQ;EAAgB,UAAU;CAAM;CACpE,UAAU;EAAE,MAAM;EAAY,QAAQ;EAAgB,UAAU;CAAK;AACvE,CAAC"}
@@ -5,13 +5,24 @@ declare const defaultSeparatorOrientation = "horizontal";
5
5
  declare const defaultSeparatorVariant = "filled";
6
6
  declare const defaultSeparatorTone = "accent";
7
7
  declare const separatorRecipe: (props?: ({
8
- orientation?: "vertical" | "horizontal" | null | undefined;
8
+ orientation?: "horizontal" | "vertical" | null | undefined;
9
9
  tone?: "accent" | "success" | "warning" | "info" | "danger" | null | undefined;
10
10
  variant?: "quiet" | "filled" | "fade" | null | undefined;
11
11
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
12
12
  declare const separatorOrientations: readonly ["horizontal", "vertical"];
13
13
  declare const separatorVariants: readonly ["fade", "filled", "quiet"];
14
14
  declare const separatorTones: readonly ["accent", "success", "warning", "info", "danger"];
15
+ declare const separatorAnatomy: {
16
+ readonly root: {
17
+ readonly part: "separator";
18
+ readonly recipe: (props?: ({
19
+ orientation?: "horizontal" | "vertical" | null | undefined;
20
+ tone?: "accent" | "success" | "warning" | "info" | "danger" | null | undefined;
21
+ variant?: "quiet" | "filled" | "fade" | null | undefined;
22
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
23
+ readonly required: true;
24
+ };
25
+ };
15
26
  //#endregion
16
- export { type SeparatorOrientation, type SeparatorVariant, defaultSeparatorOrientation, defaultSeparatorTone, defaultSeparatorVariant, separatorOrientations, separatorRecipe, separatorTones, separatorVariants };
27
+ export { type SeparatorOrientation, type SeparatorVariant, defaultSeparatorOrientation, defaultSeparatorTone, defaultSeparatorVariant, separatorAnatomy, separatorOrientations, separatorRecipe, separatorTones, separatorVariants };
17
28
  //# sourceMappingURL=separator.d.ts.map
@@ -1,6 +1,7 @@
1
- import { toneBlend } from "../tone.js";
1
+ import { anatomy } from "../anatomy.js";
2
2
  import { fadingDownOf, fadingOf, filledDownOf, filledOf, ruleQuiet, ruleQuietDown } from "../parts/rule.js";
3
3
  import { defaultTone, tones } from "../parts/tone.js";
4
+ import { toneBlend } from "../tone.js";
4
5
  import { cva } from "class-variance-authority";
5
6
  //#region src/recipes/separator.ts
6
7
  const defaultSeparatorOrientation = "horizontal";
@@ -80,7 +81,12 @@ const separatorVariants = [
80
81
  "quiet"
81
82
  ];
82
83
  const separatorTones = tones;
84
+ const separatorAnatomy = anatomy({ root: {
85
+ part: "separator",
86
+ recipe: separatorRecipe,
87
+ required: true
88
+ } });
83
89
  //#endregion
84
- export { defaultSeparatorOrientation, defaultSeparatorTone, defaultSeparatorVariant, separatorOrientations, separatorRecipe, separatorTones, separatorVariants };
90
+ export { defaultSeparatorOrientation, defaultSeparatorTone, defaultSeparatorVariant, separatorAnatomy, separatorOrientations, separatorRecipe, separatorTones, separatorVariants };
85
91
 
86
92
  //# sourceMappingURL=separator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"separator.js","names":[],"sources":["../../src/recipes/separator.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport {\n fadingDownOf,\n fadingOf,\n filledDownOf,\n filledOf,\n ruleQuiet,\n ruleQuietDown,\n} from '#parts/rule'\nimport { defaultTone, tones } from '#parts/tone'\nimport type { Tone } from '#tone'\nimport { toneBlend } from '#tone'\n\ntype SeparatorOrientation = 'horizontal' | 'vertical'\n\ntype SeparatorVariant = 'fade' | 'filled' | 'quiet'\n\nconst defaultSeparatorOrientation = 'horizontal' satisfies SeparatorOrientation\n\nconst defaultSeparatorVariant = 'filled' satisfies SeparatorVariant\n\nconst defaultSeparatorTone = defaultTone\n\ninterface TonedRule {\n class: string\n orientation: SeparatorOrientation\n tone: Tone\n variant: SeparatorVariant\n}\n\nconst tonedRules: TonedRule[] = tones.flatMap((tone) => {\n const blend = toneBlend[tone]\n\n return [\n { class: fadingOf(blend), orientation: 'horizontal', tone, variant: 'fade' },\n { class: filledOf(blend), orientation: 'horizontal', tone, variant: 'filled' },\n { class: fadingDownOf(blend), orientation: 'vertical', tone, variant: 'fade' },\n { class: filledDownOf(blend), orientation: 'vertical', tone, variant: 'filled' },\n ]\n})\n\nconst separatorRecipe = cva('shrink-0', {\n compoundVariants: [\n { class: ruleQuiet, orientation: 'horizontal', variant: 'quiet' },\n { class: ruleQuietDown, orientation: 'vertical', variant: 'quiet' },\n ...tonedRules,\n ],\n defaultVariants: {\n orientation: defaultSeparatorOrientation,\n tone: defaultSeparatorTone,\n variant: defaultSeparatorVariant,\n },\n variants: {\n orientation: {\n horizontal: 'w-full',\n vertical: 'self-stretch',\n } satisfies Record<SeparatorOrientation, string>,\n tone: {\n accent: '',\n danger: '',\n info: '',\n success: '',\n warning: '',\n } satisfies Record<Tone, string>,\n variant: {\n fade: '',\n filled: '',\n quiet: '',\n } satisfies Record<SeparatorVariant, string>,\n },\n})\n\nconst separatorOrientations = [\n 'horizontal',\n 'vertical',\n] as const satisfies readonly SeparatorOrientation[]\n\nconst separatorVariants = ['fade', 'filled', 'quiet'] as const satisfies readonly SeparatorVariant[]\n\nconst separatorTones = tones\n\nexport {\n type SeparatorOrientation,\n type SeparatorVariant,\n defaultSeparatorOrientation,\n defaultSeparatorTone,\n defaultSeparatorVariant,\n separatorOrientations,\n separatorRecipe,\n separatorTones,\n separatorVariants,\n}\n"],"mappings":";;;;;AAkBA,MAAM,8BAA8B;AAEpC,MAAM,0BAA0B;AAEhC,MAAM,uBAAuB;AAS7B,MAAM,aAA0B,MAAM,SAAS,SAAS;CACtD,MAAM,QAAQ,UAAU;CAExB,OAAO;EACL;GAAE,OAAO,SAAS,KAAK;GAAG,aAAa;GAAc;GAAM,SAAS;EAAO;EAC3E;GAAE,OAAO,SAAS,KAAK;GAAG,aAAa;GAAc;GAAM,SAAS;EAAS;EAC7E;GAAE,OAAO,aAAa,KAAK;GAAG,aAAa;GAAY;GAAM,SAAS;EAAO;EAC7E;GAAE,OAAO,aAAa,KAAK;GAAG,aAAa;GAAY;GAAM,SAAS;EAAS;CACjF;AACF,CAAC;AAED,MAAM,kBAAkB,IAAI,YAAY;CACtC,kBAAkB;EAChB;GAAE,OAAO;GAAW,aAAa;GAAc,SAAS;EAAQ;EAChE;GAAE,OAAO;GAAe,aAAa;GAAY,SAAS;EAAQ;EAClE,GAAG;CACL;CACA,iBAAiB;EACf,aAAa;EACb,MAAM;EACN,SAAS;CACX;CACA,UAAU;EACR,aAAa;GACX,YAAY;GACZ,UAAU;EACZ;EACA,MAAM;GACJ,QAAQ;GACR,QAAQ;GACR,MAAM;GACN,SAAS;GACT,SAAS;EACX;EACA,SAAS;GACP,MAAM;GACN,QAAQ;GACR,OAAO;EACT;CACF;AACF,CAAC;AAED,MAAM,wBAAwB,CAC5B,cACA,UACF;AAEA,MAAM,oBAAoB;CAAC;CAAQ;CAAU;AAAO;AAEpD,MAAM,iBAAiB"}
1
+ {"version":3,"file":"separator.js","names":[],"sources":["../../src/recipes/separator.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { anatomy } from '#anatomy'\nimport {\n fadingDownOf,\n fadingOf,\n filledDownOf,\n filledOf,\n ruleQuiet,\n ruleQuietDown,\n} from '#parts/rule'\nimport { defaultTone, tones } from '#parts/tone'\nimport type { Tone } from '#tone'\nimport { toneBlend } from '#tone'\n\ntype SeparatorOrientation = 'horizontal' | 'vertical'\n\ntype SeparatorVariant = 'fade' | 'filled' | 'quiet'\n\nconst defaultSeparatorOrientation = 'horizontal' satisfies SeparatorOrientation\n\nconst defaultSeparatorVariant = 'filled' satisfies SeparatorVariant\n\nconst defaultSeparatorTone = defaultTone\n\ninterface TonedRule {\n class: string\n orientation: SeparatorOrientation\n tone: Tone\n variant: SeparatorVariant\n}\n\nconst tonedRules: TonedRule[] = tones.flatMap((tone) => {\n const blend = toneBlend[tone]\n\n return [\n { class: fadingOf(blend), orientation: 'horizontal', tone, variant: 'fade' },\n { class: filledOf(blend), orientation: 'horizontal', tone, variant: 'filled' },\n { class: fadingDownOf(blend), orientation: 'vertical', tone, variant: 'fade' },\n { class: filledDownOf(blend), orientation: 'vertical', tone, variant: 'filled' },\n ]\n})\n\nconst separatorRecipe = cva('shrink-0', {\n compoundVariants: [\n { class: ruleQuiet, orientation: 'horizontal', variant: 'quiet' },\n { class: ruleQuietDown, orientation: 'vertical', variant: 'quiet' },\n ...tonedRules,\n ],\n defaultVariants: {\n orientation: defaultSeparatorOrientation,\n tone: defaultSeparatorTone,\n variant: defaultSeparatorVariant,\n },\n variants: {\n orientation: {\n horizontal: 'w-full',\n vertical: 'self-stretch',\n } satisfies Record<SeparatorOrientation, string>,\n tone: {\n accent: '',\n danger: '',\n info: '',\n success: '',\n warning: '',\n } satisfies Record<Tone, string>,\n variant: {\n fade: '',\n filled: '',\n quiet: '',\n } satisfies Record<SeparatorVariant, string>,\n },\n})\n\nconst separatorOrientations = [\n 'horizontal',\n 'vertical',\n] as const satisfies readonly SeparatorOrientation[]\n\nconst separatorVariants = ['fade', 'filled', 'quiet'] as const satisfies readonly SeparatorVariant[]\n\nconst separatorTones = tones\n\nconst separatorAnatomy = anatomy({\n root: { part: 'separator', recipe: separatorRecipe, required: true },\n})\n\nexport {\n type SeparatorOrientation,\n type SeparatorVariant,\n defaultSeparatorOrientation,\n defaultSeparatorTone,\n defaultSeparatorVariant,\n separatorAnatomy,\n separatorOrientations,\n separatorRecipe,\n separatorTones,\n separatorVariants,\n}\n"],"mappings":";;;;;;AAmBA,MAAM,8BAA8B;AAEpC,MAAM,0BAA0B;AAEhC,MAAM,uBAAuB;AAS7B,MAAM,aAA0B,MAAM,SAAS,SAAS;CACtD,MAAM,QAAQ,UAAU;CAExB,OAAO;EACL;GAAE,OAAO,SAAS,KAAK;GAAG,aAAa;GAAc;GAAM,SAAS;EAAO;EAC3E;GAAE,OAAO,SAAS,KAAK;GAAG,aAAa;GAAc;GAAM,SAAS;EAAS;EAC7E;GAAE,OAAO,aAAa,KAAK;GAAG,aAAa;GAAY;GAAM,SAAS;EAAO;EAC7E;GAAE,OAAO,aAAa,KAAK;GAAG,aAAa;GAAY;GAAM,SAAS;EAAS;CACjF;AACF,CAAC;AAED,MAAM,kBAAkB,IAAI,YAAY;CACtC,kBAAkB;EAChB;GAAE,OAAO;GAAW,aAAa;GAAc,SAAS;EAAQ;EAChE;GAAE,OAAO;GAAe,aAAa;GAAY,SAAS;EAAQ;EAClE,GAAG;CACL;CACA,iBAAiB;EACf,aAAa;EACb,MAAM;EACN,SAAS;CACX;CACA,UAAU;EACR,aAAa;GACX,YAAY;GACZ,UAAU;EACZ;EACA,MAAM;GACJ,QAAQ;GACR,QAAQ;GACR,MAAM;GACN,SAAS;GACT,SAAS;EACX;EACA,SAAS;GACP,MAAM;GACN,QAAQ;GACR,OAAO;EACT;CACF;AACF,CAAC;AAED,MAAM,wBAAwB,CAC5B,cACA,UACF;AAEA,MAAM,oBAAoB;CAAC;CAAQ;CAAU;AAAO;AAEpD,MAAM,iBAAiB;AAEvB,MAAM,mBAAmB,QAAQ,EAC/B,MAAM;CAAE,MAAM;CAAa,QAAQ;CAAiB,UAAU;AAAK,EACrE,CAAC"}
@@ -27,7 +27,7 @@ declare const sidebarNavRecipe: (props?: import("class-variance-authority/types"
27
27
  declare const sidebarMarkRecipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
28
28
  declare const sidebarGroupRecipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
29
29
  declare const sidebarItemRecipe: (props?: ({
30
- level?: "top" | "child" | null | undefined;
30
+ level?: "child" | "top" | null | undefined;
31
31
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
32
32
  declare const sidebarIconRecipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
33
33
  declare const sidebarLabelRecipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
@@ -35,6 +35,132 @@ declare const sidebarChevronRecipe: (props?: import("class-variance-authority/ty
35
35
  declare const sidebarDotRecipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
36
36
  declare const sidebarSubRecipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
37
37
  declare const sidebarFootRecipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
38
+ declare const sidebarAnatomy: {
39
+ readonly brand: {
40
+ readonly part: "brand";
41
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
42
+ readonly required: true;
43
+ };
44
+ readonly brandStack: {
45
+ readonly part: "brand-stack";
46
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
47
+ readonly required: true;
48
+ };
49
+ readonly brandSubtitle: {
50
+ readonly part: "brand-subtitle";
51
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
52
+ readonly required: false;
53
+ };
54
+ readonly child: {
55
+ readonly part: "child";
56
+ readonly recipe: (props?: ({
57
+ level?: "child" | "top" | null | undefined;
58
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
59
+ readonly required: false;
60
+ };
61
+ readonly dot: {
62
+ readonly part: "dot";
63
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
64
+ readonly required: false;
65
+ };
66
+ readonly foot: {
67
+ readonly part: "foot";
68
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
69
+ readonly required: true;
70
+ };
71
+ readonly head: {
72
+ readonly part: "head";
73
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
74
+ readonly required: true;
75
+ };
76
+ readonly item: {
77
+ readonly part: "item";
78
+ readonly recipe: (props?: ({
79
+ level?: "child" | "top" | null | undefined;
80
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
81
+ readonly required: false;
82
+ };
83
+ readonly label: {
84
+ readonly part: "label";
85
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
86
+ readonly required: true;
87
+ };
88
+ readonly mark: {
89
+ readonly part: "mark";
90
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
91
+ readonly required: true;
92
+ };
93
+ readonly mobileBar: {
94
+ readonly part: "mobile-bar";
95
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
96
+ readonly required: true;
97
+ };
98
+ readonly mobileEyebrow: {
99
+ readonly part: "mobile-eyebrow";
100
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
101
+ readonly required: false;
102
+ };
103
+ readonly mobileHeadings: {
104
+ readonly part: "mobile-headings";
105
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
106
+ readonly required: false;
107
+ };
108
+ readonly mobileTitle: {
109
+ readonly part: "mobile-title";
110
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
111
+ readonly required: false;
112
+ };
113
+ readonly nav: {
114
+ readonly part: "nav";
115
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
116
+ readonly required: true;
117
+ };
118
+ readonly overlayBody: {
119
+ readonly part: "overlay-body";
120
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
121
+ readonly required: true;
122
+ };
123
+ readonly overlayBrand: {
124
+ readonly part: "overlay-brand";
125
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
126
+ readonly required: true;
127
+ };
128
+ readonly overlayHead: {
129
+ readonly part: "overlay-head";
130
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
131
+ readonly required: true;
132
+ };
133
+ readonly overlayScope: {
134
+ readonly part: "overlay-scope";
135
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
136
+ readonly required: false;
137
+ };
138
+ readonly root: {
139
+ readonly part: "sidebar";
140
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
141
+ readonly required: true;
142
+ };
143
+ readonly scope: {
144
+ readonly part: "scope";
145
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
146
+ readonly required: false;
147
+ };
148
+ readonly separator: {
149
+ readonly part: "separator";
150
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
151
+ readonly required: true;
152
+ };
153
+ readonly switch: {
154
+ readonly part: "switch";
155
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
156
+ readonly required: true;
157
+ };
158
+ readonly wordmark: {
159
+ readonly part: "wordmark";
160
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
161
+ readonly required: true;
162
+ };
163
+ };
38
164
  //#endregion
39
- export { sidebarBrandRecipe, sidebarBrandStackRecipe, sidebarBrandSubtitleRecipe, sidebarChevronRecipe, sidebarDotRecipe, sidebarFootRecipe, sidebarGroupRecipe, sidebarHeadRecipe, sidebarIconRecipe, sidebarItemRecipe, sidebarLabelRecipe, sidebarMarkRecipe, sidebarMobileBarRecipe, sidebarMobileEyebrowRecipe, sidebarMobileHeadingsRecipe, sidebarMobileTitleRecipe, sidebarNavRecipe, sidebarOverlayBackdropRecipe, sidebarOverlayBodyRecipe, sidebarOverlayBrandRecipe, sidebarOverlayHeadRecipe, sidebarOverlayItemActive, sidebarOverlayNavRecipe, sidebarOverlayPanelRecipe, sidebarOverlayPositionerRecipe, sidebarOverlayScopeRecipe, sidebarOverlaySeparatorRecipe, sidebarRecipe, sidebarScopeRecipe, sidebarSubRecipe, sidebarSwitchRecipe, sidebarToggleRecipe, sidebarTravel, sidebarWordmarkRecipe };
165
+ export { sidebarAnatomy, sidebarBrandRecipe, sidebarBrandStackRecipe, sidebarBrandSubtitleRecipe, sidebarChevronRecipe, sidebarDotRecipe, sidebarFootRecipe, sidebarGroupRecipe, sidebarHeadRecipe, sidebarIconRecipe, sidebarItemRecipe, sidebarLabelRecipe, sidebarMarkRecipe, sidebarMobileBarRecipe, sidebarMobileEyebrowRecipe, sidebarMobileHeadingsRecipe, sidebarMobileTitleRecipe, sidebarNavRecipe, sidebarOverlayBackdropRecipe, sidebarOverlayBodyRecipe, sidebarOverlayBrandRecipe, sidebarOverlayHeadRecipe, sidebarOverlayItemActive, sidebarOverlayNavRecipe, sidebarOverlayPanelRecipe, sidebarOverlayPositionerRecipe, sidebarOverlayScopeRecipe, sidebarOverlaySeparatorRecipe, sidebarRecipe, sidebarScopeRecipe, sidebarSubRecipe, sidebarSwitchRecipe, sidebarToggleRecipe, sidebarTravel, sidebarWordmarkRecipe };
40
166
  //# sourceMappingURL=sidebar.d.ts.map
@@ -1,7 +1,8 @@
1
+ import { anatomy } from "../anatomy.js";
1
2
  import { controlInert, controlPress, controlReach } from "../parts/control.js";
2
3
  import { collapseMotion, drawerMotion, railCollapse, railMorph, scrimMirrorMotion } from "./motion.js";
3
- import { eyebrowLead } from "../parts/eyebrow.js";
4
4
  import { surfaceLifted, surfacePanel } from "../parts/surface.js";
5
+ import { eyebrowLead } from "../parts/eyebrow.js";
5
6
  import { cva } from "class-variance-authority";
6
7
  //#region src/recipes/sidebar.ts
7
8
  const CHILD_INSET = "pl-11";
@@ -122,7 +123,129 @@ const sidebarDotRecipe = cva([
122
123
  ]);
123
124
  const sidebarSubRecipe = cva(["flex flex-col gap-1 pt-1", ...collapseMotion]);
124
125
  const sidebarFootRecipe = cva("relative mt-auto flex flex-none flex-col gap-1 px-3");
126
+ const sidebarAnatomy = anatomy({
127
+ brand: {
128
+ part: "brand",
129
+ recipe: sidebarBrandRecipe,
130
+ required: true
131
+ },
132
+ brandStack: {
133
+ part: "brand-stack",
134
+ recipe: sidebarBrandStackRecipe,
135
+ required: true
136
+ },
137
+ brandSubtitle: {
138
+ part: "brand-subtitle",
139
+ recipe: sidebarBrandSubtitleRecipe,
140
+ required: false
141
+ },
142
+ child: {
143
+ part: "child",
144
+ recipe: sidebarItemRecipe,
145
+ required: false
146
+ },
147
+ dot: {
148
+ part: "dot",
149
+ recipe: sidebarDotRecipe,
150
+ required: false
151
+ },
152
+ foot: {
153
+ part: "foot",
154
+ recipe: sidebarFootRecipe,
155
+ required: true
156
+ },
157
+ head: {
158
+ part: "head",
159
+ recipe: sidebarHeadRecipe,
160
+ required: true
161
+ },
162
+ item: {
163
+ part: "item",
164
+ recipe: sidebarItemRecipe,
165
+ required: false
166
+ },
167
+ label: {
168
+ part: "label",
169
+ recipe: sidebarLabelRecipe,
170
+ required: true
171
+ },
172
+ mark: {
173
+ part: "mark",
174
+ recipe: sidebarMarkRecipe,
175
+ required: true
176
+ },
177
+ mobileBar: {
178
+ part: "mobile-bar",
179
+ recipe: sidebarMobileBarRecipe,
180
+ required: true
181
+ },
182
+ mobileEyebrow: {
183
+ part: "mobile-eyebrow",
184
+ recipe: sidebarMobileEyebrowRecipe,
185
+ required: false
186
+ },
187
+ mobileHeadings: {
188
+ part: "mobile-headings",
189
+ recipe: sidebarMobileHeadingsRecipe,
190
+ required: false
191
+ },
192
+ mobileTitle: {
193
+ part: "mobile-title",
194
+ recipe: sidebarMobileTitleRecipe,
195
+ required: false
196
+ },
197
+ nav: {
198
+ part: "nav",
199
+ recipe: sidebarNavRecipe,
200
+ required: true
201
+ },
202
+ overlayBody: {
203
+ part: "overlay-body",
204
+ recipe: sidebarOverlayBodyRecipe,
205
+ required: true
206
+ },
207
+ overlayBrand: {
208
+ part: "overlay-brand",
209
+ recipe: sidebarOverlayBrandRecipe,
210
+ required: true
211
+ },
212
+ overlayHead: {
213
+ part: "overlay-head",
214
+ recipe: sidebarOverlayHeadRecipe,
215
+ required: true
216
+ },
217
+ overlayScope: {
218
+ part: "overlay-scope",
219
+ recipe: sidebarOverlayScopeRecipe,
220
+ required: false
221
+ },
222
+ root: {
223
+ part: "sidebar",
224
+ recipe: sidebarRecipe,
225
+ required: true
226
+ },
227
+ scope: {
228
+ part: "scope",
229
+ recipe: sidebarScopeRecipe,
230
+ required: false
231
+ },
232
+ separator: {
233
+ part: "separator",
234
+ recipe: sidebarOverlaySeparatorRecipe,
235
+ required: true
236
+ },
237
+ switch: {
238
+ part: "switch",
239
+ recipe: sidebarSwitchRecipe,
240
+ required: true
241
+ },
242
+ wordmark: {
243
+ part: "wordmark",
244
+ recipe: sidebarWordmarkRecipe,
245
+ required: true
246
+ }
247
+ });
125
248
  //#endregion
126
- export { sidebarBrandRecipe, sidebarBrandStackRecipe, sidebarBrandSubtitleRecipe, sidebarChevronRecipe, sidebarDotRecipe, sidebarFootRecipe, sidebarGroupRecipe, sidebarHeadRecipe, sidebarIconRecipe, sidebarItemRecipe, sidebarLabelRecipe, sidebarMarkRecipe, sidebarMobileBarRecipe, sidebarMobileEyebrowRecipe, sidebarMobileHeadingsRecipe, sidebarMobileTitleRecipe, sidebarNavRecipe, sidebarOverlayBackdropRecipe, sidebarOverlayBodyRecipe, sidebarOverlayBrandRecipe, sidebarOverlayHeadRecipe, sidebarOverlayItemActive, sidebarOverlayNavRecipe, sidebarOverlayPanelRecipe, sidebarOverlayPositionerRecipe, sidebarOverlayScopeRecipe, sidebarOverlaySeparatorRecipe, sidebarRecipe, sidebarScopeRecipe, sidebarSubRecipe, sidebarSwitchRecipe, sidebarToggleRecipe, sidebarTravel, sidebarWordmarkRecipe };
249
+ export { sidebarAnatomy, sidebarBrandRecipe, sidebarBrandStackRecipe, sidebarBrandSubtitleRecipe, sidebarChevronRecipe, sidebarDotRecipe, sidebarFootRecipe, sidebarGroupRecipe, sidebarHeadRecipe, sidebarIconRecipe, sidebarItemRecipe, sidebarLabelRecipe, sidebarMarkRecipe, sidebarMobileBarRecipe, sidebarMobileEyebrowRecipe, sidebarMobileHeadingsRecipe, sidebarMobileTitleRecipe, sidebarNavRecipe, sidebarOverlayBackdropRecipe, sidebarOverlayBodyRecipe, sidebarOverlayBrandRecipe, sidebarOverlayHeadRecipe, sidebarOverlayItemActive, sidebarOverlayNavRecipe, sidebarOverlayPanelRecipe, sidebarOverlayPositionerRecipe, sidebarOverlayScopeRecipe, sidebarOverlaySeparatorRecipe, sidebarRecipe, sidebarScopeRecipe, sidebarSubRecipe, sidebarSwitchRecipe, sidebarToggleRecipe, sidebarTravel, sidebarWordmarkRecipe };
127
250
 
128
251
  //# sourceMappingURL=sidebar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar.js","names":[],"sources":["../../src/recipes/sidebar.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { controlInert, controlPress, controlReach } from '#parts/control'\nimport { eyebrowLead } from '#parts/eyebrow'\nimport { surfaceLifted, surfacePanel } from '#parts/surface'\n\nimport { collapseMotion, drawerMotion, railCollapse, railMorph, scrimMirrorMotion } from './motion'\n\nconst CHILD_INSET = 'pl-11'\n\nconst ROW_STRIDE = `calc(var(--spacing-tf-control-md) + var(--spacing))`\n\nconst RAIL_STRIDE = `calc(var(--spacing-tf-control-md) + var(--spacing))`\n\nconst sidebarTravel = (index: number, rail: boolean): string => {\n const step = String(index)\n\n if (rail) {\n return `0 calc(${RAIL_STRIDE} * ${step})`\n }\n return `0 calc(${ROW_STRIDE} * ${step})`\n}\n\nconst MORPHS = railMorph\n\nconst ITEM = [\n 'group relative flex flex-none items-center rounded-tf-control',\n 'text-tf-body text-tf-muted',\n 'interactive:hovered:text-tf-fg aria-[current=page]:text-tf-on-accent',\n 'not-aria-[current=page]:interactive:hovered:bg-tf-panel-hi',\n `cursor-pointer ${MORPHS}`,\n ...controlReach,\n ...controlPress,\n ...controlInert,\n]\n\nconst sidebarRecipe = cva([\n 'sticky top-0 z-tf-dropdown hidden h-dvh min-h-0 flex-none flex-col gap-6 py-6 lg:flex',\n 'w-tf-sidebar data-rail:w-tf-rail',\n 'border-r border-tf-line-2 bg-tf-glass backdrop-blur-tf-glass',\n 'tf-icons font-tf-body text-tf-fg',\n MORPHS,\n])\n\nconst sidebarScopeRecipe = cva('flex-none px-3')\n\nconst sidebarMobileBarRecipe = cva([\n 'fixed inset-x-0 top-0 z-tf-dropdown flex items-center gap-3 px-4 lg:hidden',\n 'h-tf-control-lg border-b border-tf-line-2 bg-tf-panel-2 backdrop-blur-tf-panel',\n 'tf-icons font-tf-body text-tf-fg',\n])\n\nconst sidebarMobileHeadingsRecipe = cva('flex min-w-0 flex-1 flex-col gap-0')\n\nconst sidebarMobileEyebrowRecipe = cva(['truncate', eyebrowLead])\n\nconst sidebarMobileTitleRecipe = cva(\n 'truncate font-tf-display text-tf-h4 font-bold tracking-tf-tight text-tf-fg',\n)\n\nconst sidebarOverlayBackdropRecipe = 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 sidebarOverlayPositionerRecipe = cva('fixed inset-0 z-tf-modal flex flex-col font-tf-body')\n\nconst sidebarOverlayPanelRecipe = cva([\n ...surfacePanel,\n ...surfaceLifted,\n 'flex h-full w-full flex-col overflow-hidden rounded-tf-none',\n 'text-tf-body-sm font-medium text-tf-fg',\n ...drawerMotion,\n 'motion-reduce:animate-none',\n])\n\nconst sidebarOverlayHeadRecipe = cva(\n 'relative flex flex-none items-center gap-5 border-b border-tf-line-2 px-4 py-3',\n)\n\nconst sidebarOverlayBrandRecipe = cva([\n 'flex min-w-0 items-center gap-3',\n '[&_svg]:size-tf-icon-solo-sm [&_svg]:shrink-0',\n])\n\nconst sidebarOverlayScopeRecipe = cva('ml-auto truncate text-tf-body-sm font-medium text-tf-fg')\n\nconst sidebarOverlayBodyRecipe = cva([\n 'flex min-h-0 flex-1 flex-col gap-4 overflow-y-auto px-4 py-4',\n 'tf-scroll-thin tf-scroll-faded',\n '[--tf-fade-foot:calc(var(--spacing)*2)] [--tf-fade-head:calc(var(--spacing)*2)]',\n])\n\nconst sidebarOverlayNavRecipe = cva('flex flex-none flex-col gap-1')\n\nconst sidebarOverlaySeparatorRecipe = cva('h-px w-full flex-none bg-tf-line-2')\n\nconst sidebarOverlayItemActive =\n 'aria-[current=page]:bg-tf-blend aria-[current=page]:blend-tf-accent'\n\nconst sidebarHeadRecipe = cva(['flex flex-none items-center gap-3 px-3', MORPHS])\n\nconst sidebarBrandRecipe = cva([\n 'flex min-w-0 items-center gap-3 pl-3',\n 'in-data-rail:gap-0 in-data-rail:pl-4',\n '[&_svg]:size-tf-icon-solo-sm [&_svg]:shrink-0',\n MORPHS,\n])\n\nconst sidebarBrandStackRecipe = cva(['flex flex-col gap-px', railCollapse])\n\nconst sidebarWordmarkRecipe = cva(['truncate font-tf-display text-tf-lead tracking-tf-tight'])\n\nconst sidebarBrandSubtitleRecipe = cva('truncate text-tf-caption-sm text-tf-muted')\n\nconst sidebarToggleRecipe = cva('flex-none [&_svg]:size-tf-icon-solo-sm')\n\nconst sidebarSwitchRecipe = cva([\n 'flex flex-none items-center justify-end in-data-rail:pr-2',\n MORPHS,\n])\n\nconst FADED = [\n 'tf-scroll-faded tf-scroll-thin',\n '[--tf-fade-head:calc(var(--spacing)*2)] [--tf-fade-foot:calc(var(--spacing)*2)]',\n 'outline-hidden focused:outline-2 focused:-outline-offset-2 focused:outline-tf-accent-hi',\n].join(' ')\n\nconst sidebarNavRecipe = cva([\n 'relative flex min-h-0 flex-1 flex-col gap-1 overflow-y-auto px-3 py-2',\n FADED,\n])\n\nconst sidebarMarkRecipe = cva([\n 'pointer-events-none absolute inset-x-3 top-2 h-tf-control-md rounded-tf-control',\n 'in-data-rail:inset-x-4',\n 'bg-tf-blend blend-tf-accent',\n `tf-slides-settle ${MORPHS}`,\n])\n\nconst sidebarGroupRecipe = cva('flex flex-none flex-col')\n\nconst sidebarItemRecipe = cva(\n [\n ...ITEM,\n 'h-tf-control-md min-h-tf-control-md w-full text-left',\n '[&>svg]:size-tf-icon-sm [&>svg]:shrink-0',\n ],\n {\n defaultVariants: { level: 'top' },\n variants: {\n level: {\n child: `${CHILD_INSET} pr-3`,\n top: [\n 'gap-3 px-3',\n 'in-data-rail:gap-0',\n 'in-data-rail:px-[calc((var(--spacing-tf-rail)-var(--spacing)*6-var(--spacing-tf-icon-md))/2)]',\n ].join(' '),\n },\n },\n },\n)\n\nconst sidebarIconRecipe = cva([\n 'relative inline-flex size-tf-icon-md flex-none [&_svg]:size-tf-icon-md',\n '[&_svg]:shrink-0',\n MORPHS,\n])\n\nconst sidebarLabelRecipe = cva(['truncate text-left tf-text-trim', railCollapse])\n\nconst sidebarChevronRecipe = cva([\n 'w-tf-icon-sm flex-none overflow-hidden in-data-rail:w-0 in-data-rail:opacity-0',\n 'group-aria-expanded:rotate-180',\n MORPHS,\n])\n\nconst sidebarDotRecipe = cva([\n 'pointer-events-none absolute -right-1 -bottom-1',\n 'size-1 rounded-tf-pill bg-current opacity-0 in-data-rail:opacity-100',\n MORPHS,\n])\n\nconst sidebarSubRecipe = cva(['flex flex-col gap-1 pt-1', ...collapseMotion])\n\nconst sidebarFootRecipe = cva('relative mt-auto flex flex-none flex-col gap-1 px-3')\n\nexport {\n sidebarBrandRecipe,\n sidebarBrandStackRecipe,\n sidebarBrandSubtitleRecipe,\n sidebarChevronRecipe,\n sidebarDotRecipe,\n sidebarFootRecipe,\n sidebarGroupRecipe,\n sidebarHeadRecipe,\n sidebarIconRecipe,\n sidebarItemRecipe,\n sidebarLabelRecipe,\n sidebarMarkRecipe,\n sidebarMobileBarRecipe,\n sidebarMobileEyebrowRecipe,\n sidebarMobileHeadingsRecipe,\n sidebarMobileTitleRecipe,\n sidebarNavRecipe,\n sidebarOverlayBackdropRecipe,\n sidebarOverlayBodyRecipe,\n sidebarOverlayBrandRecipe,\n sidebarOverlayHeadRecipe,\n sidebarOverlayItemActive,\n sidebarOverlayNavRecipe,\n sidebarOverlayPanelRecipe,\n sidebarOverlayPositionerRecipe,\n sidebarOverlayScopeRecipe,\n sidebarOverlaySeparatorRecipe,\n sidebarRecipe,\n sidebarScopeRecipe,\n sidebarSubRecipe,\n sidebarSwitchRecipe,\n sidebarToggleRecipe,\n sidebarTravel,\n sidebarWordmarkRecipe,\n}\n"],"mappings":";;;;;;AAQA,MAAM,cAAc;AAEpB,MAAM,aAAa;AAEnB,MAAM,cAAc;AAEpB,MAAM,iBAAiB,OAAe,SAA0B;CAC9D,MAAM,OAAO,OAAO,KAAK;CAEzB,IAAI,MACF,OAAO,UAAU,YAAY,KAAK,KAAK;CAEzC,OAAO,UAAU,WAAW,KAAK,KAAK;AACxC;AAEA,MAAM,SAAS;AAEf,MAAM,OAAO;CACX;CACA;CACA;CACA;CACA,kBAAkB;CAClB,GAAG;CACH,GAAG;CACH,GAAG;AACL;AAEA,MAAM,gBAAgB,IAAI;CACxB;CACA;CACA;CACA;CACA;AACF,CAAC;AAED,MAAM,qBAAqB,IAAI,gBAAgB;AAE/C,MAAM,yBAAyB,IAAI;CACjC;CACA;CACA;AACF,CAAC;AAED,MAAM,8BAA8B,IAAI,oCAAoC;AAE5E,MAAM,6BAA6B,IAAI,CAAC,YAAY,WAAW,CAAC;AAEhE,MAAM,2BAA2B,IAC/B,4EACF;AAEA,MAAM,+BAA+B,IAAI;CACvC;CACA,GAAG;CACH;AACF,CAAC;AAED,MAAM,iCAAiC,IAAI,qDAAqD;AAEhG,MAAM,4BAA4B,IAAI;CACpC,GAAG;CACH,GAAG;CACH;CACA;CACA,GAAG;CACH;AACF,CAAC;AAED,MAAM,2BAA2B,IAC/B,gFACF;AAEA,MAAM,4BAA4B,IAAI,CACpC,mCACA,+CACF,CAAC;AAED,MAAM,4BAA4B,IAAI,yDAAyD;AAE/F,MAAM,2BAA2B,IAAI;CACnC;CACA;CACA;AACF,CAAC;AAED,MAAM,0BAA0B,IAAI,+BAA+B;AAEnE,MAAM,gCAAgC,IAAI,oCAAoC;AAE9E,MAAM,2BACJ;AAEF,MAAM,oBAAoB,IAAI,CAAC,0CAA0C,MAAM,CAAC;AAEhF,MAAM,qBAAqB,IAAI;CAC7B;CACA;CACA;CACA;AACF,CAAC;AAED,MAAM,0BAA0B,IAAI,CAAC,wBAAwB,YAAY,CAAC;AAE1E,MAAM,wBAAwB,IAAI,CAAC,yDAAyD,CAAC;AAE7F,MAAM,6BAA6B,IAAI,2CAA2C;AAElF,MAAM,sBAAsB,IAAI,wCAAwC;AAExE,MAAM,sBAAsB,IAAI,CAC9B,6DACA,MACF,CAAC;AAED,MAAM,QAAQ;CACZ;CACA;CACA;AACF,CAAC,CAAC,KAAK,GAAG;AAEV,MAAM,mBAAmB,IAAI,CAC3B,yEACA,KACF,CAAC;AAED,MAAM,oBAAoB,IAAI;CAC5B;CACA;CACA;CACA,oBAAoB;AACtB,CAAC;AAED,MAAM,qBAAqB,IAAI,yBAAyB;AAExD,MAAM,oBAAoB,IACxB;CACE,GAAG;CACH;CACA;AACF,GACA;CACE,iBAAiB,EAAE,OAAO,MAAM;CAChC,UAAU,EACR,OAAO;EACL,OAAO,GAAG,YAAY;EACtB,KAAK;GACH;GACA;GACA;EACF,CAAC,CAAC,KAAK,GAAG;CACZ,EACF;AACF,CACF;AAEA,MAAM,oBAAoB,IAAI;CAC5B;CACA;CACA;AACF,CAAC;AAED,MAAM,qBAAqB,IAAI,CAAC,mCAAmC,YAAY,CAAC;AAEhF,MAAM,uBAAuB,IAAI;CAC/B;CACA;CACA;AACF,CAAC;AAED,MAAM,mBAAmB,IAAI;CAC3B;CACA;CACA;AACF,CAAC;AAED,MAAM,mBAAmB,IAAI,CAAC,4BAA4B,GAAG,cAAc,CAAC;AAE5E,MAAM,oBAAoB,IAAI,qDAAqD"}
1
+ {"version":3,"file":"sidebar.js","names":[],"sources":["../../src/recipes/sidebar.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { anatomy } from '#anatomy'\nimport { controlInert, controlPress, controlReach } from '#parts/control'\nimport { eyebrowLead } from '#parts/eyebrow'\nimport { surfaceLifted, surfacePanel } from '#parts/surface'\n\nimport { collapseMotion, drawerMotion, railCollapse, railMorph, scrimMirrorMotion } from './motion'\n\nconst CHILD_INSET = 'pl-11'\n\nconst ROW_STRIDE = `calc(var(--spacing-tf-control-md) + var(--spacing))`\n\nconst RAIL_STRIDE = `calc(var(--spacing-tf-control-md) + var(--spacing))`\n\nconst sidebarTravel = (index: number, rail: boolean): string => {\n const step = String(index)\n\n if (rail) {\n return `0 calc(${RAIL_STRIDE} * ${step})`\n }\n return `0 calc(${ROW_STRIDE} * ${step})`\n}\n\nconst MORPHS = railMorph\n\nconst ITEM = [\n 'group relative flex flex-none items-center rounded-tf-control',\n 'text-tf-body text-tf-muted',\n 'interactive:hovered:text-tf-fg aria-[current=page]:text-tf-on-accent',\n 'not-aria-[current=page]:interactive:hovered:bg-tf-panel-hi',\n `cursor-pointer ${MORPHS}`,\n ...controlReach,\n ...controlPress,\n ...controlInert,\n]\n\nconst sidebarRecipe = cva([\n 'sticky top-0 z-tf-dropdown hidden h-dvh min-h-0 flex-none flex-col gap-6 py-6 lg:flex',\n 'w-tf-sidebar data-rail:w-tf-rail',\n 'border-r border-tf-line-2 bg-tf-glass backdrop-blur-tf-glass',\n 'tf-icons font-tf-body text-tf-fg',\n MORPHS,\n])\n\nconst sidebarScopeRecipe = cva('flex-none px-3')\n\nconst sidebarMobileBarRecipe = cva([\n 'fixed inset-x-0 top-0 z-tf-dropdown flex items-center gap-3 px-4 lg:hidden',\n 'h-tf-control-lg border-b border-tf-line-2 bg-tf-panel-2 backdrop-blur-tf-panel',\n 'tf-icons font-tf-body text-tf-fg',\n])\n\nconst sidebarMobileHeadingsRecipe = cva('flex min-w-0 flex-1 flex-col gap-0')\n\nconst sidebarMobileEyebrowRecipe = cva(['truncate', eyebrowLead])\n\nconst sidebarMobileTitleRecipe = cva(\n 'truncate font-tf-display text-tf-h4 font-bold tracking-tf-tight text-tf-fg',\n)\n\nconst sidebarOverlayBackdropRecipe = 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 sidebarOverlayPositionerRecipe = cva('fixed inset-0 z-tf-modal flex flex-col font-tf-body')\n\nconst sidebarOverlayPanelRecipe = cva([\n ...surfacePanel,\n ...surfaceLifted,\n 'flex h-full w-full flex-col overflow-hidden rounded-tf-none',\n 'text-tf-body-sm font-medium text-tf-fg',\n ...drawerMotion,\n 'motion-reduce:animate-none',\n])\n\nconst sidebarOverlayHeadRecipe = cva(\n 'relative flex flex-none items-center gap-5 border-b border-tf-line-2 px-4 py-3',\n)\n\nconst sidebarOverlayBrandRecipe = cva([\n 'flex min-w-0 items-center gap-3',\n '[&_svg]:size-tf-icon-solo-sm [&_svg]:shrink-0',\n])\n\nconst sidebarOverlayScopeRecipe = cva('ml-auto truncate text-tf-body-sm font-medium text-tf-fg')\n\nconst sidebarOverlayBodyRecipe = cva([\n 'flex min-h-0 flex-1 flex-col gap-4 overflow-y-auto px-4 py-4',\n 'tf-scroll-thin tf-scroll-faded',\n '[--tf-fade-foot:calc(var(--spacing)*2)] [--tf-fade-head:calc(var(--spacing)*2)]',\n])\n\nconst sidebarOverlayNavRecipe = cva('flex flex-none flex-col gap-1')\n\nconst sidebarOverlaySeparatorRecipe = cva('h-px w-full flex-none bg-tf-line-2')\n\nconst sidebarOverlayItemActive =\n 'aria-[current=page]:bg-tf-blend aria-[current=page]:blend-tf-accent'\n\nconst sidebarHeadRecipe = cva(['flex flex-none items-center gap-3 px-3', MORPHS])\n\nconst sidebarBrandRecipe = cva([\n 'flex min-w-0 items-center gap-3 pl-3',\n 'in-data-rail:gap-0 in-data-rail:pl-4',\n '[&_svg]:size-tf-icon-solo-sm [&_svg]:shrink-0',\n MORPHS,\n])\n\nconst sidebarBrandStackRecipe = cva(['flex flex-col gap-px', railCollapse])\n\nconst sidebarWordmarkRecipe = cva(['truncate font-tf-display text-tf-lead tracking-tf-tight'])\n\nconst sidebarBrandSubtitleRecipe = cva('truncate text-tf-caption-sm text-tf-muted')\n\nconst sidebarToggleRecipe = cva('flex-none [&_svg]:size-tf-icon-solo-sm')\n\nconst sidebarSwitchRecipe = cva([\n 'flex flex-none items-center justify-end in-data-rail:pr-2',\n MORPHS,\n])\n\nconst FADED = [\n 'tf-scroll-faded tf-scroll-thin',\n '[--tf-fade-head:calc(var(--spacing)*2)] [--tf-fade-foot:calc(var(--spacing)*2)]',\n 'outline-hidden focused:outline-2 focused:-outline-offset-2 focused:outline-tf-accent-hi',\n].join(' ')\n\nconst sidebarNavRecipe = cva([\n 'relative flex min-h-0 flex-1 flex-col gap-1 overflow-y-auto px-3 py-2',\n FADED,\n])\n\nconst sidebarMarkRecipe = cva([\n 'pointer-events-none absolute inset-x-3 top-2 h-tf-control-md rounded-tf-control',\n 'in-data-rail:inset-x-4',\n 'bg-tf-blend blend-tf-accent',\n `tf-slides-settle ${MORPHS}`,\n])\n\nconst sidebarGroupRecipe = cva('flex flex-none flex-col')\n\nconst sidebarItemRecipe = cva(\n [\n ...ITEM,\n 'h-tf-control-md min-h-tf-control-md w-full text-left',\n '[&>svg]:size-tf-icon-sm [&>svg]:shrink-0',\n ],\n {\n defaultVariants: { level: 'top' },\n variants: {\n level: {\n child: `${CHILD_INSET} pr-3`,\n top: [\n 'gap-3 px-3',\n 'in-data-rail:gap-0',\n 'in-data-rail:px-[calc((var(--spacing-tf-rail)-var(--spacing)*6-var(--spacing-tf-icon-md))/2)]',\n ].join(' '),\n },\n },\n },\n)\n\nconst sidebarIconRecipe = cva([\n 'relative inline-flex size-tf-icon-md flex-none [&_svg]:size-tf-icon-md',\n '[&_svg]:shrink-0',\n MORPHS,\n])\n\nconst sidebarLabelRecipe = cva(['truncate text-left tf-text-trim', railCollapse])\n\nconst sidebarChevronRecipe = cva([\n 'w-tf-icon-sm flex-none overflow-hidden in-data-rail:w-0 in-data-rail:opacity-0',\n 'group-aria-expanded:rotate-180',\n MORPHS,\n])\n\nconst sidebarDotRecipe = cva([\n 'pointer-events-none absolute -right-1 -bottom-1',\n 'size-1 rounded-tf-pill bg-current opacity-0 in-data-rail:opacity-100',\n MORPHS,\n])\n\nconst sidebarSubRecipe = cva(['flex flex-col gap-1 pt-1', ...collapseMotion])\n\nconst sidebarFootRecipe = cva('relative mt-auto flex flex-none flex-col gap-1 px-3')\n\nconst sidebarAnatomy = anatomy({\n brand: { part: 'brand', recipe: sidebarBrandRecipe, required: true },\n brandStack: { part: 'brand-stack', recipe: sidebarBrandStackRecipe, required: true },\n brandSubtitle: { part: 'brand-subtitle', recipe: sidebarBrandSubtitleRecipe, required: false },\n child: { part: 'child', recipe: sidebarItemRecipe, required: false },\n dot: { part: 'dot', recipe: sidebarDotRecipe, required: false },\n foot: { part: 'foot', recipe: sidebarFootRecipe, required: true },\n head: { part: 'head', recipe: sidebarHeadRecipe, required: true },\n item: { part: 'item', recipe: sidebarItemRecipe, required: false },\n label: { part: 'label', recipe: sidebarLabelRecipe, required: true },\n mark: { part: 'mark', recipe: sidebarMarkRecipe, required: true },\n mobileBar: { part: 'mobile-bar', recipe: sidebarMobileBarRecipe, required: true },\n mobileEyebrow: { part: 'mobile-eyebrow', recipe: sidebarMobileEyebrowRecipe, required: false },\n mobileHeadings: {\n part: 'mobile-headings',\n recipe: sidebarMobileHeadingsRecipe,\n required: false,\n },\n mobileTitle: { part: 'mobile-title', recipe: sidebarMobileTitleRecipe, required: false },\n nav: { part: 'nav', recipe: sidebarNavRecipe, required: true },\n overlayBody: { part: 'overlay-body', recipe: sidebarOverlayBodyRecipe, required: true },\n overlayBrand: { part: 'overlay-brand', recipe: sidebarOverlayBrandRecipe, required: true },\n overlayHead: { part: 'overlay-head', recipe: sidebarOverlayHeadRecipe, required: true },\n overlayScope: { part: 'overlay-scope', recipe: sidebarOverlayScopeRecipe, required: false },\n root: { part: 'sidebar', recipe: sidebarRecipe, required: true },\n scope: { part: 'scope', recipe: sidebarScopeRecipe, required: false },\n separator: { part: 'separator', recipe: sidebarOverlaySeparatorRecipe, required: true },\n switch: { part: 'switch', recipe: sidebarSwitchRecipe, required: true },\n wordmark: { part: 'wordmark', recipe: sidebarWordmarkRecipe, required: true },\n})\n\nexport {\n sidebarAnatomy,\n sidebarBrandRecipe,\n sidebarBrandStackRecipe,\n sidebarBrandSubtitleRecipe,\n sidebarChevronRecipe,\n sidebarDotRecipe,\n sidebarFootRecipe,\n sidebarGroupRecipe,\n sidebarHeadRecipe,\n sidebarIconRecipe,\n sidebarItemRecipe,\n sidebarLabelRecipe,\n sidebarMarkRecipe,\n sidebarMobileBarRecipe,\n sidebarMobileEyebrowRecipe,\n sidebarMobileHeadingsRecipe,\n sidebarMobileTitleRecipe,\n sidebarNavRecipe,\n sidebarOverlayBackdropRecipe,\n sidebarOverlayBodyRecipe,\n sidebarOverlayBrandRecipe,\n sidebarOverlayHeadRecipe,\n sidebarOverlayItemActive,\n sidebarOverlayNavRecipe,\n sidebarOverlayPanelRecipe,\n sidebarOverlayPositionerRecipe,\n sidebarOverlayScopeRecipe,\n sidebarOverlaySeparatorRecipe,\n sidebarRecipe,\n sidebarScopeRecipe,\n sidebarSubRecipe,\n sidebarSwitchRecipe,\n sidebarToggleRecipe,\n sidebarTravel,\n sidebarWordmarkRecipe,\n}\n"],"mappings":"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"}
@@ -15,6 +15,36 @@ declare const starRecipe: (props?: import("class-variance-authority/types").Clas
15
15
  declare const contentRecipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
16
16
  declare const starLayers: (count: number, seed: string) => StarLayer[];
17
17
  declare const cloudDrift: (seed: string) => Cloud;
18
+ declare const skyAnatomy: {
19
+ readonly content: {
20
+ readonly part: "content";
21
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
22
+ readonly required: true;
23
+ };
24
+ readonly nebula: {
25
+ readonly part: "nebula";
26
+ readonly recipe: (props?: ({
27
+ origin?: "top" | "top-right" | "right" | "bottom-right" | "bottom" | "bottom-left" | "left" | "top-left" | null | undefined;
28
+ tone?: "accent" | "success" | "warning" | "info" | "danger" | null | undefined;
29
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
30
+ readonly required: true;
31
+ };
32
+ readonly root: {
33
+ readonly part: "sky";
34
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
35
+ readonly required: true;
36
+ };
37
+ readonly star: {
38
+ readonly part: "star";
39
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
40
+ readonly required: true;
41
+ };
42
+ readonly stars: {
43
+ readonly part: "stars";
44
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
45
+ readonly required: true;
46
+ };
47
+ };
18
48
  //#endregion
19
- export { type Cloud, type StarLayer, cloudDrift, contentRecipe, driftRecipe, skyRecipe, starLayers, starRecipe };
49
+ export { type Cloud, type StarLayer, cloudDrift, contentRecipe, driftRecipe, skyAnatomy, skyRecipe, starLayers, starRecipe };
20
50
  //# sourceMappingURL=sky.d.ts.map
@@ -1,3 +1,5 @@
1
+ import { anatomy } from "../anatomy.js";
2
+ import { nebulaRecipe } from "./nebula.js";
1
3
  import { cva } from "class-variance-authority";
2
4
  //#region src/recipes/sky.ts
3
5
  const DIM = 1;
@@ -121,7 +123,34 @@ const cloudDrift = (seed) => {
121
123
  shift: `${String(across)}% ${String(down)}%`
122
124
  };
123
125
  };
126
+ const skyAnatomy = anatomy({
127
+ content: {
128
+ part: "content",
129
+ recipe: contentRecipe,
130
+ required: true
131
+ },
132
+ nebula: {
133
+ part: "nebula",
134
+ recipe: nebulaRecipe,
135
+ required: true
136
+ },
137
+ root: {
138
+ part: "sky",
139
+ recipe: skyRecipe,
140
+ required: true
141
+ },
142
+ star: {
143
+ part: "star",
144
+ recipe: starRecipe,
145
+ required: true
146
+ },
147
+ stars: {
148
+ part: "stars",
149
+ recipe: driftRecipe,
150
+ required: true
151
+ }
152
+ });
124
153
  //#endregion
125
- export { cloudDrift, contentRecipe, driftRecipe, skyRecipe, starLayers, starRecipe };
154
+ export { cloudDrift, contentRecipe, driftRecipe, skyAnatomy, skyRecipe, starLayers, starRecipe };
126
155
 
127
156
  //# sourceMappingURL=sky.js.map