@techfides/ui-library-design 0.5.0 → 0.8.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 (169) 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/cn.generated.js +217 -0
  8. package/dist/cn.generated.js.map +1 -0
  9. package/dist/cn.js +10 -166
  10. package/dist/cn.js.map +1 -1
  11. package/dist/control.d.ts +1 -2
  12. package/dist/control.js +1 -2
  13. package/dist/control.js.map +1 -1
  14. package/dist/index.d.ts +55 -52
  15. package/dist/index.js +59 -56
  16. package/dist/recipes/accordion.d.ts +28 -1
  17. package/dist/recipes/accordion.js +29 -1
  18. package/dist/recipes/accordion.js.map +1 -1
  19. package/dist/recipes/alert.d.ts +45 -1
  20. package/dist/recipes/alert.js +45 -1
  21. package/dist/recipes/alert.js.map +1 -1
  22. package/dist/recipes/band.d.ts +11 -1
  23. package/dist/recipes/band.js +7 -1
  24. package/dist/recipes/band.js.map +1 -1
  25. package/dist/recipes/bars.d.ts +60 -1
  26. package/dist/recipes/bars.js +59 -1
  27. package/dist/recipes/bars.js.map +1 -1
  28. package/dist/recipes/brandMark.d.ts +8 -1
  29. package/dist/recipes/brandMark.js +7 -1
  30. package/dist/recipes/brandMark.js.map +1 -1
  31. package/dist/recipes/button.d.ts +41 -4
  32. package/dist/recipes/button.js +31 -2
  33. package/dist/recipes/button.js.map +1 -1
  34. package/dist/recipes/cardHeader.d.ts +18 -1
  35. package/dist/recipes/cardHeader.js +19 -1
  36. package/dist/recipes/cardHeader.js.map +1 -1
  37. package/dist/recipes/checkbox.d.ts +16 -1
  38. package/dist/recipes/checkbox.js +16 -3
  39. package/dist/recipes/checkbox.js.map +1 -1
  40. package/dist/recipes/chip.d.ts +41 -2
  41. package/dist/recipes/chip.js +34 -1
  42. package/dist/recipes/chip.js.map +1 -1
  43. package/dist/recipes/codeEditor.d.ts +8 -1
  44. package/dist/recipes/codeEditor.js +7 -1
  45. package/dist/recipes/codeEditor.js.map +1 -1
  46. package/dist/recipes/datePicker.d.ts +62 -1
  47. package/dist/recipes/datePicker.js +56 -3
  48. package/dist/recipes/datePicker.js.map +1 -1
  49. package/dist/recipes/dialog.d.ts +49 -1
  50. package/dist/recipes/dialog.js +40 -1
  51. package/dist/recipes/dialog.js.map +1 -1
  52. package/dist/recipes/feature.d.ts +30 -1
  53. package/dist/recipes/feature.js +30 -2
  54. package/dist/recipes/feature.js.map +1 -1
  55. package/dist/recipes/field.js +1 -1
  56. package/dist/recipes/findings.d.ts +33 -1
  57. package/dist/recipes/findings.js +34 -1
  58. package/dist/recipes/findings.js.map +1 -1
  59. package/dist/recipes/heading.d.ts +12 -2
  60. package/dist/recipes/heading.js +7 -1
  61. package/dist/recipes/heading.js.map +1 -1
  62. package/dist/recipes/heartbeat.d.ts +52 -2
  63. package/dist/recipes/heartbeat.js +51 -4
  64. package/dist/recipes/heartbeat.js.map +1 -1
  65. package/dist/recipes/ink.d.ts +11 -0
  66. package/dist/recipes/ink.js +13 -0
  67. package/dist/recipes/ink.js.map +1 -0
  68. package/dist/recipes/input.d.ts +55 -1
  69. package/dist/recipes/input.js +52 -2
  70. package/dist/recipes/input.js.map +1 -1
  71. package/dist/recipes/listItem.d.ts +18 -1
  72. package/dist/recipes/listItem.js +20 -1
  73. package/dist/recipes/listItem.js.map +1 -1
  74. package/dist/recipes/listbox.d.ts +22 -2
  75. package/dist/recipes/listbox.js +19 -1
  76. package/dist/recipes/listbox.js.map +1 -1
  77. package/dist/recipes/marquee.d.ts +26 -2
  78. package/dist/recipes/marquee.js +24 -1
  79. package/dist/recipes/marquee.js.map +1 -1
  80. package/dist/recipes/menu.d.ts +33 -1
  81. package/dist/recipes/menu.js +29 -1
  82. package/dist/recipes/menu.js.map +1 -1
  83. package/dist/recipes/metaRow.d.ts +11 -2
  84. package/dist/recipes/metaRow.js +7 -1
  85. package/dist/recipes/metaRow.js.map +1 -1
  86. package/dist/recipes/meter.d.ts +36 -2
  87. package/dist/recipes/meter.js +34 -1
  88. package/dist/recipes/meter.js.map +1 -1
  89. package/dist/recipes/motion.d.ts +9 -1
  90. package/dist/recipes/nebula.js +1 -1
  91. package/dist/recipes/numberRange.d.ts +44 -1
  92. package/dist/recipes/numberRange.js +36 -1
  93. package/dist/recipes/numberRange.js.map +1 -1
  94. package/dist/recipes/paper.d.ts +55 -2
  95. package/dist/recipes/paper.js +47 -4
  96. package/dist/recipes/paper.js.map +1 -1
  97. package/dist/recipes/progressBar.d.ts +8 -1
  98. package/dist/recipes/progressBar.js +7 -1
  99. package/dist/recipes/progressBar.js.map +1 -1
  100. package/dist/recipes/queue.d.ts +33 -1
  101. package/dist/recipes/queue.js +35 -1
  102. package/dist/recipes/queue.js.map +1 -1
  103. package/dist/recipes/radioGroup.d.ts +18 -1
  104. package/dist/recipes/radioGroup.js +21 -3
  105. package/dist/recipes/radioGroup.js.map +1 -1
  106. package/dist/recipes/scopeSwitcher.d.ts +38 -1
  107. package/dist/recipes/scopeSwitcher.js +40 -1
  108. package/dist/recipes/scopeSwitcher.js.map +1 -1
  109. package/dist/recipes/scrollArea.d.ts +12 -3
  110. package/dist/recipes/scrollArea.js +7 -1
  111. package/dist/recipes/scrollArea.js.map +1 -1
  112. package/dist/recipes/searchPalette.d.ts +48 -1
  113. package/dist/recipes/searchPalette.js +49 -1
  114. package/dist/recipes/searchPalette.js.map +1 -1
  115. package/dist/recipes/sectionHeader.d.ts +20 -2
  116. package/dist/recipes/sectionHeader.js +20 -3
  117. package/dist/recipes/sectionHeader.js.map +1 -1
  118. package/dist/recipes/segmentedControl.d.ts +8 -1
  119. package/dist/recipes/segmentedControl.js +7 -1
  120. package/dist/recipes/segmentedControl.js.map +1 -1
  121. package/dist/recipes/select.d.ts +57 -1
  122. package/dist/recipes/select.js +51 -1
  123. package/dist/recipes/select.js.map +1 -1
  124. package/dist/recipes/separator.d.ts +13 -2
  125. package/dist/recipes/separator.js +8 -2
  126. package/dist/recipes/separator.js.map +1 -1
  127. package/dist/recipes/sidebar.d.ts +128 -2
  128. package/dist/recipes/sidebar.js +125 -2
  129. package/dist/recipes/sidebar.js.map +1 -1
  130. package/dist/recipes/sky.d.ts +31 -1
  131. package/dist/recipes/sky.js +30 -1
  132. package/dist/recipes/sky.js.map +1 -1
  133. package/dist/recipes/slider.d.ts +15 -1
  134. package/dist/recipes/slider.js +14 -1
  135. package/dist/recipes/slider.js.map +1 -1
  136. package/dist/recipes/stat.d.ts +71 -1
  137. package/dist/recipes/stat.js +73 -3
  138. package/dist/recipes/stat.js.map +1 -1
  139. package/dist/recipes/switch.d.ts +10 -1
  140. package/dist/recipes/switch.js +9 -3
  141. package/dist/recipes/switch.js.map +1 -1
  142. package/dist/recipes/table.d.ts +63 -3
  143. package/dist/recipes/table.js +56 -2
  144. package/dist/recipes/table.js.map +1 -1
  145. package/dist/recipes/tail.d.ts +40 -5
  146. package/dist/recipes/tail.js +37 -5
  147. package/dist/recipes/tail.js.map +1 -1
  148. package/dist/recipes/text.d.ts +16 -3
  149. package/dist/recipes/text.js +8 -3
  150. package/dist/recipes/text.js.map +1 -1
  151. package/dist/recipes/textarea.d.ts +46 -1
  152. package/dist/recipes/textarea.js +41 -1
  153. package/dist/recipes/textarea.js.map +1 -1
  154. package/dist/recipes/tile.d.ts +23 -1
  155. package/dist/recipes/tile.js +19 -1
  156. package/dist/recipes/tile.js.map +1 -1
  157. package/dist/recipes/tooltip.d.ts +8 -1
  158. package/dist/recipes/tooltip.js +7 -1
  159. package/dist/recipes/tooltip.js.map +1 -1
  160. package/dist/recipes/topBar.d.ts +43 -1
  161. package/dist/recipes/topBar.js +44 -1
  162. package/dist/recipes/topBar.js.map +1 -1
  163. package/dist/recipes/trail.d.ts +55 -5
  164. package/dist/recipes/trail.js +47 -5
  165. package/dist/recipes/trail.js.map +1 -1
  166. package/dist/recipes/userMenu.d.ts +23 -1
  167. package/dist/recipes/userMenu.js +24 -1
  168. package/dist/recipes/userMenu.js.map +1 -1
  169. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"feature.js","names":[],"sources":["../../src/recipes/feature.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { tileReached, tileRoused } from '#parts/rouse'\nimport { surfacePanel } from '#parts/surface'\n\nconst featureLevels = ['h2', 'h3', 'h4', 'h5', 'h6'] as const\n\ntype FeatureLevel = (typeof featureLevels)[number]\n\nconst defaultFeatureLevel = 'h3' satisfies FeatureLevel\n\nconst ROUSED_TILE = [tileRoused, tileReached].join(' ')\n\nconst LIFTS = ['motion-safe:hovered:-translate-y-0.5', 'motion-safe:reached:-translate-y-0.5'].join(\n ' ',\n)\n\nconst featureRecipe = cva(\n [\n ...surfacePanel,\n 'flex flex-col gap-5 p-6 font-tf-body text-tf-fg',\n 'tf-fill-scale tf-blend-drift tf-transition motion-reduce:transition-none',\n ],\n {\n defaultVariants: { interactive: false },\n variants: {\n interactive: {\n false: '',\n true: [\n 'hovered:tf-edge-lit hovered:tf-nudged reached:tf-edge-lit reached:tf-nudged',\n ROUSED_TILE,\n LIFTS,\n ].join(' '),\n },\n },\n },\n)\n\nconst featureTileRecipe = cva('self-start')\n\nconst featureTitleRecipe = cva('font-tf-display text-tf-h4 font-bold tracking-tf-tight text-tf-fg')\n\nconst featureLinkRecipe = cva([\n 'outline-hidden',\n \"before:absolute before:inset-0 before:rounded-tf-card before:content-['']\",\n 'focused:before:outline-2 focused:before:outline-solid',\n 'focused:before:outline-offset-2 focused:before:outline-tf-accent-hi',\n])\n\nconst featureBodyRecipe = cva('text-tf-body-sm font-medium text-tf-muted')\n\nconst featureFootRecipe = cva([\n 'relative mt-auto inline-flex items-center gap-1 self-start tf-icons',\n 'text-tf-caption font-medium text-tf-accent-hi',\n '[&_svg]:size-tf-icon-sm [&_svg]:tf-nudge-follow',\n 'pointer-events-none [&_a]:pointer-events-auto [&_button]:pointer-events-auto',\n])\n\nexport {\n type FeatureLevel,\n defaultFeatureLevel,\n featureBodyRecipe,\n featureFootRecipe,\n featureLevels,\n featureLinkRecipe,\n featureRecipe,\n featureTileRecipe,\n featureTitleRecipe,\n}\n"],"mappings":";;;;AAKA,MAAM,gBAAgB;CAAC;CAAM;CAAM;CAAM;CAAM;AAAI;AAInD,MAAM,sBAAsB;AAE5B,MAAM,cAAc,CAAC,YAAY,WAAW,CAAC,CAAC,KAAK,GAAG;AAEtD,MAAM,QAAQ,CAAC,wCAAwC,sCAAsC,CAAC,CAAC,KAC7F,GACF;AAEA,MAAM,gBAAgB,IACpB;CACE,GAAG;CACH;CACA;AACF,GACA;CACE,iBAAiB,EAAE,aAAa,MAAM;CACtC,UAAU,EACR,aAAa;EACX,OAAO;EACP,MAAM;GACJ;GACA;GACA;EACF,CAAC,CAAC,KAAK,GAAG;CACZ,EACF;AACF,CACF;AAEA,MAAM,oBAAoB,IAAI,YAAY;AAE1C,MAAM,qBAAqB,IAAI,mEAAmE;AAElG,MAAM,oBAAoB,IAAI;CAC5B;CACA;CACA;CACA;AACF,CAAC;AAED,MAAM,oBAAoB,IAAI,2CAA2C;AAEzE,MAAM,oBAAoB,IAAI;CAC5B;CACA;CACA;CACA;AACF,CAAC"}
1
+ {"version":3,"file":"feature.js","names":[],"sources":["../../src/recipes/feature.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { anatomy } from '#anatomy'\nimport { tileReached, tileRoused } from '#parts/rouse'\nimport { surfacePanel } from '#parts/surface'\n\nconst featureLevels = ['h2', 'h3', 'h4', 'h5', 'h6'] as const\n\ntype FeatureLevel = (typeof featureLevels)[number]\n\nconst defaultFeatureLevel = 'h3' satisfies FeatureLevel\n\nconst ROUSED_TILE = [tileRoused, tileReached].join(' ')\n\nconst LIFTS = ['motion-safe:hovered:-translate-y-0.5', 'motion-safe:reached:-translate-y-0.5'].join(\n ' ',\n)\n\nconst featureRecipe = cva(\n [\n ...surfacePanel,\n 'flex flex-col gap-5 p-6 font-tf-body text-tf-fg',\n 'tf-fill-scale tf-blend-drift tf-transition motion-reduce:transition-none',\n ],\n {\n defaultVariants: { interactive: false },\n variants: {\n interactive: {\n false: '',\n true: [\n 'hovered:tf-edge-lit hovered:tf-nudged reached:tf-edge-lit reached:tf-nudged',\n ROUSED_TILE,\n LIFTS,\n ].join(' '),\n },\n },\n },\n)\n\nconst featureTileRecipe = cva('self-start')\n\nconst featureTitleRecipe = cva('font-tf-display text-tf-h4 font-bold tracking-tf-tight text-tf-fg')\n\nconst featureLinkRecipe = cva([\n 'outline-hidden',\n \"before:absolute before:inset-0 before:rounded-tf-card before:content-['']\",\n 'focused:before:outline-2 focused:before:outline-solid',\n 'focused:before:outline-offset-2 focused:before:outline-tf-accent-hi',\n])\n\nconst featureBodyRecipe = cva('text-tf-body-sm font-medium text-tf-muted')\n\nconst featureFootRecipe = cva([\n 'relative mt-auto inline-flex items-center gap-1 self-start tf-icons',\n 'text-tf-caption font-medium text-tf-accent-hi',\n '[&_svg]:size-tf-icon-sm [&_svg]:tf-nudge-follow',\n 'pointer-events-none [&_a]:pointer-events-auto [&_button]:pointer-events-auto',\n])\n\nconst featureAnatomy = anatomy({\n action: { part: 'action', recipe: featureFootRecipe, required: false },\n description: { part: 'description', recipe: featureBodyRecipe, required: false },\n link: { part: 'link', recipe: featureLinkRecipe, required: false },\n root: { part: 'feature', recipe: featureRecipe, required: true },\n title: { part: 'title', recipe: featureTitleRecipe, required: true },\n})\n\nexport {\n type FeatureLevel,\n defaultFeatureLevel,\n featureAnatomy,\n featureBodyRecipe,\n featureFootRecipe,\n featureLevels,\n featureLinkRecipe,\n featureRecipe,\n featureTileRecipe,\n featureTitleRecipe,\n}\n"],"mappings":";;;;;AAMA,MAAM,gBAAgB;CAAC;CAAM;CAAM;CAAM;CAAM;AAAI;AAInD,MAAM,sBAAsB;AAE5B,MAAM,cAAc,CAAC,YAAY,WAAW,CAAC,CAAC,KAAK,GAAG;AAEtD,MAAM,QAAQ,CAAC,wCAAwC,sCAAsC,CAAC,CAAC,KAC7F,GACF;AAEA,MAAM,gBAAgB,IACpB;CACE,GAAG;CACH;CACA;AACF,GACA;CACE,iBAAiB,EAAE,aAAa,MAAM;CACtC,UAAU,EACR,aAAa;EACX,OAAO;EACP,MAAM;GACJ;GACA;GACA;EACF,CAAC,CAAC,KAAK,GAAG;CACZ,EACF;AACF,CACF;AAEA,MAAM,oBAAoB,IAAI,YAAY;AAE1C,MAAM,qBAAqB,IAAI,mEAAmE;AAElG,MAAM,oBAAoB,IAAI;CAC5B;CACA;CACA;CACA;AACF,CAAC;AAED,MAAM,oBAAoB,IAAI,2CAA2C;AAEzE,MAAM,oBAAoB,IAAI;CAC5B;CACA;CACA;CACA;AACF,CAAC;AAED,MAAM,iBAAiB,QAAQ;CAC7B,QAAQ;EAAE,MAAM;EAAU,QAAQ;EAAmB,UAAU;CAAM;CACrE,aAAa;EAAE,MAAM;EAAe,QAAQ;EAAmB,UAAU;CAAM;CAC/E,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAmB,UAAU;CAAM;CACjE,MAAM;EAAE,MAAM;EAAW,QAAQ;EAAe,UAAU;CAAK;CAC/D,OAAO;EAAE,MAAM;EAAS,QAAQ;EAAoB,UAAU;CAAK;AACrE,CAAC"}
@@ -1,5 +1,5 @@
1
- import "../control.js";
2
1
  import { controlBase, controlBox, controlInert, controlReach, hitArea } from "../parts/control.js";
2
+ import "../control.js";
3
3
  import { controlFailed, controlHealthy, controlShell } from "../parts/shell.js";
4
4
  import { cva } from "class-variance-authority";
5
5
  //#region src/recipes/field.ts
@@ -6,6 +6,38 @@ declare const findingTextRecipe: (props?: import("class-variance-authority/types
6
6
  declare const findingPathRecipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
7
7
  declare const findingMessageRecipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
8
8
  declare const findingsSummaryRecipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
9
+ declare const findingsAnatomy: {
10
+ readonly item: {
11
+ readonly part: "item";
12
+ readonly recipe: (props?: ({} & import("class-variance-authority/types").ClassProp) | undefined) => string;
13
+ readonly required: true;
14
+ };
15
+ readonly message: {
16
+ readonly part: "message";
17
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
18
+ readonly required: true;
19
+ };
20
+ readonly path: {
21
+ readonly part: "path";
22
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
23
+ readonly required: true;
24
+ };
25
+ readonly root: {
26
+ readonly part: "findings";
27
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
28
+ readonly required: true;
29
+ };
30
+ readonly summary: {
31
+ readonly part: "summary";
32
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
33
+ readonly required: false;
34
+ };
35
+ readonly text: {
36
+ readonly part: "text";
37
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
38
+ readonly required: true;
39
+ };
40
+ };
9
41
  //#endregion
10
- export { findingIconRecipe, findingMessageRecipe, findingPathRecipe, findingRecipe, findingTextRecipe, findingsRecipe, findingsSummaryRecipe };
42
+ export { findingIconRecipe, findingMessageRecipe, findingPathRecipe, findingRecipe, findingTextRecipe, findingsAnatomy, findingsRecipe, findingsSummaryRecipe };
11
43
  //# sourceMappingURL=findings.d.ts.map
@@ -1,3 +1,4 @@
1
+ import { anatomy } from "../anatomy.js";
1
2
  import { cva } from "class-variance-authority";
2
3
  //#region src/recipes/findings.ts
3
4
  const findingsRecipe = cva("flex flex-col gap-1");
@@ -10,7 +11,39 @@ const findingTextRecipe = cva("flex min-w-0 flex-col gap-0");
10
11
  const findingPathRecipe = cva("truncate font-mono text-tf-caption-sm");
11
12
  const findingMessageRecipe = cva("text-tf-body-sm font-medium text-tf-fg");
12
13
  const findingsSummaryRecipe = cva("flex items-center gap-2 px-4 py-3 text-tf-caption-sm text-tf-muted");
14
+ const findingsAnatomy = anatomy({
15
+ item: {
16
+ part: "item",
17
+ recipe: findingRecipe,
18
+ required: true
19
+ },
20
+ message: {
21
+ part: "message",
22
+ recipe: findingMessageRecipe,
23
+ required: true
24
+ },
25
+ path: {
26
+ part: "path",
27
+ recipe: findingPathRecipe,
28
+ required: true
29
+ },
30
+ root: {
31
+ part: "findings",
32
+ recipe: findingsRecipe,
33
+ required: true
34
+ },
35
+ summary: {
36
+ part: "summary",
37
+ recipe: findingsSummaryRecipe,
38
+ required: false
39
+ },
40
+ text: {
41
+ part: "text",
42
+ recipe: findingTextRecipe,
43
+ required: true
44
+ }
45
+ });
13
46
  //#endregion
14
- export { findingIconRecipe, findingMessageRecipe, findingPathRecipe, findingRecipe, findingTextRecipe, findingsRecipe, findingsSummaryRecipe };
47
+ export { findingIconRecipe, findingMessageRecipe, findingPathRecipe, findingRecipe, findingTextRecipe, findingsAnatomy, findingsRecipe, findingsSummaryRecipe };
15
48
 
16
49
  //# sourceMappingURL=findings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"findings.js","names":[],"sources":["../../src/recipes/findings.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nconst findingsRecipe = cva('flex flex-col gap-1')\n\nconst findingRecipe = cva(\n [\n 'flex items-start gap-2 rounded-tf-control tf-tinted px-4 py-3 blend-tf-accent',\n '[&_svg]:size-tf-icon-sm [&_svg]:shrink-0',\n ],\n { defaultVariants: {}, variants: {} },\n)\n\nconst findingIconRecipe = cva('mt-0.5 flex-none')\n\nconst findingTextRecipe = cva('flex min-w-0 flex-col gap-0')\n\nconst findingPathRecipe = cva('truncate font-mono text-tf-caption-sm')\n\nconst findingMessageRecipe = cva('text-tf-body-sm font-medium text-tf-fg')\n\nconst findingsSummaryRecipe = cva(\n 'flex items-center gap-2 px-4 py-3 text-tf-caption-sm text-tf-muted',\n)\n\nexport {\n findingIconRecipe,\n findingMessageRecipe,\n findingPathRecipe,\n findingRecipe,\n findingTextRecipe,\n findingsRecipe,\n findingsSummaryRecipe,\n}\n"],"mappings":";;AAEA,MAAM,iBAAiB,IAAI,qBAAqB;AAEhD,MAAM,gBAAgB,IACpB,CACE,iFACA,0CACF,GACA;CAAE,iBAAiB,CAAC;CAAG,UAAU,CAAC;AAAE,CACtC;AAEA,MAAM,oBAAoB,IAAI,kBAAkB;AAEhD,MAAM,oBAAoB,IAAI,6BAA6B;AAE3D,MAAM,oBAAoB,IAAI,uCAAuC;AAErE,MAAM,uBAAuB,IAAI,wCAAwC;AAEzE,MAAM,wBAAwB,IAC5B,oEACF"}
1
+ {"version":3,"file":"findings.js","names":[],"sources":["../../src/recipes/findings.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { anatomy } from '#anatomy'\n\nconst findingsRecipe = cva('flex flex-col gap-1')\n\nconst findingRecipe = cva(\n [\n 'flex items-start gap-2 rounded-tf-control tf-tinted px-4 py-3 blend-tf-accent',\n '[&_svg]:size-tf-icon-sm [&_svg]:shrink-0',\n ],\n { defaultVariants: {}, variants: {} },\n)\n\nconst findingIconRecipe = cva('mt-0.5 flex-none')\n\nconst findingTextRecipe = cva('flex min-w-0 flex-col gap-0')\n\nconst findingPathRecipe = cva('truncate font-mono text-tf-caption-sm')\n\nconst findingMessageRecipe = cva('text-tf-body-sm font-medium text-tf-fg')\n\nconst findingsSummaryRecipe = cva(\n 'flex items-center gap-2 px-4 py-3 text-tf-caption-sm text-tf-muted',\n)\n\nconst findingsAnatomy = anatomy({\n item: { part: 'item', recipe: findingRecipe, required: true },\n message: { part: 'message', recipe: findingMessageRecipe, required: true },\n path: { part: 'path', recipe: findingPathRecipe, required: true },\n root: { part: 'findings', recipe: findingsRecipe, required: true },\n summary: { part: 'summary', recipe: findingsSummaryRecipe, required: false },\n text: { part: 'text', recipe: findingTextRecipe, required: true },\n})\n\nexport {\n findingIconRecipe,\n findingMessageRecipe,\n findingPathRecipe,\n findingRecipe,\n findingTextRecipe,\n findingsAnatomy,\n findingsRecipe,\n findingsSummaryRecipe,\n}\n"],"mappings":";;;AAIA,MAAM,iBAAiB,IAAI,qBAAqB;AAEhD,MAAM,gBAAgB,IACpB,CACE,iFACA,0CACF,GACA;CAAE,iBAAiB,CAAC;CAAG,UAAU,CAAC;AAAE,CACtC;AAEA,MAAM,oBAAoB,IAAI,kBAAkB;AAEhD,MAAM,oBAAoB,IAAI,6BAA6B;AAE3D,MAAM,oBAAoB,IAAI,uCAAuC;AAErE,MAAM,uBAAuB,IAAI,wCAAwC;AAEzE,MAAM,wBAAwB,IAC5B,oEACF;AAEA,MAAM,kBAAkB,QAAQ;CAC9B,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAe,UAAU;CAAK;CAC5D,SAAS;EAAE,MAAM;EAAW,QAAQ;EAAsB,UAAU;CAAK;CACzE,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAmB,UAAU;CAAK;CAChE,MAAM;EAAE,MAAM;EAAY,QAAQ;EAAgB,UAAU;CAAK;CACjE,SAAS;EAAE,MAAM;EAAW,QAAQ;EAAuB,UAAU;CAAM;CAC3E,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAmB,UAAU;CAAK;AAClE,CAAC"}
@@ -3,7 +3,7 @@ type HeadingLevel = 'numeral' | 'display' | 'h2' | 'h3' | 'h4';
3
3
  declare const defaultHeadingLevel = "h3";
4
4
  declare const headingLevels: readonly ["numeral", "display", "h2", "h3", "h4"];
5
5
  declare const headingRecipe: (props?: ({
6
- level?: "h2" | "h3" | "h4" | "numeral" | "display" | null | undefined;
6
+ level?: "numeral" | "display" | "h2" | "h3" | "h4" | null | undefined;
7
7
  tabular?: boolean | null | undefined;
8
8
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
9
9
  declare const HEADING_DEFAULT_TAG: {
@@ -13,6 +13,16 @@ declare const HEADING_DEFAULT_TAG: {
13
13
  h4: string;
14
14
  numeral: string;
15
15
  };
16
+ declare const headingAnatomy: {
17
+ readonly root: {
18
+ readonly part: "heading";
19
+ readonly recipe: (props?: ({
20
+ level?: "numeral" | "display" | "h2" | "h3" | "h4" | null | undefined;
21
+ tabular?: boolean | null | undefined;
22
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
23
+ readonly required: true;
24
+ };
25
+ };
16
26
  //#endregion
17
- export { HEADING_DEFAULT_TAG, type HeadingLevel, defaultHeadingLevel, headingLevels, headingRecipe };
27
+ export { HEADING_DEFAULT_TAG, type HeadingLevel, defaultHeadingLevel, headingAnatomy, headingLevels, headingRecipe };
18
28
  //# sourceMappingURL=heading.d.ts.map
@@ -1,3 +1,4 @@
1
+ import { anatomy } from "../anatomy.js";
1
2
  import { cva } from "class-variance-authority";
2
3
  //#region src/recipes/heading.ts
3
4
  const defaultHeadingLevel = "h3";
@@ -34,7 +35,12 @@ const HEADING_DEFAULT_TAG = {
34
35
  h4: "h3",
35
36
  numeral: "p"
36
37
  };
38
+ const headingAnatomy = anatomy({ root: {
39
+ part: "heading",
40
+ recipe: headingRecipe,
41
+ required: true
42
+ } });
37
43
  //#endregion
38
- export { HEADING_DEFAULT_TAG, defaultHeadingLevel, headingLevels, headingRecipe };
44
+ export { HEADING_DEFAULT_TAG, defaultHeadingLevel, headingAnatomy, headingLevels, headingRecipe };
39
45
 
40
46
  //# sourceMappingURL=heading.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"heading.js","names":[],"sources":["../../src/recipes/heading.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\ntype HeadingLevel = 'numeral' | 'display' | 'h2' | 'h3' | 'h4'\n\nconst defaultHeadingLevel = 'h3' satisfies HeadingLevel\n\nconst headingLevels = [\n 'numeral',\n 'display',\n 'h2',\n 'h3',\n 'h4',\n] as const satisfies readonly HeadingLevel[]\n\nconst headingRecipe = cva(['font-tf-display font-bold tracking-tf-tight text-tf-fg'], {\n defaultVariants: { level: defaultHeadingLevel, tabular: false },\n variants: {\n level: {\n display: 'text-tf-display',\n h2: 'text-tf-h2',\n h3: 'text-tf-h3',\n h4: 'text-tf-h4',\n numeral: 'text-tf-numeral',\n } satisfies Record<HeadingLevel, string>,\n tabular: { false: '', true: 'tabular-nums' },\n },\n})\n\nconst HEADING_DEFAULT_TAG = {\n display: 'h1',\n h2: 'h2',\n h3: 'h3',\n h4: 'h3',\n numeral: 'p',\n} satisfies Record<HeadingLevel, string>\n\nexport { type HeadingLevel, HEADING_DEFAULT_TAG, defaultHeadingLevel, headingLevels, headingRecipe }\n"],"mappings":";;AAIA,MAAM,sBAAsB;AAE5B,MAAM,gBAAgB;CACpB;CACA;CACA;CACA;CACA;AACF;AAEA,MAAM,gBAAgB,IAAI,CAAC,wDAAwD,GAAG;CACpF,iBAAiB;EAAE,OAAA;EAA4B,SAAS;CAAM;CAC9D,UAAU;EACR,OAAO;GACL,SAAS;GACT,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,SAAS;EACX;EACA,SAAS;GAAE,OAAO;GAAI,MAAM;EAAe;CAC7C;AACF,CAAC;AAED,MAAM,sBAAsB;CAC1B,SAAS;CACT,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,SAAS;AACX"}
1
+ {"version":3,"file":"heading.js","names":[],"sources":["../../src/recipes/heading.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { anatomy } from '#anatomy'\n\ntype HeadingLevel = 'numeral' | 'display' | 'h2' | 'h3' | 'h4'\n\nconst defaultHeadingLevel = 'h3' satisfies HeadingLevel\n\nconst headingLevels = [\n 'numeral',\n 'display',\n 'h2',\n 'h3',\n 'h4',\n] as const satisfies readonly HeadingLevel[]\n\nconst headingRecipe = cva(['font-tf-display font-bold tracking-tf-tight text-tf-fg'], {\n defaultVariants: { level: defaultHeadingLevel, tabular: false },\n variants: {\n level: {\n display: 'text-tf-display',\n h2: 'text-tf-h2',\n h3: 'text-tf-h3',\n h4: 'text-tf-h4',\n numeral: 'text-tf-numeral',\n } satisfies Record<HeadingLevel, string>,\n tabular: { false: '', true: 'tabular-nums' },\n },\n})\n\nconst HEADING_DEFAULT_TAG = {\n display: 'h1',\n h2: 'h2',\n h3: 'h3',\n h4: 'h3',\n numeral: 'p',\n} satisfies Record<HeadingLevel, string>\n\nconst headingAnatomy = anatomy({\n root: { part: 'heading', recipe: headingRecipe, required: true },\n})\n\nexport {\n type HeadingLevel,\n HEADING_DEFAULT_TAG,\n defaultHeadingLevel,\n headingAnatomy,\n headingLevels,\n headingRecipe,\n}\n"],"mappings":";;;AAMA,MAAM,sBAAsB;AAE5B,MAAM,gBAAgB;CACpB;CACA;CACA;CACA;CACA;AACF;AAEA,MAAM,gBAAgB,IAAI,CAAC,wDAAwD,GAAG;CACpF,iBAAiB;EAAE,OAAA;EAA4B,SAAS;CAAM;CAC9D,UAAU;EACR,OAAO;GACL,SAAS;GACT,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,SAAS;EACX;EACA,SAAS;GAAE,OAAO;GAAI,MAAM;EAAe;CAC7C;AACF,CAAC;AAED,MAAM,sBAAsB;CAC1B,SAAS;CACT,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,SAAS;AACX;AAEA,MAAM,iBAAiB,QAAQ,EAC7B,MAAM;CAAE,MAAM;CAAW,QAAQ;CAAe,UAAU;AAAK,EACjE,CAAC"}
@@ -1,7 +1,6 @@
1
1
  //#region src/recipes/heartbeat.d.ts
2
2
  declare const heartbeatStates: readonly ["beating", "late", "silent"];
3
3
  type HeartbeatState = (typeof heartbeatStates)[number];
4
- declare const defaultHeartbeatState = "beating";
5
4
  declare const heartbeatRecipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
6
5
  declare const heartbeatRowRecipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
7
6
  declare const heartbeatMarkRecipe: (props?: ({
@@ -18,6 +17,57 @@ declare const heartbeatBeatsRecipe: (props?: import("class-variance-authority/ty
18
17
  declare const heartbeatBeatRecipe: (props?: ({
19
18
  flagged?: boolean | null | undefined;
20
19
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
20
+ declare const heartbeatAnatomy: {
21
+ readonly beats: {
22
+ readonly part: "beats";
23
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
24
+ readonly required: false;
25
+ };
26
+ readonly dot: {
27
+ readonly part: "dot";
28
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
29
+ readonly required: true;
30
+ };
31
+ readonly hint: {
32
+ readonly part: "hint";
33
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
34
+ readonly required: false;
35
+ };
36
+ readonly label: {
37
+ readonly part: "label";
38
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
39
+ readonly required: true;
40
+ };
41
+ readonly mark: {
42
+ readonly part: "mark";
43
+ readonly recipe: (props?: ({
44
+ state?: "beating" | "late" | "silent" | null | undefined;
45
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
46
+ readonly required: true;
47
+ };
48
+ readonly ring: {
49
+ readonly part: "ring";
50
+ readonly recipe: (props?: ({
51
+ state?: "beating" | "late" | "silent" | null | undefined;
52
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
53
+ readonly required: true;
54
+ };
55
+ readonly root: {
56
+ readonly part: "heartbeat";
57
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
58
+ readonly required: true;
59
+ };
60
+ readonly row: {
61
+ readonly part: "row";
62
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
63
+ readonly required: true;
64
+ };
65
+ readonly text: {
66
+ readonly part: "text";
67
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
68
+ readonly required: true;
69
+ };
70
+ };
21
71
  //#endregion
22
- export { type HeartbeatState, defaultHeartbeatState, heartbeatBeatRecipe, heartbeatBeatsRecipe, heartbeatDotRecipe, heartbeatHintRecipe, heartbeatLabelRecipe, heartbeatMarkRecipe, heartbeatRecipe, heartbeatRingRecipe, heartbeatRowRecipe, heartbeatStates, heartbeatTextRecipe };
72
+ export { type HeartbeatState, heartbeatAnatomy, heartbeatBeatRecipe, heartbeatBeatsRecipe, heartbeatDotRecipe, heartbeatHintRecipe, heartbeatLabelRecipe, heartbeatMarkRecipe, heartbeatRecipe, heartbeatRingRecipe, heartbeatRowRecipe, heartbeatStates, heartbeatTextRecipe };
23
73
  //# sourceMappingURL=heartbeat.d.ts.map
@@ -1,3 +1,4 @@
1
+ import { anatomy } from "../anatomy.js";
1
2
  import { toneBlend } from "../tone.js";
2
3
  import { cva } from "class-variance-authority";
3
4
  //#region src/recipes/heartbeat.ts
@@ -6,11 +7,10 @@ const heartbeatStates = [
6
7
  "late",
7
8
  "silent"
8
9
  ];
9
- const defaultHeartbeatState = "beating";
10
10
  const heartbeatRecipe = cva(["flex flex-col gap-4 rounded-tf-block bg-tf-sunken p-6", "font-tf-body text-tf-fg"]);
11
11
  const heartbeatRowRecipe = cva("flex items-center gap-3");
12
12
  const heartbeatMarkRecipe = cva("relative flex size-tf-mark-dot flex-none", {
13
- defaultVariants: { state: defaultHeartbeatState },
13
+ defaultVariants: { state: "beating" },
14
14
  variants: { state: {
15
15
  beating: toneBlend.success,
16
16
  late: toneBlend.warning,
@@ -18,7 +18,7 @@ const heartbeatMarkRecipe = cva("relative flex size-tf-mark-dot flex-none", {
18
18
  } }
19
19
  });
20
20
  const heartbeatRingRecipe = cva(["absolute inset-0 rounded-tf-pill bg-tf-blend"], {
21
- defaultVariants: { state: defaultHeartbeatState },
21
+ defaultVariants: { state: "beating" },
22
22
  variants: { state: {
23
23
  beating: "tf-pinging",
24
24
  late: "tf-pinging",
@@ -37,7 +37,54 @@ const heartbeatBeatRecipe = cva("flex-1 rounded-tf-inline", {
37
37
  true: "bg-tf-warning-hi"
38
38
  } }
39
39
  });
40
+ const heartbeatAnatomy = anatomy({
41
+ beats: {
42
+ part: "beats",
43
+ recipe: heartbeatBeatsRecipe,
44
+ required: false
45
+ },
46
+ dot: {
47
+ part: "dot",
48
+ recipe: heartbeatDotRecipe,
49
+ required: true
50
+ },
51
+ hint: {
52
+ part: "hint",
53
+ recipe: heartbeatHintRecipe,
54
+ required: false
55
+ },
56
+ label: {
57
+ part: "label",
58
+ recipe: heartbeatLabelRecipe,
59
+ required: true
60
+ },
61
+ mark: {
62
+ part: "mark",
63
+ recipe: heartbeatMarkRecipe,
64
+ required: true
65
+ },
66
+ ring: {
67
+ part: "ring",
68
+ recipe: heartbeatRingRecipe,
69
+ required: true
70
+ },
71
+ root: {
72
+ part: "heartbeat",
73
+ recipe: heartbeatRecipe,
74
+ required: true
75
+ },
76
+ row: {
77
+ part: "row",
78
+ recipe: heartbeatRowRecipe,
79
+ required: true
80
+ },
81
+ text: {
82
+ part: "text",
83
+ recipe: heartbeatTextRecipe,
84
+ required: true
85
+ }
86
+ });
40
87
  //#endregion
41
- export { defaultHeartbeatState, heartbeatBeatRecipe, heartbeatBeatsRecipe, heartbeatDotRecipe, heartbeatHintRecipe, heartbeatLabelRecipe, heartbeatMarkRecipe, heartbeatRecipe, heartbeatRingRecipe, heartbeatRowRecipe, heartbeatStates, heartbeatTextRecipe };
88
+ export { heartbeatAnatomy, heartbeatBeatRecipe, heartbeatBeatsRecipe, heartbeatDotRecipe, heartbeatHintRecipe, heartbeatLabelRecipe, heartbeatMarkRecipe, heartbeatRecipe, heartbeatRingRecipe, heartbeatRowRecipe, heartbeatStates, heartbeatTextRecipe };
42
89
 
43
90
  //# sourceMappingURL=heartbeat.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"heartbeat.js","names":[],"sources":["../../src/recipes/heartbeat.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { toneBlend } from '#tone'\n\nconst heartbeatStates = ['beating', 'late', 'silent'] as const\n\ntype HeartbeatState = (typeof heartbeatStates)[number]\n\nconst defaultHeartbeatState = 'beating' satisfies HeartbeatState\n\nconst heartbeatRecipe = cva([\n 'flex flex-col gap-4 rounded-tf-block bg-tf-sunken p-6',\n 'font-tf-body text-tf-fg',\n])\n\nconst heartbeatRowRecipe = cva('flex items-center gap-3')\n\nconst heartbeatMarkRecipe = cva('relative flex size-tf-mark-dot flex-none', {\n defaultVariants: { state: defaultHeartbeatState },\n variants: {\n state: {\n beating: toneBlend.success,\n late: toneBlend.warning,\n silent: toneBlend.danger,\n },\n },\n})\n\nconst heartbeatRingRecipe = cva(['absolute inset-0 rounded-tf-pill bg-tf-blend'], {\n defaultVariants: { state: defaultHeartbeatState },\n variants: {\n state: {\n beating: 'tf-pinging',\n late: 'tf-pinging',\n silent: '',\n } satisfies Record<HeartbeatState, string>,\n },\n})\n\nconst heartbeatDotRecipe = cva(['relative size-tf-mark-dot rounded-tf-pill bg-tf-blend'])\n\nconst heartbeatTextRecipe = cva('flex min-w-0 flex-1 flex-col gap-0')\n\nconst heartbeatLabelRecipe = cva('text-tf-body-sm font-medium text-tf-fg')\n\nconst heartbeatHintRecipe = cva('text-tf-caption-sm text-tf-muted')\n\nconst heartbeatBeatsRecipe = cva('flex h-9 items-end gap-0.5')\n\nconst heartbeatBeatRecipe = cva('flex-1 rounded-tf-inline', {\n defaultVariants: { flagged: false },\n variants: {\n flagged: {\n false: 'bg-tf-accent-surface',\n true: 'bg-tf-warning-hi',\n },\n },\n})\n\nexport {\n type HeartbeatState,\n defaultHeartbeatState,\n heartbeatBeatRecipe,\n heartbeatBeatsRecipe,\n heartbeatDotRecipe,\n heartbeatHintRecipe,\n heartbeatLabelRecipe,\n heartbeatMarkRecipe,\n heartbeatRecipe,\n heartbeatRingRecipe,\n heartbeatRowRecipe,\n heartbeatStates,\n heartbeatTextRecipe,\n}\n"],"mappings":";;;AAIA,MAAM,kBAAkB;CAAC;CAAW;CAAQ;AAAQ;AAIpD,MAAM,wBAAwB;AAE9B,MAAM,kBAAkB,IAAI,CAC1B,yDACA,yBACF,CAAC;AAED,MAAM,qBAAqB,IAAI,yBAAyB;AAExD,MAAM,sBAAsB,IAAI,4CAA4C;CAC1E,iBAAiB,EAAE,OAAO,sBAAsB;CAChD,UAAU,EACR,OAAO;EACL,SAAS,UAAU;EACnB,MAAM,UAAU;EAChB,QAAQ,UAAU;CACpB,EACF;AACF,CAAC;AAED,MAAM,sBAAsB,IAAI,CAAC,8CAA8C,GAAG;CAChF,iBAAiB,EAAE,OAAO,sBAAsB;CAChD,UAAU,EACR,OAAO;EACL,SAAS;EACT,MAAM;EACN,QAAQ;CACV,EACF;AACF,CAAC;AAED,MAAM,qBAAqB,IAAI,CAAC,uDAAuD,CAAC;AAExF,MAAM,sBAAsB,IAAI,oCAAoC;AAEpE,MAAM,uBAAuB,IAAI,wCAAwC;AAEzE,MAAM,sBAAsB,IAAI,kCAAkC;AAElE,MAAM,uBAAuB,IAAI,4BAA4B;AAE7D,MAAM,sBAAsB,IAAI,4BAA4B;CAC1D,iBAAiB,EAAE,SAAS,MAAM;CAClC,UAAU,EACR,SAAS;EACP,OAAO;EACP,MAAM;CACR,EACF;AACF,CAAC"}
1
+ {"version":3,"file":"heartbeat.js","names":[],"sources":["../../src/recipes/heartbeat.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { anatomy } from '#anatomy'\nimport { toneBlend } from '#tone'\n\nconst heartbeatStates = ['beating', 'late', 'silent'] as const\n\ntype HeartbeatState = (typeof heartbeatStates)[number]\n\nconst heartbeatRecipe = cva([\n 'flex flex-col gap-4 rounded-tf-block bg-tf-sunken p-6',\n 'font-tf-body text-tf-fg',\n])\n\nconst heartbeatRowRecipe = cva('flex items-center gap-3')\n\nconst heartbeatMarkRecipe = cva('relative flex size-tf-mark-dot flex-none', {\n defaultVariants: { state: 'beating' },\n variants: {\n state: {\n beating: toneBlend.success,\n late: toneBlend.warning,\n silent: toneBlend.danger,\n },\n },\n})\n\nconst heartbeatRingRecipe = cva(['absolute inset-0 rounded-tf-pill bg-tf-blend'], {\n defaultVariants: { state: 'beating' },\n variants: {\n state: {\n beating: 'tf-pinging',\n late: 'tf-pinging',\n silent: '',\n } satisfies Record<HeartbeatState, string>,\n },\n})\n\nconst heartbeatDotRecipe = cva(['relative size-tf-mark-dot rounded-tf-pill bg-tf-blend'])\n\nconst heartbeatTextRecipe = cva('flex min-w-0 flex-1 flex-col gap-0')\n\nconst heartbeatLabelRecipe = cva('text-tf-body-sm font-medium text-tf-fg')\n\nconst heartbeatHintRecipe = cva('text-tf-caption-sm text-tf-muted')\n\nconst heartbeatBeatsRecipe = cva('flex h-9 items-end gap-0.5')\n\nconst heartbeatBeatRecipe = cva('flex-1 rounded-tf-inline', {\n defaultVariants: { flagged: false },\n variants: {\n flagged: {\n false: 'bg-tf-accent-surface',\n true: 'bg-tf-warning-hi',\n },\n },\n})\n\nconst heartbeatAnatomy = anatomy({\n beats: { part: 'beats', recipe: heartbeatBeatsRecipe, required: false },\n dot: { part: 'dot', recipe: heartbeatDotRecipe, required: true },\n hint: { part: 'hint', recipe: heartbeatHintRecipe, required: false },\n label: { part: 'label', recipe: heartbeatLabelRecipe, required: true },\n mark: { part: 'mark', recipe: heartbeatMarkRecipe, required: true },\n ring: { part: 'ring', recipe: heartbeatRingRecipe, required: true },\n root: { part: 'heartbeat', recipe: heartbeatRecipe, required: true },\n row: { part: 'row', recipe: heartbeatRowRecipe, required: true },\n text: { part: 'text', recipe: heartbeatTextRecipe, required: true },\n})\n\nexport {\n type HeartbeatState,\n heartbeatAnatomy,\n heartbeatBeatRecipe,\n heartbeatBeatsRecipe,\n heartbeatDotRecipe,\n heartbeatHintRecipe,\n heartbeatLabelRecipe,\n heartbeatMarkRecipe,\n heartbeatRecipe,\n heartbeatRingRecipe,\n heartbeatRowRecipe,\n heartbeatStates,\n heartbeatTextRecipe,\n}\n"],"mappings":";;;;AAKA,MAAM,kBAAkB;CAAC;CAAW;CAAQ;AAAQ;AAIpD,MAAM,kBAAkB,IAAI,CAC1B,yDACA,yBACF,CAAC;AAED,MAAM,qBAAqB,IAAI,yBAAyB;AAExD,MAAM,sBAAsB,IAAI,4CAA4C;CAC1E,iBAAiB,EAAE,OAAO,UAAU;CACpC,UAAU,EACR,OAAO;EACL,SAAS,UAAU;EACnB,MAAM,UAAU;EAChB,QAAQ,UAAU;CACpB,EACF;AACF,CAAC;AAED,MAAM,sBAAsB,IAAI,CAAC,8CAA8C,GAAG;CAChF,iBAAiB,EAAE,OAAO,UAAU;CACpC,UAAU,EACR,OAAO;EACL,SAAS;EACT,MAAM;EACN,QAAQ;CACV,EACF;AACF,CAAC;AAED,MAAM,qBAAqB,IAAI,CAAC,uDAAuD,CAAC;AAExF,MAAM,sBAAsB,IAAI,oCAAoC;AAEpE,MAAM,uBAAuB,IAAI,wCAAwC;AAEzE,MAAM,sBAAsB,IAAI,kCAAkC;AAElE,MAAM,uBAAuB,IAAI,4BAA4B;AAE7D,MAAM,sBAAsB,IAAI,4BAA4B;CAC1D,iBAAiB,EAAE,SAAS,MAAM;CAClC,UAAU,EACR,SAAS;EACP,OAAO;EACP,MAAM;CACR,EACF;AACF,CAAC;AAED,MAAM,mBAAmB,QAAQ;CAC/B,OAAO;EAAE,MAAM;EAAS,QAAQ;EAAsB,UAAU;CAAM;CACtE,KAAK;EAAE,MAAM;EAAO,QAAQ;EAAoB,UAAU;CAAK;CAC/D,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAqB,UAAU;CAAM;CACnE,OAAO;EAAE,MAAM;EAAS,QAAQ;EAAsB,UAAU;CAAK;CACrE,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAqB,UAAU;CAAK;CAClE,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAqB,UAAU;CAAK;CAClE,MAAM;EAAE,MAAM;EAAa,QAAQ;EAAiB,UAAU;CAAK;CACnE,KAAK;EAAE,MAAM;EAAO,QAAQ;EAAoB,UAAU;CAAK;CAC/D,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAqB,UAAU;CAAK;AACpE,CAAC"}
@@ -0,0 +1,11 @@
1
+ //#region src/recipes/ink.d.ts
2
+ declare const inkAnatomy: {
3
+ readonly root: {
4
+ readonly part: "ink";
5
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
6
+ readonly required: true;
7
+ };
8
+ };
9
+ //#endregion
10
+ export { inkAnatomy };
11
+ //# sourceMappingURL=ink.d.ts.map
@@ -0,0 +1,13 @@
1
+ import { anatomy } from "../anatomy.js";
2
+ import { cva } from "class-variance-authority";
3
+ //#region src/recipes/ink.ts
4
+ const inkRecipe = cva("tf-ink-well");
5
+ const inkAnatomy = anatomy({ root: {
6
+ part: "ink",
7
+ recipe: inkRecipe,
8
+ required: true
9
+ } });
10
+ //#endregion
11
+ export { inkAnatomy };
12
+
13
+ //# sourceMappingURL=ink.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ink.js","names":[],"sources":["../../src/recipes/ink.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { anatomy } from '#anatomy'\n\nconst inkRecipe = cva('tf-ink-well')\n\nconst inkAnatomy = anatomy({\n root: { part: 'ink', recipe: inkRecipe, required: true },\n})\n\nexport { inkAnatomy }\n"],"mappings":";;;AAIA,MAAM,YAAY,IAAI,aAAa;AAEnC,MAAM,aAAa,QAAQ,EACzB,MAAM;CAAE,MAAM;CAAO,QAAQ;CAAW,UAAU;AAAK,EACzD,CAAC"}
@@ -12,6 +12,60 @@ declare const inputRecipe: (props?: ({
12
12
  size?: "md" | "lg" | null | undefined;
13
13
  trailing?: boolean | null | undefined;
14
14
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
15
+ declare const inputAnatomy: {
16
+ readonly cloud: {
17
+ readonly part: "cloud";
18
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
19
+ readonly required: true;
20
+ };
21
+ readonly foot: {
22
+ readonly part: "foot";
23
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
24
+ readonly required: true;
25
+ };
26
+ readonly leading: {
27
+ readonly part: "leading";
28
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
29
+ readonly required: false;
30
+ };
31
+ readonly nebula: {
32
+ readonly part: "nebula";
33
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
34
+ readonly required: true;
35
+ };
36
+ readonly root: {
37
+ readonly part: "input";
38
+ readonly recipe: (props?: ({
39
+ fullWidth?: boolean | null | undefined;
40
+ message?: boolean | null | undefined;
41
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
42
+ readonly required: true;
43
+ };
44
+ readonly row: {
45
+ readonly part: "row";
46
+ readonly recipe: (props?: ({
47
+ invalid?: boolean | null | undefined;
48
+ loading?: boolean | null | undefined;
49
+ size?: "md" | "lg" | null | undefined;
50
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
51
+ readonly required: true;
52
+ };
53
+ readonly spinner: {
54
+ readonly part: "spinner";
55
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
56
+ readonly required: false;
57
+ };
58
+ readonly trailing: {
59
+ readonly part: "trailing";
60
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
61
+ readonly required: false;
62
+ };
63
+ readonly unit: {
64
+ readonly part: "unit";
65
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
66
+ readonly required: false;
67
+ };
68
+ };
15
69
  //#endregion
16
- export { type InputType, TRAILING_INSET, inputRecipe, inputTypes, labelRoom };
70
+ export { type InputType, TRAILING_INSET, inputAnatomy, inputRecipe, inputTypes, labelRoom };
17
71
  //# sourceMappingURL=input.d.ts.map
@@ -1,5 +1,8 @@
1
- import "../control.js";
1
+ import { anatomy } from "../anatomy.js";
2
2
  import { controlFocus, controlInert } from "../parts/control.js";
3
+ import { nebulaCloudLowRecipe, nebulaVeilRecipe } from "./nebula.js";
4
+ import "../control.js";
5
+ import { fieldFootRecipe, fieldRecipe, fieldRowRecipe, fieldUnitRecipe, leadingRecipe, trailingRecipe } from "./field.js";
3
6
  import { cva } from "class-variance-authority";
4
7
  //#region src/recipes/input.ts
5
8
  const inputTypes = [
@@ -84,7 +87,54 @@ const inputRecipe = cva([
84
87
  }
85
88
  }
86
89
  });
90
+ const inputAnatomy = anatomy({
91
+ cloud: {
92
+ part: "cloud",
93
+ recipe: nebulaCloudLowRecipe,
94
+ required: true
95
+ },
96
+ foot: {
97
+ part: "foot",
98
+ recipe: fieldFootRecipe,
99
+ required: true
100
+ },
101
+ leading: {
102
+ part: "leading",
103
+ recipe: leadingRecipe,
104
+ required: false
105
+ },
106
+ nebula: {
107
+ part: "nebula",
108
+ recipe: nebulaVeilRecipe,
109
+ required: true
110
+ },
111
+ root: {
112
+ part: "input",
113
+ recipe: fieldRecipe,
114
+ required: true
115
+ },
116
+ row: {
117
+ part: "row",
118
+ recipe: fieldRowRecipe,
119
+ required: true
120
+ },
121
+ spinner: {
122
+ part: "spinner",
123
+ recipe: trailingRecipe,
124
+ required: false
125
+ },
126
+ trailing: {
127
+ part: "trailing",
128
+ recipe: trailingRecipe,
129
+ required: false
130
+ },
131
+ unit: {
132
+ part: "unit",
133
+ recipe: fieldUnitRecipe,
134
+ required: false
135
+ }
136
+ });
87
137
  //#endregion
88
- export { TRAILING_INSET, inputRecipe, inputTypes, labelRoom };
138
+ export { TRAILING_INSET, inputAnatomy, inputRecipe, inputTypes, labelRoom };
89
139
 
90
140
  //# sourceMappingURL=input.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"input.js","names":[],"sources":["../../src/recipes/input.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport type { FieldSize } from '#control'\nimport { defaultFieldSize } from '#control'\nimport { controlFocus, controlInert } from '#parts/control'\n\nconst inputTypes = ['text', 'email', 'tel', 'url', 'search', 'password'] as const\n\ntype InputType = (typeof inputTypes)[number]\n\nconst INPUT_INSET = 'px-4'\nconst LEADING_INSET = 'pl-13'\nconst TRAILING_INSET = 'pr-13'\n\nconst labelRoom = {\n lg: 'pt-6 pb-2',\n md: 'pt-5 pb-1',\n} satisfies Record<FieldSize, string>\n\nconst inputSurface = [\n 'size-full bg-transparent text-tf-fg tf-writes',\n 'placeholder:text-tf-muted placeholder:opacity-0',\n 'data-readonly:text-tf-muted',\n 'disabled:cursor-not-allowed',\n]\n\nconst inputRecipe = cva([...inputSurface, ...controlFocus, ...controlInert], {\n compoundVariants: [\n { class: labelRoom.lg, labelled: true, size: 'lg' },\n { class: labelRoom.md, labelled: true, size: 'md' },\n { class: INPUT_INSET, leading: false, trailing: false },\n { class: `${LEADING_INSET} pr-3`, leading: true, trailing: false },\n { class: `${TRAILING_INSET} pl-4`, leading: false, trailing: true },\n { class: `${LEADING_INSET} ${TRAILING_INSET}`, leading: true, trailing: true },\n ],\n defaultVariants: {\n labelled: true,\n leading: false,\n size: defaultFieldSize,\n trailing: false,\n },\n variants: {\n labelled: { false: 'placeholder:opacity-100', true: '' },\n leading: { false: '', true: '' },\n size: { lg: '', md: '' } satisfies Record<FieldSize, string>,\n trailing: { false: '', true: '' },\n },\n})\n\nexport { type InputType, inputRecipe, inputTypes, labelRoom, TRAILING_INSET }\n"],"mappings":";;;;AAMA,MAAM,aAAa;CAAC;CAAQ;CAAS;CAAO;CAAO;CAAU;AAAU;AAIvE,MAAM,cAAc;AACpB,MAAM,gBAAgB;AACtB,MAAM,iBAAiB;AAEvB,MAAM,YAAY;CAChB,IAAI;CACJ,IAAI;AACN;AASA,MAAM,cAAc,IAAI;CAAC,GAAG;EAN1B;EACA;EACA;EACA;CAGqC;CAAG,GAAG;CAAc,GAAG;AAAY,GAAG;CAC3E,kBAAkB;EAChB;GAAE,OAAO,UAAU;GAAI,UAAU;GAAM,MAAM;EAAK;EAClD;GAAE,OAAO,UAAU;GAAI,UAAU;GAAM,MAAM;EAAK;EAClD;GAAE,OAAO;GAAa,SAAS;GAAO,UAAU;EAAM;EACtD;GAAE,OAAO,GAAG,cAAc;GAAQ,SAAS;GAAM,UAAU;EAAM;EACjE;GAAE,OAAO,GAAG,eAAe;GAAQ,SAAS;GAAO,UAAU;EAAK;EAClE;GAAE,OAAO,GAAG,cAAc,GAAG;GAAkB,SAAS;GAAM,UAAU;EAAK;CAC/E;CACA,iBAAiB;EACf,UAAU;EACV,SAAS;EACT,MAAA;EACA,UAAU;CACZ;CACA,UAAU;EACR,UAAU;GAAE,OAAO;GAA2B,MAAM;EAAG;EACvD,SAAS;GAAE,OAAO;GAAI,MAAM;EAAG;EAC/B,MAAM;GAAE,IAAI;GAAI,IAAI;EAAG;EACvB,UAAU;GAAE,OAAO;GAAI,MAAM;EAAG;CAClC;AACF,CAAC"}
1
+ {"version":3,"file":"input.js","names":[],"sources":["../../src/recipes/input.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { anatomy } from '#anatomy'\nimport type { FieldSize } from '#control'\nimport { defaultFieldSize } from '#control'\nimport { controlFocus, controlInert } from '#parts/control'\n\nimport {\n fieldFootRecipe,\n fieldRecipe,\n fieldRowRecipe,\n fieldUnitRecipe,\n leadingRecipe,\n trailingRecipe,\n} from './field'\nimport { nebulaCloudLowRecipe, nebulaVeilRecipe } from './nebula'\n\nconst inputTypes = ['text', 'email', 'tel', 'url', 'search', 'password'] as const\n\ntype InputType = (typeof inputTypes)[number]\n\nconst INPUT_INSET = 'px-4'\nconst LEADING_INSET = 'pl-13'\nconst TRAILING_INSET = 'pr-13'\n\nconst labelRoom = {\n lg: 'pt-6 pb-2',\n md: 'pt-5 pb-1',\n} satisfies Record<FieldSize, string>\n\nconst inputSurface = [\n 'size-full bg-transparent text-tf-fg tf-writes',\n 'placeholder:text-tf-muted placeholder:opacity-0',\n 'data-readonly:text-tf-muted',\n 'disabled:cursor-not-allowed',\n]\n\nconst inputRecipe = cva([...inputSurface, ...controlFocus, ...controlInert], {\n compoundVariants: [\n { class: labelRoom.lg, labelled: true, size: 'lg' },\n { class: labelRoom.md, labelled: true, size: 'md' },\n { class: INPUT_INSET, leading: false, trailing: false },\n { class: `${LEADING_INSET} pr-3`, leading: true, trailing: false },\n { class: `${TRAILING_INSET} pl-4`, leading: false, trailing: true },\n { class: `${LEADING_INSET} ${TRAILING_INSET}`, leading: true, trailing: true },\n ],\n defaultVariants: {\n labelled: true,\n leading: false,\n size: defaultFieldSize,\n trailing: false,\n },\n variants: {\n labelled: { false: 'placeholder:opacity-100', true: '' },\n leading: { false: '', true: '' },\n size: { lg: '', md: '' } satisfies Record<FieldSize, string>,\n trailing: { false: '', true: '' },\n },\n})\n\nconst inputAnatomy = anatomy({\n cloud: { part: 'cloud', recipe: nebulaCloudLowRecipe, required: true },\n foot: { part: 'foot', recipe: fieldFootRecipe, required: true },\n leading: { part: 'leading', recipe: leadingRecipe, required: false },\n nebula: { part: 'nebula', recipe: nebulaVeilRecipe, required: true },\n root: { part: 'input', recipe: fieldRecipe, required: true },\n row: { part: 'row', recipe: fieldRowRecipe, required: true },\n spinner: { part: 'spinner', recipe: trailingRecipe, required: false },\n trailing: { part: 'trailing', recipe: trailingRecipe, required: false },\n unit: { part: 'unit', recipe: fieldUnitRecipe, required: false },\n})\n\nexport { type InputType, inputAnatomy, inputRecipe, inputTypes, labelRoom, TRAILING_INSET }\n"],"mappings":";;;;;;;AAiBA,MAAM,aAAa;CAAC;CAAQ;CAAS;CAAO;CAAO;CAAU;AAAU;AAIvE,MAAM,cAAc;AACpB,MAAM,gBAAgB;AACtB,MAAM,iBAAiB;AAEvB,MAAM,YAAY;CAChB,IAAI;CACJ,IAAI;AACN;AASA,MAAM,cAAc,IAAI;CAAC,GAAG;EAN1B;EACA;EACA;EACA;CAGqC;CAAG,GAAG;CAAc,GAAG;AAAY,GAAG;CAC3E,kBAAkB;EAChB;GAAE,OAAO,UAAU;GAAI,UAAU;GAAM,MAAM;EAAK;EAClD;GAAE,OAAO,UAAU;GAAI,UAAU;GAAM,MAAM;EAAK;EAClD;GAAE,OAAO;GAAa,SAAS;GAAO,UAAU;EAAM;EACtD;GAAE,OAAO,GAAG,cAAc;GAAQ,SAAS;GAAM,UAAU;EAAM;EACjE;GAAE,OAAO,GAAG,eAAe;GAAQ,SAAS;GAAO,UAAU;EAAK;EAClE;GAAE,OAAO,GAAG,cAAc,GAAG;GAAkB,SAAS;GAAM,UAAU;EAAK;CAC/E;CACA,iBAAiB;EACf,UAAU;EACV,SAAS;EACT,MAAA;EACA,UAAU;CACZ;CACA,UAAU;EACR,UAAU;GAAE,OAAO;GAA2B,MAAM;EAAG;EACvD,SAAS;GAAE,OAAO;GAAI,MAAM;EAAG;EAC/B,MAAM;GAAE,IAAI;GAAI,IAAI;EAAG;EACvB,UAAU;GAAE,OAAO;GAAI,MAAM;EAAG;CAClC;AACF,CAAC;AAED,MAAM,eAAe,QAAQ;CAC3B,OAAO;EAAE,MAAM;EAAS,QAAQ;EAAsB,UAAU;CAAK;CACrE,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAiB,UAAU;CAAK;CAC9D,SAAS;EAAE,MAAM;EAAW,QAAQ;EAAe,UAAU;CAAM;CACnE,QAAQ;EAAE,MAAM;EAAU,QAAQ;EAAkB,UAAU;CAAK;CACnE,MAAM;EAAE,MAAM;EAAS,QAAQ;EAAa,UAAU;CAAK;CAC3D,KAAK;EAAE,MAAM;EAAO,QAAQ;EAAgB,UAAU;CAAK;CAC3D,SAAS;EAAE,MAAM;EAAW,QAAQ;EAAgB,UAAU;CAAM;CACpE,UAAU;EAAE,MAAM;EAAY,QAAQ;EAAgB,UAAU;CAAM;CACtE,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAiB,UAAU;CAAM;AACjE,CAAC"}
@@ -1,6 +1,23 @@
1
1
  //#region src/recipes/listItem.d.ts
2
2
  declare const listItemRecipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
3
3
  declare const listItemStackRecipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
4
+ declare const listItemAnatomy: {
5
+ readonly root: {
6
+ readonly part: "list-item";
7
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
8
+ readonly required: true;
9
+ };
10
+ readonly stack: {
11
+ readonly part: "stack";
12
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
13
+ readonly required: true;
14
+ };
15
+ readonly trailing: {
16
+ readonly part: "trailing";
17
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
18
+ readonly required: false;
19
+ };
20
+ };
4
21
  //#endregion
5
- export { listItemRecipe, listItemStackRecipe };
22
+ export { listItemAnatomy, listItemRecipe, listItemStackRecipe };
6
23
  //# sourceMappingURL=listItem.d.ts.map
@@ -1,8 +1,27 @@
1
+ import { anatomy } from "../anatomy.js";
1
2
  import { cva } from "class-variance-authority";
2
3
  //#region src/recipes/listItem.ts
3
4
  const listItemRecipe = cva("flex min-w-0 items-center gap-4");
4
5
  const listItemStackRecipe = cva("flex min-w-0 flex-1 flex-col gap-0");
6
+ const listItemTrailingRecipe = cva("flex-none");
7
+ const listItemAnatomy = anatomy({
8
+ root: {
9
+ part: "list-item",
10
+ recipe: listItemRecipe,
11
+ required: true
12
+ },
13
+ stack: {
14
+ part: "stack",
15
+ recipe: listItemStackRecipe,
16
+ required: true
17
+ },
18
+ trailing: {
19
+ part: "trailing",
20
+ recipe: listItemTrailingRecipe,
21
+ required: false
22
+ }
23
+ });
5
24
  //#endregion
6
- export { listItemRecipe, listItemStackRecipe };
25
+ export { listItemAnatomy, listItemRecipe, listItemStackRecipe };
7
26
 
8
27
  //# sourceMappingURL=listItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"listItem.js","names":[],"sources":["../../src/recipes/listItem.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nconst listItemRecipe = cva('flex min-w-0 items-center gap-4')\n\nconst listItemStackRecipe = cva('flex min-w-0 flex-1 flex-col gap-0')\n\nexport { listItemRecipe, listItemStackRecipe }\n"],"mappings":";;AAEA,MAAM,iBAAiB,IAAI,iCAAiC;AAE5D,MAAM,sBAAsB,IAAI,oCAAoC"}
1
+ {"version":3,"file":"listItem.js","names":[],"sources":["../../src/recipes/listItem.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { anatomy } from '#anatomy'\n\nconst listItemRecipe = cva('flex min-w-0 items-center gap-4')\n\nconst listItemStackRecipe = cva('flex min-w-0 flex-1 flex-col gap-0')\n\nconst listItemTrailingRecipe = cva('flex-none')\n\nconst listItemAnatomy = anatomy({\n root: { part: 'list-item', recipe: listItemRecipe, required: true },\n stack: { part: 'stack', recipe: listItemStackRecipe, required: true },\n trailing: { part: 'trailing', recipe: listItemTrailingRecipe, required: false },\n})\n\nexport { listItemAnatomy, listItemRecipe, listItemStackRecipe }\n"],"mappings":";;;AAIA,MAAM,iBAAiB,IAAI,iCAAiC;AAE5D,MAAM,sBAAsB,IAAI,oCAAoC;AAEpE,MAAM,yBAAyB,IAAI,WAAW;AAE9C,MAAM,kBAAkB,QAAQ;CAC9B,MAAM;EAAE,MAAM;EAAa,QAAQ;EAAgB,UAAU;CAAK;CAClE,OAAO;EAAE,MAAM;EAAS,QAAQ;EAAqB,UAAU;CAAK;CACpE,UAAU;EAAE,MAAM;EAAY,QAAQ;EAAwB,UAAU;CAAM;AAChF,CAAC"}
@@ -1,5 +1,4 @@
1
1
  //#region src/recipes/listbox.d.ts
2
- type ListboxMark = 'lit' | 'chosen';
3
2
  declare const listboxRecipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
4
3
  declare const listboxLabelRecipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
5
4
  declare const listboxItemRecipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
@@ -7,6 +6,27 @@ declare const listboxMarkRecipe: (props?: ({
7
6
  mark?: "lit" | "chosen" | null | undefined;
8
7
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
9
8
  declare const listboxEmptyRecipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
9
+ declare const listboxAnatomy: {
10
+ readonly held: {
11
+ readonly part: "held";
12
+ readonly recipe: (props?: ({
13
+ mark?: "lit" | "chosen" | null | undefined;
14
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
15
+ readonly required: true;
16
+ };
17
+ readonly mark: {
18
+ readonly part: "mark";
19
+ readonly recipe: (props?: ({
20
+ mark?: "lit" | "chosen" | null | undefined;
21
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
22
+ readonly required: true;
23
+ };
24
+ readonly root: {
25
+ readonly part: "listbox";
26
+ readonly recipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
27
+ readonly required: true;
28
+ };
29
+ };
10
30
  //#endregion
11
- export { type ListboxMark, listboxEmptyRecipe, listboxItemRecipe, listboxLabelRecipe, listboxMarkRecipe, listboxRecipe };
31
+ export { listboxAnatomy, listboxEmptyRecipe, listboxItemRecipe, listboxLabelRecipe, listboxMarkRecipe, listboxRecipe };
12
32
  //# sourceMappingURL=listbox.d.ts.map