@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.
- package/dist/anatomies.d.ts +1586 -0
- package/dist/anatomies.js +107 -0
- package/dist/anatomies.js.map +1 -0
- package/dist/anatomy.d.ts +13 -0
- package/dist/anatomy.js +6 -0
- package/dist/anatomy.js.map +1 -0
- package/dist/cn.generated.js +217 -0
- package/dist/cn.generated.js.map +1 -0
- package/dist/cn.js +10 -166
- package/dist/cn.js.map +1 -1
- package/dist/control.d.ts +1 -2
- package/dist/control.js +1 -2
- package/dist/control.js.map +1 -1
- package/dist/index.d.ts +55 -52
- package/dist/index.js +59 -56
- package/dist/recipes/accordion.d.ts +28 -1
- package/dist/recipes/accordion.js +29 -1
- package/dist/recipes/accordion.js.map +1 -1
- package/dist/recipes/alert.d.ts +45 -1
- package/dist/recipes/alert.js +45 -1
- package/dist/recipes/alert.js.map +1 -1
- package/dist/recipes/band.d.ts +11 -1
- package/dist/recipes/band.js +7 -1
- package/dist/recipes/band.js.map +1 -1
- package/dist/recipes/bars.d.ts +60 -1
- package/dist/recipes/bars.js +59 -1
- package/dist/recipes/bars.js.map +1 -1
- package/dist/recipes/brandMark.d.ts +8 -1
- package/dist/recipes/brandMark.js +7 -1
- package/dist/recipes/brandMark.js.map +1 -1
- package/dist/recipes/button.d.ts +41 -4
- package/dist/recipes/button.js +31 -2
- package/dist/recipes/button.js.map +1 -1
- package/dist/recipes/cardHeader.d.ts +18 -1
- package/dist/recipes/cardHeader.js +19 -1
- package/dist/recipes/cardHeader.js.map +1 -1
- package/dist/recipes/checkbox.d.ts +16 -1
- package/dist/recipes/checkbox.js +16 -3
- package/dist/recipes/checkbox.js.map +1 -1
- package/dist/recipes/chip.d.ts +41 -2
- package/dist/recipes/chip.js +34 -1
- package/dist/recipes/chip.js.map +1 -1
- package/dist/recipes/codeEditor.d.ts +8 -1
- package/dist/recipes/codeEditor.js +7 -1
- package/dist/recipes/codeEditor.js.map +1 -1
- package/dist/recipes/datePicker.d.ts +62 -1
- package/dist/recipes/datePicker.js +56 -3
- package/dist/recipes/datePicker.js.map +1 -1
- package/dist/recipes/dialog.d.ts +49 -1
- package/dist/recipes/dialog.js +40 -1
- package/dist/recipes/dialog.js.map +1 -1
- package/dist/recipes/feature.d.ts +30 -1
- package/dist/recipes/feature.js +30 -2
- package/dist/recipes/feature.js.map +1 -1
- package/dist/recipes/field.js +1 -1
- package/dist/recipes/findings.d.ts +33 -1
- package/dist/recipes/findings.js +34 -1
- package/dist/recipes/findings.js.map +1 -1
- package/dist/recipes/heading.d.ts +12 -2
- package/dist/recipes/heading.js +7 -1
- package/dist/recipes/heading.js.map +1 -1
- package/dist/recipes/heartbeat.d.ts +52 -2
- package/dist/recipes/heartbeat.js +51 -4
- package/dist/recipes/heartbeat.js.map +1 -1
- package/dist/recipes/ink.d.ts +11 -0
- package/dist/recipes/ink.js +13 -0
- package/dist/recipes/ink.js.map +1 -0
- package/dist/recipes/input.d.ts +55 -1
- package/dist/recipes/input.js +52 -2
- package/dist/recipes/input.js.map +1 -1
- package/dist/recipes/listItem.d.ts +18 -1
- package/dist/recipes/listItem.js +20 -1
- package/dist/recipes/listItem.js.map +1 -1
- package/dist/recipes/listbox.d.ts +22 -2
- package/dist/recipes/listbox.js +19 -1
- package/dist/recipes/listbox.js.map +1 -1
- package/dist/recipes/marquee.d.ts +26 -2
- package/dist/recipes/marquee.js +24 -1
- package/dist/recipes/marquee.js.map +1 -1
- package/dist/recipes/menu.d.ts +33 -1
- package/dist/recipes/menu.js +29 -1
- package/dist/recipes/menu.js.map +1 -1
- package/dist/recipes/metaRow.d.ts +11 -2
- package/dist/recipes/metaRow.js +7 -1
- package/dist/recipes/metaRow.js.map +1 -1
- package/dist/recipes/meter.d.ts +36 -2
- package/dist/recipes/meter.js +34 -1
- package/dist/recipes/meter.js.map +1 -1
- package/dist/recipes/motion.d.ts +9 -1
- package/dist/recipes/nebula.js +1 -1
- package/dist/recipes/numberRange.d.ts +44 -1
- package/dist/recipes/numberRange.js +36 -1
- package/dist/recipes/numberRange.js.map +1 -1
- package/dist/recipes/paper.d.ts +55 -2
- package/dist/recipes/paper.js +47 -4
- package/dist/recipes/paper.js.map +1 -1
- package/dist/recipes/progressBar.d.ts +8 -1
- package/dist/recipes/progressBar.js +7 -1
- package/dist/recipes/progressBar.js.map +1 -1
- package/dist/recipes/queue.d.ts +33 -1
- package/dist/recipes/queue.js +35 -1
- package/dist/recipes/queue.js.map +1 -1
- package/dist/recipes/radioGroup.d.ts +18 -1
- package/dist/recipes/radioGroup.js +21 -3
- package/dist/recipes/radioGroup.js.map +1 -1
- package/dist/recipes/scopeSwitcher.d.ts +38 -1
- package/dist/recipes/scopeSwitcher.js +40 -1
- package/dist/recipes/scopeSwitcher.js.map +1 -1
- package/dist/recipes/scrollArea.d.ts +12 -3
- package/dist/recipes/scrollArea.js +7 -1
- package/dist/recipes/scrollArea.js.map +1 -1
- package/dist/recipes/searchPalette.d.ts +48 -1
- package/dist/recipes/searchPalette.js +49 -1
- package/dist/recipes/searchPalette.js.map +1 -1
- package/dist/recipes/sectionHeader.d.ts +20 -2
- package/dist/recipes/sectionHeader.js +20 -3
- package/dist/recipes/sectionHeader.js.map +1 -1
- package/dist/recipes/segmentedControl.d.ts +8 -1
- package/dist/recipes/segmentedControl.js +7 -1
- package/dist/recipes/segmentedControl.js.map +1 -1
- package/dist/recipes/select.d.ts +57 -1
- package/dist/recipes/select.js +51 -1
- package/dist/recipes/select.js.map +1 -1
- package/dist/recipes/separator.d.ts +13 -2
- package/dist/recipes/separator.js +8 -2
- package/dist/recipes/separator.js.map +1 -1
- package/dist/recipes/sidebar.d.ts +128 -2
- package/dist/recipes/sidebar.js +125 -2
- package/dist/recipes/sidebar.js.map +1 -1
- package/dist/recipes/sky.d.ts +31 -1
- package/dist/recipes/sky.js +30 -1
- package/dist/recipes/sky.js.map +1 -1
- package/dist/recipes/slider.d.ts +15 -1
- package/dist/recipes/slider.js +14 -1
- package/dist/recipes/slider.js.map +1 -1
- package/dist/recipes/stat.d.ts +71 -1
- package/dist/recipes/stat.js +73 -3
- package/dist/recipes/stat.js.map +1 -1
- package/dist/recipes/switch.d.ts +10 -1
- package/dist/recipes/switch.js +9 -3
- package/dist/recipes/switch.js.map +1 -1
- package/dist/recipes/table.d.ts +63 -3
- package/dist/recipes/table.js +56 -2
- package/dist/recipes/table.js.map +1 -1
- package/dist/recipes/tail.d.ts +40 -5
- package/dist/recipes/tail.js +37 -5
- package/dist/recipes/tail.js.map +1 -1
- package/dist/recipes/text.d.ts +16 -3
- package/dist/recipes/text.js +8 -3
- package/dist/recipes/text.js.map +1 -1
- package/dist/recipes/textarea.d.ts +46 -1
- package/dist/recipes/textarea.js +41 -1
- package/dist/recipes/textarea.js.map +1 -1
- package/dist/recipes/tile.d.ts +23 -1
- package/dist/recipes/tile.js +19 -1
- package/dist/recipes/tile.js.map +1 -1
- package/dist/recipes/tooltip.d.ts +8 -1
- package/dist/recipes/tooltip.js +7 -1
- package/dist/recipes/tooltip.js.map +1 -1
- package/dist/recipes/topBar.d.ts +43 -1
- package/dist/recipes/topBar.js +44 -1
- package/dist/recipes/topBar.js.map +1 -1
- package/dist/recipes/trail.d.ts +55 -5
- package/dist/recipes/trail.js +47 -5
- package/dist/recipes/trail.js.map +1 -1
- package/dist/recipes/userMenu.d.ts +23 -1
- package/dist/recipes/userMenu.js +24 -1
- package/dist/recipes/userMenu.js.map +1 -1
- 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":"
|
|
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"}
|
package/dist/recipes/field.js
CHANGED
|
@@ -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
|
package/dist/recipes/findings.js
CHANGED
|
@@ -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":"
|
|
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?: "
|
|
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
|
package/dist/recipes/heading.js
CHANGED
|
@@ -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\
|
|
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,
|
|
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:
|
|
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:
|
|
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 {
|
|
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
|
|
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"}
|
package/dist/recipes/input.d.ts
CHANGED
|
@@ -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
|
package/dist/recipes/input.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import "../
|
|
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":"
|
|
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
|
package/dist/recipes/listItem.js
CHANGED
|
@@ -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":"
|
|
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 {
|
|
31
|
+
export { listboxAnatomy, listboxEmptyRecipe, listboxItemRecipe, listboxLabelRecipe, listboxMarkRecipe, listboxRecipe };
|
|
12
32
|
//# sourceMappingURL=listbox.d.ts.map
|