@techfides/ui-library-design 0.8.0 → 0.9.1
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/README.md +1 -3
- package/css/theme.css +61 -82
- package/dist/anatomies.d.ts +1 -9
- package/dist/anatomies.js +0 -2
- package/dist/anatomy.d.ts +2 -3
- package/dist/anatomy.js +0 -2
- package/dist/brands.d.ts +1 -2
- package/dist/brands.js +0 -2
- package/dist/cn.d.ts +1 -2
- package/dist/cn.generated.js +40 -4
- package/dist/cn.js +0 -2
- package/dist/control.d.ts +1 -2
- package/dist/control.js +0 -2
- package/dist/index.d.ts +2 -1
- package/dist/index.js +2 -1
- package/dist/mark.d.ts +1 -2
- package/dist/mark.js +0 -2
- package/dist/parts/control.js +0 -2
- package/dist/parts/eyebrow.js +0 -2
- package/dist/parts/mark.js +0 -2
- package/dist/parts/reveal.js +0 -2
- package/dist/parts/rouse.js +0 -2
- package/dist/parts/rule.js +0 -2
- package/dist/parts/scroll.js +0 -2
- package/dist/parts/shell.js +0 -2
- package/dist/parts/surface.js +0 -2
- package/dist/parts/tone.js +0 -2
- package/dist/parts/travel.js +0 -2
- package/dist/recipes/accordion.d.ts +1 -2
- package/dist/recipes/accordion.js +0 -2
- package/dist/recipes/alert.d.ts +1 -2
- package/dist/recipes/alert.js +0 -2
- package/dist/recipes/band.d.ts +1 -2
- package/dist/recipes/band.js +0 -2
- package/dist/recipes/bars.d.ts +1 -2
- package/dist/recipes/bars.js +0 -2
- package/dist/recipes/brandMark.d.ts +1 -2
- package/dist/recipes/brandMark.js +0 -2
- package/dist/recipes/button.d.ts +1 -2
- package/dist/recipes/button.js +0 -2
- package/dist/recipes/cardHeader.d.ts +1 -2
- package/dist/recipes/cardHeader.js +0 -2
- package/dist/recipes/chart.d.ts +5 -0
- package/dist/recipes/chart.js +5 -0
- package/dist/recipes/checkbox.d.ts +1 -2
- package/dist/recipes/checkbox.js +0 -2
- package/dist/recipes/chip.d.ts +1 -2
- package/dist/recipes/chip.js +0 -2
- package/dist/recipes/codeEditor.d.ts +1 -2
- package/dist/recipes/codeEditor.js +0 -2
- package/dist/recipes/datePicker.d.ts +1 -2
- package/dist/recipes/datePicker.js +0 -2
- package/dist/recipes/dialog.d.ts +1 -2
- package/dist/recipes/dialog.js +0 -2
- package/dist/recipes/feature.d.ts +1 -2
- package/dist/recipes/feature.js +0 -2
- package/dist/recipes/field.d.ts +1 -2
- package/dist/recipes/field.js +0 -2
- package/dist/recipes/findings.d.ts +1 -2
- package/dist/recipes/findings.js +0 -2
- package/dist/recipes/heading.d.ts +1 -2
- package/dist/recipes/heading.js +0 -2
- package/dist/recipes/heartbeat.d.ts +1 -2
- package/dist/recipes/heartbeat.js +0 -2
- package/dist/recipes/ink.d.ts +1 -2
- package/dist/recipes/ink.js +0 -2
- package/dist/recipes/input.d.ts +1 -3
- package/dist/recipes/input.js +0 -3
- package/dist/recipes/listItem.d.ts +1 -2
- package/dist/recipes/listItem.js +0 -2
- package/dist/recipes/listbox.d.ts +1 -2
- package/dist/recipes/listbox.js +0 -2
- package/dist/recipes/marquee.d.ts +1 -2
- package/dist/recipes/marquee.js +0 -2
- package/dist/recipes/menu.d.ts +1 -2
- package/dist/recipes/menu.js +0 -2
- package/dist/recipes/metaRow.d.ts +1 -2
- package/dist/recipes/metaRow.js +0 -2
- package/dist/recipes/meter.d.ts +1 -2
- package/dist/recipes/meter.js +0 -2
- package/dist/recipes/motion.d.ts +1 -2
- package/dist/recipes/motion.js +0 -2
- package/dist/recipes/nebula.d.ts +1 -2
- package/dist/recipes/nebula.js +0 -2
- package/dist/recipes/numberRange.d.ts +1 -2
- package/dist/recipes/numberRange.js +0 -2
- package/dist/recipes/paper.d.ts +1 -2
- package/dist/recipes/paper.js +0 -2
- package/dist/recipes/progressBar.d.ts +1 -2
- package/dist/recipes/progressBar.js +0 -2
- package/dist/recipes/queue.d.ts +1 -2
- package/dist/recipes/queue.js +0 -2
- package/dist/recipes/radioGroup.d.ts +1 -3
- package/dist/recipes/radioGroup.js +0 -3
- package/dist/recipes/scopeSwitcher.d.ts +1 -4
- package/dist/recipes/scopeSwitcher.js +0 -4
- package/dist/recipes/scrollArea.d.ts +1 -2
- package/dist/recipes/scrollArea.js +0 -2
- package/dist/recipes/searchPalette.d.ts +1 -3
- package/dist/recipes/searchPalette.js +0 -3
- package/dist/recipes/sectionHeader.d.ts +1 -2
- package/dist/recipes/sectionHeader.js +0 -2
- package/dist/recipes/segmentedControl.d.ts +1 -2
- package/dist/recipes/segmentedControl.js +0 -2
- package/dist/recipes/select.d.ts +1 -3
- package/dist/recipes/select.js +0 -3
- package/dist/recipes/separator.d.ts +1 -2
- package/dist/recipes/separator.js +0 -2
- package/dist/recipes/sidebar.d.ts +1 -2
- package/dist/recipes/sidebar.js +0 -2
- package/dist/recipes/sky.d.ts +1 -2
- package/dist/recipes/sky.js +0 -2
- package/dist/recipes/slider.d.ts +1 -2
- package/dist/recipes/slider.js +0 -2
- package/dist/recipes/stat.d.ts +1 -3
- package/dist/recipes/stat.js +0 -4
- package/dist/recipes/switch.d.ts +1 -2
- package/dist/recipes/switch.js +0 -2
- package/dist/recipes/table.d.ts +1 -2
- package/dist/recipes/table.js +0 -2
- package/dist/recipes/tableFilter.d.ts +1 -2
- package/dist/recipes/tableFilter.js +0 -2
- package/dist/recipes/tablePaging.d.ts +1 -2
- package/dist/recipes/tablePaging.js +0 -2
- package/dist/recipes/tail.d.ts +1 -2
- package/dist/recipes/tail.js +0 -2
- package/dist/recipes/text.d.ts +1 -2
- package/dist/recipes/text.js +0 -2
- package/dist/recipes/textarea.d.ts +1 -2
- package/dist/recipes/textarea.js +0 -2
- package/dist/recipes/tile.d.ts +1 -2
- package/dist/recipes/tile.js +0 -2
- package/dist/recipes/tooltip.d.ts +1 -2
- package/dist/recipes/tooltip.js +0 -2
- package/dist/recipes/topBar.d.ts +1 -2
- package/dist/recipes/topBar.js +0 -2
- package/dist/recipes/trail.d.ts +1 -2
- package/dist/recipes/trail.js +0 -2
- package/dist/recipes/userMenu.d.ts +1 -2
- package/dist/recipes/userMenu.js +0 -2
- package/dist/tone.d.ts +1 -2
- package/dist/tone.js +0 -2
- package/package.json +1 -1
- package/dist/anatomies.js.map +0 -1
- package/dist/anatomy.js.map +0 -1
- package/dist/brands.js.map +0 -1
- package/dist/cn.generated.js.map +0 -1
- package/dist/cn.js.map +0 -1
- package/dist/control.js.map +0 -1
- package/dist/mark.js.map +0 -1
- package/dist/parts/control.js.map +0 -1
- package/dist/parts/eyebrow.js.map +0 -1
- package/dist/parts/mark.js.map +0 -1
- package/dist/parts/reveal.js.map +0 -1
- package/dist/parts/rouse.js.map +0 -1
- package/dist/parts/rule.js.map +0 -1
- package/dist/parts/scroll.js.map +0 -1
- package/dist/parts/shell.js.map +0 -1
- package/dist/parts/surface.js.map +0 -1
- package/dist/parts/tone.js.map +0 -1
- package/dist/parts/travel.js.map +0 -1
- package/dist/recipes/accordion.js.map +0 -1
- package/dist/recipes/alert.js.map +0 -1
- package/dist/recipes/band.js.map +0 -1
- package/dist/recipes/bars.js.map +0 -1
- package/dist/recipes/brandMark.js.map +0 -1
- package/dist/recipes/button.js.map +0 -1
- package/dist/recipes/cardHeader.js.map +0 -1
- package/dist/recipes/checkbox.js.map +0 -1
- package/dist/recipes/chip.js.map +0 -1
- package/dist/recipes/codeEditor.js.map +0 -1
- package/dist/recipes/datePicker.js.map +0 -1
- package/dist/recipes/dialog.js.map +0 -1
- package/dist/recipes/feature.js.map +0 -1
- package/dist/recipes/field.js.map +0 -1
- package/dist/recipes/findings.js.map +0 -1
- package/dist/recipes/heading.js.map +0 -1
- package/dist/recipes/heartbeat.js.map +0 -1
- package/dist/recipes/ink.js.map +0 -1
- package/dist/recipes/input.js.map +0 -1
- package/dist/recipes/listItem.js.map +0 -1
- package/dist/recipes/listbox.js.map +0 -1
- package/dist/recipes/marquee.js.map +0 -1
- package/dist/recipes/menu.js.map +0 -1
- package/dist/recipes/metaRow.js.map +0 -1
- package/dist/recipes/meter.js.map +0 -1
- package/dist/recipes/motion.js.map +0 -1
- package/dist/recipes/nebula.js.map +0 -1
- package/dist/recipes/numberRange.js.map +0 -1
- package/dist/recipes/paper.js.map +0 -1
- package/dist/recipes/progressBar.js.map +0 -1
- package/dist/recipes/queue.js.map +0 -1
- package/dist/recipes/radioGroup.js.map +0 -1
- package/dist/recipes/scopeSwitcher.js.map +0 -1
- package/dist/recipes/scrollArea.js.map +0 -1
- package/dist/recipes/searchPalette.js.map +0 -1
- package/dist/recipes/sectionHeader.js.map +0 -1
- package/dist/recipes/segmentedControl.js.map +0 -1
- package/dist/recipes/select.js.map +0 -1
- package/dist/recipes/separator.js.map +0 -1
- package/dist/recipes/sidebar.js.map +0 -1
- package/dist/recipes/sky.js.map +0 -1
- package/dist/recipes/slider.js.map +0 -1
- package/dist/recipes/stat.js.map +0 -1
- package/dist/recipes/switch.js.map +0 -1
- package/dist/recipes/table.js.map +0 -1
- package/dist/recipes/tableFilter.js.map +0 -1
- package/dist/recipes/tablePaging.js.map +0 -1
- package/dist/recipes/tail.js.map +0 -1
- package/dist/recipes/text.js.map +0 -1
- package/dist/recipes/textarea.js.map +0 -1
- package/dist/recipes/tile.js.map +0 -1
- package/dist/recipes/tooltip.js.map +0 -1
- package/dist/recipes/topBar.js.map +0 -1
- package/dist/recipes/trail.js.map +0 -1
- package/dist/recipes/userMenu.js.map +0 -1
- package/dist/tone.js.map +0 -1
|
@@ -29,5 +29,4 @@ declare const userMenuAnatomy: {
|
|
|
29
29
|
};
|
|
30
30
|
};
|
|
31
31
|
//#endregion
|
|
32
|
-
export { userAvatarRecipe, userChevronRecipe, userIdentityRecipe, userMenuAnatomy, userNameRecipe, userPortraitRecipe, userRoleRecipe, userTriggerRecipe };
|
|
33
|
-
//# sourceMappingURL=userMenu.d.ts.map
|
|
32
|
+
export { userAvatarRecipe, userChevronRecipe, userIdentityRecipe, userMenuAnatomy, userNameRecipe, userPortraitRecipe, userRoleRecipe, userTriggerRecipe };
|
package/dist/recipes/userMenu.js
CHANGED
package/dist/tone.d.ts
CHANGED
package/dist/tone.js
CHANGED
package/package.json
CHANGED
package/dist/anatomies.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"anatomies.js","names":[],"sources":["../src/anatomies.ts"],"sourcesContent":["import type { PartsOf } from './anatomy'\nimport { accordionAnatomy } from './recipes/accordion'\nimport { alertAnatomy } from './recipes/alert'\nimport { bandAnatomy } from './recipes/band'\nimport { barsAnatomy } from './recipes/bars'\nimport { brandMarkAnatomy } from './recipes/brandMark'\nimport { buttonAnatomy } from './recipes/button'\nimport { cardHeaderAnatomy } from './recipes/cardHeader'\nimport { checkboxAnatomy } from './recipes/checkbox'\nimport { chipAnatomy } from './recipes/chip'\nimport { codeEditorAnatomy } from './recipes/codeEditor'\nimport { datePickerAnatomy } from './recipes/datePicker'\nimport { dialogAnatomy } from './recipes/dialog'\nimport { featureAnatomy } from './recipes/feature'\nimport { findingsAnatomy } from './recipes/findings'\nimport { headingAnatomy } from './recipes/heading'\nimport { heartbeatAnatomy } from './recipes/heartbeat'\nimport { inkAnatomy } from './recipes/ink'\nimport { inputAnatomy } from './recipes/input'\nimport { listboxAnatomy } from './recipes/listbox'\nimport { listItemAnatomy } from './recipes/listItem'\nimport { marqueeAnatomy } from './recipes/marquee'\nimport { menuAnatomy } from './recipes/menu'\nimport { metaRowAnatomy } from './recipes/metaRow'\nimport { meterAnatomy } from './recipes/meter'\nimport { numberRangeAnatomy } from './recipes/numberRange'\nimport { paperAnatomy } from './recipes/paper'\nimport { progressBarAnatomy } from './recipes/progressBar'\nimport { queueAnatomy } from './recipes/queue'\nimport { radioGroupAnatomy } from './recipes/radioGroup'\nimport { scopeSwitcherAnatomy } from './recipes/scopeSwitcher'\nimport { scrollAreaAnatomy } from './recipes/scrollArea'\nimport { searchPaletteAnatomy } from './recipes/searchPalette'\nimport { sectionHeaderAnatomy } from './recipes/sectionHeader'\nimport { segmentedControlAnatomy } from './recipes/segmentedControl'\nimport { selectAnatomy } from './recipes/select'\nimport { separatorAnatomy } from './recipes/separator'\nimport { sidebarAnatomy } from './recipes/sidebar'\nimport { skyAnatomy } from './recipes/sky'\nimport { sliderAnatomy } from './recipes/slider'\nimport { statAnatomy } from './recipes/stat'\nimport { switchAnatomy } from './recipes/switch'\nimport { tableAnatomy } from './recipes/table'\nimport { tailAnatomy } from './recipes/tail'\nimport { textAnatomy } from './recipes/text'\nimport { textareaAnatomy } from './recipes/textarea'\nimport { tileAnatomy } from './recipes/tile'\nimport { tooltipAnatomy } from './recipes/tooltip'\nimport { topBarAnatomy } from './recipes/topBar'\nimport { trailAnatomy } from './recipes/trail'\nimport { userMenuAnatomy } from './recipes/userMenu'\n\nconst anatomies = {\n accordion: accordionAnatomy,\n alert: alertAnatomy,\n band: bandAnatomy,\n bars: barsAnatomy,\n 'brand-mark': brandMarkAnatomy,\n button: buttonAnatomy,\n 'card-header': cardHeaderAnatomy,\n checkbox: checkboxAnatomy,\n chip: chipAnatomy,\n 'code-editor': codeEditorAnatomy,\n 'date-picker': datePickerAnatomy,\n dialog: dialogAnatomy,\n feature: featureAnatomy,\n findings: findingsAnatomy,\n heading: headingAnatomy,\n heartbeat: heartbeatAnatomy,\n ink: inkAnatomy,\n input: inputAnatomy,\n 'list-item': listItemAnatomy,\n listbox: listboxAnatomy,\n marquee: marqueeAnatomy,\n menu: menuAnatomy,\n 'meta-row': metaRowAnatomy,\n meter: meterAnatomy,\n 'number-range': numberRangeAnatomy,\n paper: paperAnatomy,\n 'progress-bar': progressBarAnatomy,\n queue: queueAnatomy,\n 'radio-group': radioGroupAnatomy,\n 'scope-switcher': scopeSwitcherAnatomy,\n 'scroll-area': scrollAreaAnatomy,\n 'search-palette': searchPaletteAnatomy,\n 'section-header': sectionHeaderAnatomy,\n 'segmented-control': segmentedControlAnatomy,\n select: selectAnatomy,\n separator: separatorAnatomy,\n sidebar: sidebarAnatomy,\n sky: skyAnatomy,\n slider: sliderAnatomy,\n stat: statAnatomy,\n switch: switchAnatomy,\n table: tableAnatomy,\n tail: tailAnatomy,\n text: textAnatomy,\n textarea: textareaAnatomy,\n tile: tileAnatomy,\n tooltip: tooltipAnatomy,\n 'top-bar': topBarAnatomy,\n trail: trailAnatomy,\n 'user-menu': userMenuAnatomy,\n} as const\n\ntype AnyPart = PartsOf<(typeof anatomies)[keyof typeof anatomies]>\n\nexport { type AnyPart, anatomies }\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDA,MAAM,YAAY;CAChB,WAAW;CACX,OAAO;CACP,MAAM;CACN,MAAM;CACN,cAAc;CACd,QAAQ;CACR,eAAe;CACf,UAAU;CACV,MAAM;CACN,eAAe;CACf,eAAe;CACf,QAAQ;CACR,SAAS;CACT,UAAU;CACV,SAAS;CACT,WAAW;CACX,KAAK;CACL,OAAO;CACP,aAAa;CACb,SAAS;CACT,SAAS;CACT,MAAM;CACN,YAAY;CACZ,OAAO;CACP,gBAAgB;CAChB,OAAO;CACP,gBAAgB;CAChB,OAAO;CACP,eAAe;CACf,kBAAkB;CAClB,eAAe;CACf,kBAAkB;CAClB,kBAAkB;CAClB,qBAAqB;CACrB,QAAQ;CACR,WAAW;CACX,SAAS;CACT,KAAK;CACL,QAAQ;CACR,MAAM;CACN,QAAQ;CACR,OAAO;CACP,MAAM;CACN,MAAM;CACN,UAAU;CACV,MAAM;CACN,SAAS;CACT,WAAW;CACX,OAAO;CACP,aAAa;AACf"}
|
package/dist/anatomy.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"anatomy.js","names":[],"sources":["../src/anatomy.ts"],"sourcesContent":["type Recipe = (...args: never[]) => string\n\ninterface Part {\n part: string\n recipe: Recipe\n required: boolean\n}\n\ntype Anatomy = Record<string, Part>\n\nconst anatomy = <const Shape extends Anatomy>(parts: Shape): Shape => parts\n\ntype PartsOf<Shape> = Shape extends Anatomy ? Shape[keyof Shape]['part'] : never\n\nexport { type Anatomy, type Part, type PartsOf, type Recipe, anatomy }\n"],"mappings":";AAUA,MAAM,WAAwC,UAAwB"}
|
package/dist/brands.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"brands.js","names":[],"sources":["../src/brands.ts"],"sourcesContent":["type BrandSlug = 'techfides' | 'tech-it-out' | 'rtsg' | 'digital-boost-group'\n\ninterface Brand {\n accent: string\n asset: string\n domain: string\n slug: BrandSlug\n title: string\n}\n\nconst brands = [\n {\n accent: '#0075c9',\n asset: 'assets/brands/techfides.svg',\n domain: 'techfides.cz',\n slug: 'techfides',\n title: 'TechFides',\n },\n {\n accent: '#84bd23',\n asset: 'assets/brands/tech-it-out.svg',\n domain: 'techitout.io',\n slug: 'tech-it-out',\n title: 'Tech It Out',\n },\n {\n accent: '#eb7500',\n asset: 'assets/brands/rtsg.svg',\n domain: 'rtsg.cz',\n slug: 'rtsg',\n title: 'RTSG',\n },\n {\n accent: '#995fd2',\n asset: 'assets/brands/digital-boost-group.svg',\n domain: 'digitalboostgroup.cz',\n slug: 'digital-boost-group',\n title: 'Digital Boost Group',\n },\n] as const satisfies readonly Brand[]\n\nconst defaultBrand: BrandSlug = 'techfides'\n\nconst brandTitle = (slug: string): string => {\n const match = brands.find((brand) => brand.slug === slug)\n if (match) {\n return match.title\n }\n return slug\n}\n\nexport type { Brand, BrandSlug }\nexport { brandTitle, brands, defaultBrand }\n"],"mappings":";AAUA,MAAM,SAAS;CACb;EACE,QAAQ;EACR,OAAO;EACP,QAAQ;EACR,MAAM;EACN,OAAO;CACT;CACA;EACE,QAAQ;EACR,OAAO;EACP,QAAQ;EACR,MAAM;EACN,OAAO;CACT;CACA;EACE,QAAQ;EACR,OAAO;EACP,QAAQ;EACR,MAAM;EACN,OAAO;CACT;CACA;EACE,QAAQ;EACR,OAAO;EACP,QAAQ;EACR,MAAM;EACN,OAAO;CACT;AACF;AAEA,MAAM,eAA0B;AAEhC,MAAM,cAAc,SAAyB;CAC3C,MAAM,QAAQ,OAAO,MAAM,UAAU,MAAM,SAAS,IAAI;CACxD,IAAI,OACF,OAAO,MAAM;CAEf,OAAO;AACT"}
|
package/dist/cn.generated.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cn.generated.js","names":[],"sources":["../src/cn.generated.ts"],"sourcesContent":["const twScales = {\n animate: ['tf-blend-in', 'tf-arrive', 'tf-depart', 'tf-in', 'tf-out', 'tf-chip-in', 'tf-chip-out', 'tf-chip-out-auto', 'tf-rewind', 'tf-lift', 'tf-lift-rewind', 'tf-drawer', 'tf-drawer-rewind', 'tf-expand', 'tf-collapse', 'tf-shake', 'tf-pop', 'tf-nudge', 'tf-fade-in', 'tf-fade-out', 'tf-fade-rewind', 'tf-rise', 'tf-draw', 'tf-page', 'tf-page-again'],\n blur: ['tf-panel', 'tf-glass', 'tf-scrim', 'tf-cloud-md', 'tf-cloud-tight', 'tf-cloud-wide'],\n color: ['tf-accent', 'tf-accent-hi', 'tf-accent-surface', 'tf-accent-deep', 'tf-on-accent', 'tf-accent-tint', 'tf-accent-edge', 'tf-bg', 'tf-surface', 'tf-panel', 'tf-panel-2', 'tf-panel-hi', 'tf-glass', 'tf-sunken', 'tf-sunken-hi', 'tf-sunken-quiet', 'tf-control', 'tf-control-hi', 'tf-surface-hi', 'tf-surface-quiet', 'tf-shade-under', 'tf-shade-deep', 'tf-scrim', 'tf-line', 'tf-line-2', 'tf-line-hi', 'tf-rule', 'tf-fg', 'tf-fg-held', 'tf-muted', 'tf-success', 'tf-success-hi', 'tf-warning', 'tf-warning-hi', 'tf-info', 'tf-info-hi', 'tf-danger', 'tf-danger-hi', 'tf-on-semantic', 'tf-success-tint', 'tf-success-edge', 'tf-warning-tint', 'tf-warning-edge', 'tf-info-tint', 'tf-info-edge', 'tf-danger-tint', 'tf-danger-wash', 'tf-danger-edge'],\n container: ['tf-panel', 'tf-list', 'tf-placard', 'tf-measure', 'tf-page', 'tf-canvas'],\n ease: ['tf', 'tf-spring', 'tf-glide', 'tf-settle'],\n font: ['tf-display', 'tf-body'],\n radius: ['tf-none', 'tf-inline', 'tf-control', 'tf-block', 'tf-card', 'tf-pill'],\n shadow: ['tf-float', 'tf-mark'],\n spacing: ['tf-hairline', 'tf-control-2xs', 'tf-control-xs', 'tf-control-sm', 'tf-control-md', 'tf-control-lg', 'tf-row', 'tf-chip-sm', 'tf-target', 'tf-menu', 'tf-sidebar', 'tf-rail', 'tf-icon-2xs', 'tf-icon-xs', 'tf-icon-sm', 'tf-icon-md', 'tf-icon-lg', 'tf-icon-solo-xs', 'tf-icon-solo-sm', 'tf-icon-solo-md', 'tf-icon-solo-lg', 'tf-mark-glyph', 'tf-mark-dot', 'tf-mark-track', 'tf-mark-inset'],\n text: ['tf-numeral', 'tf-display', 'tf-h1', 'tf-h2', 'tf-h3', 'tf-h4', 'tf-figure', 'tf-unit', 'tf-lead', 'tf-body', 'tf-body-sm', 'tf-caption', 'tf-caption-sm'],\n tracking: ['tf-tight', 'tf-eyebrow'],\n}\n\nconst durationSteps = ['tf-1', 'tf-2', 'tf-3', 'tf-4']\n\nconst zSteps = ['tf-raised', 'tf-dropdown', 'tf-tooltip', 'tf-modal', 'tf-toast']\n\nconst utilityFamilies = {\n 'tf-cloud-blur': ['tf-cloud-md', 'tf-cloud-tight', 'tf-cloud-wide'],\n 'tf-cloud-tone': ['tf-cloud-brand', 'tf-cloud-ink', 'tf-cloud-quiet'],\n 'tf-cloud-weather': ['tf-clouded', 'tf-clouded-lifted', 'tf-clouding', 'tf-cloud-hidden'],\n 'tf-edge': ['tf-edge-lit', 'tf-edge-milk', 'tf-edge-plain', 'tf-edge-sweep'],\n 'tf-glass-plate': ['tf-glass-plate', 'tf-glass-plate-lit'],\n 'tf-icons': ['tf-icons', 'tf-icons-solo'],\n 'tf-label': ['tf-label-inked', 'tf-label-lit', 'tf-label-quiet'],\n 'tf-lit': ['tf-lit-inside', 'tf-lit-rest'],\n 'tf-mark-tone': ['tf-mark-failed', 'tf-mark-lit'],\n 'tf-moves': ['tf-moves-glide', 'tf-moves-spring'],\n 'tf-plated': ['tf-plated', 'tf-plated-quiet'],\n 'tf-rule': ['tf-rule', 'tf-rule-fall', 'tf-rule-filled', 'tf-rule-filled-fall', 'tf-rule-quiet', 'tf-rule-quiet-fall'],\n 'tf-settled': ['tf-settled', 'tf-settled-quiet'],\n 'tf-slides': ['tf-slides-settle', 'tf-slides-spring'],\n}\n\nexport { durationSteps, twScales, utilityFamilies, zSteps }\n"],"mappings":";AAAA,MAAM,WAAW;CACf,SAAS;EAAC;EAAe;EAAa;EAAa;EAAS;EAAU;EAAc;EAAe;EAAoB;EAAa;EAAW;EAAkB;EAAa;EAAoB;EAAa;EAAe;EAAY;EAAU;EAAY;EAAc;EAAe;EAAkB;EAAW;EAAW;EAAW;CAAe;CAC/V,MAAM;EAAC;EAAY;EAAY;EAAY;EAAe;EAAkB;CAAe;CAC3F,OAAO;EAAC;EAAa;EAAgB;EAAqB;EAAkB;EAAgB;EAAkB;EAAkB;EAAS;EAAc;EAAY;EAAc;EAAe;EAAY;EAAa;EAAgB;EAAmB;EAAc;EAAiB;EAAiB;EAAoB;EAAkB;EAAiB;EAAY;EAAW;EAAa;EAAc;EAAW;EAAS;EAAc;EAAY;EAAc;EAAiB;EAAc;EAAiB;EAAW;EAAc;EAAa;EAAgB;EAAkB;EAAmB;EAAmB;EAAmB;EAAmB;EAAgB;EAAgB;EAAkB;EAAkB;CAAgB;CACzuB,WAAW;EAAC;EAAY;EAAW;EAAc;EAAc;EAAW;CAAW;CACrF,MAAM;EAAC;EAAM;EAAa;EAAY;CAAW;CACjD,MAAM,CAAC,cAAc,SAAS;CAC9B,QAAQ;EAAC;EAAW;EAAa;EAAc;EAAY;EAAW;CAAS;CAC/E,QAAQ,CAAC,YAAY,SAAS;CAC9B,SAAS;EAAC;EAAe;EAAkB;EAAiB;EAAiB;EAAiB;EAAiB;EAAU;EAAc;EAAa;EAAW;EAAc;EAAW;EAAe;EAAc;EAAc;EAAc;EAAc;EAAmB;EAAmB;EAAmB;EAAmB;EAAiB;EAAe;EAAiB;CAAe;CAC3Y,MAAM;EAAC;EAAc;EAAc;EAAS;EAAS;EAAS;EAAS;EAAa;EAAW;EAAW;EAAW;EAAc;EAAc;CAAe;CAChK,UAAU,CAAC,YAAY,YAAY;AACrC;AAEA,MAAM,gBAAgB;CAAC;CAAQ;CAAQ;CAAQ;AAAM;AAErD,MAAM,SAAS;CAAC;CAAa;CAAe;CAAc;CAAY;AAAU;AAEhF,MAAM,kBAAkB;CACtB,iBAAiB;EAAC;EAAe;EAAkB;CAAe;CAClE,iBAAiB;EAAC;EAAkB;EAAgB;CAAgB;CACpE,oBAAoB;EAAC;EAAc;EAAqB;EAAe;CAAiB;CACxF,WAAW;EAAC;EAAe;EAAgB;EAAiB;CAAe;CAC3E,kBAAkB,CAAC,kBAAkB,oBAAoB;CACzD,YAAY,CAAC,YAAY,eAAe;CACxC,YAAY;EAAC;EAAkB;EAAgB;CAAgB;CAC/D,UAAU,CAAC,iBAAiB,aAAa;CACzC,gBAAgB,CAAC,kBAAkB,aAAa;CAChD,YAAY,CAAC,kBAAkB,iBAAiB;CAChD,aAAa,CAAC,aAAa,iBAAiB;CAC5C,WAAW;EAAC;EAAW;EAAgB;EAAkB;EAAuB;EAAiB;CAAoB;CACrH,cAAc,CAAC,cAAc,kBAAkB;CAC/C,aAAa,CAAC,oBAAoB,kBAAkB;AACtD"}
|
package/dist/cn.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cn.js","names":[],"sources":["../src/cn.ts"],"sourcesContent":["import type { ClassValue } from 'clsx'\nimport { clsx } from 'clsx'\nimport { extendTailwindMerge } from 'tailwind-merge'\n\nimport { durationSteps, twScales, utilityFamilies, zSteps } from './cn.generated'\n\nconst { color, ...themeScales } = twScales\nconst zGroup = 'z'\n\nconst twMerge = extendTailwindMerge<string>({\n extend: {\n classGroups: {\n ...utilityFamilies,\n 'bg-image': [{ bg: ['tf-blend', 'tf-blend-rise'] }],\n 'blend-base': [{ blend: color }],\n duration: [{ duration: durationSteps }],\n 'text-color': [{ text: ['tf-blend'] }],\n [zGroup]: [{ [zGroup]: zSteps }],\n },\n theme: { ...themeScales, color },\n },\n})\n\nconst cn = (...inputs: ClassValue[]): string => twMerge(clsx(inputs))\n\nexport { cn }\n"],"mappings":";;;;AAMA,MAAM,EAAE,OAAO,GAAG,gBAAgB;AAClC,MAAM,SAAS;AAEf,MAAM,UAAU,oBAA4B,EAC1C,QAAQ;CACN,aAAa;EACX,GAAG;EACH,YAAY,CAAC,EAAE,IAAI,CAAC,YAAY,eAAe,EAAE,CAAC;EAClD,cAAc,CAAC,EAAE,OAAO,MAAM,CAAC;EAC/B,UAAU,CAAC,EAAE,UAAU,cAAc,CAAC;EACtC,cAAc,CAAC,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;GACpC,SAAS,CAAC,GAAG,SAAS,OAAO,CAAC;CACjC;CACA,OAAO;EAAE,GAAG;EAAa;CAAM;AACjC,EACF,CAAC;AAED,MAAM,MAAM,GAAG,WAAiC,QAAQ,KAAK,MAAM,CAAC"}
|
package/dist/control.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"control.js","names":[],"sources":["../src/control.ts"],"sourcesContent":["type ControlSize = 'sm' | 'md' | 'lg'\n\ntype ButtonSize = ControlSize | 'xs'\n\ntype FieldSize = 'lg' | 'md'\n\nconst defaultFieldSize = 'lg' satisfies FieldSize\n\nconst controlIcon = {\n lg: 'size-tf-icon-lg',\n md: 'size-tf-icon-md',\n sm: 'size-tf-icon-sm',\n xs: 'size-tf-icon-xs',\n} satisfies Record<ButtonSize, string>\n\nexport { type ButtonSize, type ControlSize, type FieldSize, controlIcon, defaultFieldSize }\n"],"mappings":";AAMA,MAAM,mBAAmB;AAEzB,MAAM,cAAc;CAClB,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN"}
|
package/dist/mark.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mark.js","names":[],"sources":["../src/mark.ts"],"sourcesContent":["type MarkPlate = 'full' | 'snug' | 'bare'\n\nconst markPlates = ['full', 'snug', 'bare'] as const satisfies readonly MarkPlate[]\n\nconst defaultMarkPlate = 'full' satisfies MarkPlate\n\nexport { type MarkPlate, defaultMarkPlate, markPlates }\n"],"mappings":";AAEA,MAAM,aAAa;CAAC;CAAQ;CAAQ;AAAM;AAE1C,MAAM,mBAAmB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"control.js","names":[],"sources":["../../src/parts/control.ts"],"sourcesContent":["import type { ButtonSize, ControlSize } from '#control'\n\nconst controlSizes = ['sm', 'md', 'lg'] as const satisfies readonly ControlSize[]\n\nconst controlGap = {\n lg: 'gap-3',\n md: 'gap-2',\n sm: 'gap-2',\n xs: 'gap-1.5',\n} satisfies Record<ButtonSize, string>\n\nconst controlBox = {\n lg: `h-tf-control-lg ${controlGap.lg} rounded-tf-control text-tf-body [&_svg]:size-tf-icon-lg`,\n md: `h-tf-control-md ${controlGap.md} rounded-tf-control text-tf-body-sm font-medium [&_svg]:size-tf-icon-md`,\n sm: `h-tf-control-sm ${controlGap.sm} rounded-tf-control text-tf-caption font-medium [&_svg]:size-tf-icon-sm`,\n xs: `h-tf-control-xs ${controlGap.xs} rounded-tf-inline text-tf-caption-sm font-medium [&_svg]:size-tf-icon-xs`,\n} satisfies Record<ButtonSize, string>\n\nconst controlBase = [\n 'relative inline-flex shrink-0 items-center',\n 'font-tf-body',\n 'tf-transition',\n 'motion-reduce:transition-none',\n 'tf-icons [&_svg]:pointer-events-none [&_svg]:shrink-0',\n]\n\nconst controlFocus = ['outline-2 outline-solid outline-offset-2 outline-transparent']\n\nconst controlRing = ['focused:outline-tf-accent-hi']\n\nconst controlReach = [...controlFocus, ...controlRing]\n\nconst controlQuiet = [\n 'interactive:hovered:bg-tf-panel-hi',\n 'cursor-pointer tf-transition motion-reduce:transition-none',\n]\n\nconst controlPress = ['motion-safe:interactive:pressed:scale-97']\n\nconst controlInert = [\n 'disabled:cursor-not-allowed disabled:opacity-50',\n 'aria-disabled:cursor-not-allowed aria-disabled:opacity-50',\n 'data-disabled:cursor-not-allowed data-disabled:opacity-50',\n]\n\nconst controlQuietIcon = [\n 'inline-flex flex-none items-center justify-center',\n 'size-tf-control-sm rounded-tf-control',\n 'tf-icons-solo [&_svg]:size-tf-icon-solo-sm [&_svg]:shrink-0',\n 'text-tf-muted interactive:hovered:text-tf-fg',\n ...controlQuiet,\n ...controlReach,\n ...controlInert,\n]\n\nconst hitArea = (height: string, width = 'after:w-full after:min-w-tf-target'): string =>\n [\n 'after:absolute after:top-1/2 after:left-1/2',\n height,\n width,\n 'after:-translate-x-1/2 after:-translate-y-1/2',\n \"after:content-['']\",\n ].join(' ')\n\nexport {\n controlBase,\n controlBox,\n controlGap,\n controlFocus,\n controlInert,\n controlPress,\n controlQuiet,\n controlQuietIcon,\n controlReach,\n controlSizes,\n hitArea,\n}\n"],"mappings":";AAEA,MAAM,eAAe;CAAC;CAAM;CAAM;AAAI;AAEtC,MAAM,aAAa;CACjB,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;AAEA,MAAM,aAAa;CACjB,IAAI,mBAAmB,WAAW,GAAG;CACrC,IAAI,mBAAmB,WAAW,GAAG;CACrC,IAAI,mBAAmB,WAAW,GAAG;CACrC,IAAI,mBAAmB,WAAW,GAAG;AACvC;AAEA,MAAM,cAAc;CAClB;CACA;CACA;CACA;CACA;AACF;AAEA,MAAM,eAAe,CAAC,8DAA8D;AAEpF,MAAM,cAAc,CAAC,8BAA8B;AAEnD,MAAM,eAAe,CAAC,GAAG,cAAc,GAAG,WAAW;AAErD,MAAM,eAAe,CACnB,sCACA,4DACF;AAEA,MAAM,eAAe,CAAC,0CAA0C;AAEhE,MAAM,eAAe;CACnB;CACA;CACA;AACF;AAEA,MAAM,mBAAmB;CACvB;CACA;CACA;CACA;CACA,GAAG;CACH,GAAG;CACH,GAAG;AACL;AAEA,MAAM,WAAW,QAAgB,QAAQ,yCACvC;CACE;CACA;CACA;CACA;CACA;AACF,CAAC,CAAC,KAAK,GAAG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"eyebrow.js","names":[],"sources":["../../src/parts/eyebrow.ts"],"sourcesContent":["const eyebrowType = 'font-medium tracking-tf-eyebrow uppercase'\n\nconst eyebrowQuiet = `${eyebrowType} text-tf-muted`\n\nconst eyebrowLead = 'text-tf-body-sm font-medium text-tf-accent-hi'\n\nexport { eyebrowLead, eyebrowQuiet, eyebrowType }\n"],"mappings":";AAAA,MAAM,cAAc;AAEpB,MAAM,eAAe,GAAG,YAAY;AAEpC,MAAM,cAAc"}
|
package/dist/parts/mark.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mark.js","names":[],"sources":["../../src/parts/mark.ts"],"sourcesContent":["import type { MarkPlate } from '#mark'\nimport { controlReach, hitArea } from '#parts/control'\n\nconst markRow = [\n 'relative flex items-center',\n 'font-tf-body',\n 'tf-transition motion-reduce:transition-none',\n 'interactive:not-data-readonly:cursor-pointer',\n 'data-disabled:cursor-not-allowed',\n]\n\nconst REACHES_A_FINGER = hitArea('after:h-tf-target')\n\nconst markPlate = {\n bare: REACHES_A_FINGER,\n full: 'min-h-tf-target rounded-tf-block px-3 py-2',\n snug: `min-h-tf-row rounded-tf-inline px-2 py-1 ${REACHES_A_FINGER}`,\n} satisfies Record<MarkPlate, string>\n\nconst markSquare = {\n bare: `justify-center ${REACHES_A_FINGER}`,\n full: 'size-tf-target justify-center rounded-tf-block',\n snug: `size-tf-row justify-center rounded-tf-inline ${REACHES_A_FINGER}`,\n} satisfies Record<MarkPlate, string>\n\nconst markPlated = {\n bare: '',\n full: 'not-data-readonly:interactive:hovered:bg-tf-panel-hi',\n snug: 'not-data-readonly:interactive:hovered:bg-tf-panel-hi',\n} satisfies Record<MarkPlate, string>\n\nconst markFace = [\n 'relative inline-flex shrink-0 items-center',\n 'data-disabled:opacity-50',\n 'tf-mark-edge blend-tf-accent',\n 'tf-transition motion-reduce:transition-none',\n ...controlReach,\n]\n\nconst markBox = [\n ...markFace,\n 'size-tf-icon-solo-sm justify-center',\n 'not-data-[state=checked]:not-data-[state=indeterminate]:not-data-readonly:interactive:hovered:tf-mark-bloomed',\n]\n\nconst markPress = 'motion-safe:interactive:pressed:scale-94'\n\nconst markFailed = 'tf-mark-failed'\n\nconst markKnob = [\n 'block shrink-0 rounded-tf-inline',\n 'bg-tf-fg shadow-tf-mark',\n 'tf-transition tf-slides-spring motion-reduce:transition-none',\n 'data-disabled:bg-tf-muted',\n]\n\nconst markStack = ['flex min-w-0 flex-col gap-0', 'tf-transition motion-reduce:transition-none']\n\nconst markTitle = [\n 'text-tf-body text-tf-fg data-disabled:text-tf-muted',\n '**:data-[part=required-indicator]:text-tf-danger-hi',\n]\n\nconst markGroup = 'flex flex-col gap-1'\n\nexport {\n markBox,\n markFace,\n markFailed,\n markGroup,\n markKnob,\n markPlate,\n markPlated,\n markPress,\n markRow,\n markSquare,\n markStack,\n markTitle,\n}\n"],"mappings":";;AAGA,MAAM,UAAU;CACd;CACA;CACA;CACA;CACA;AACF;AAEA,MAAM,mBAAmB,QAAQ,mBAAmB;AAEpD,MAAM,YAAY;CAChB,MAAM;CACN,MAAM;CACN,MAAM,4CAA4C;AACpD;AAEA,MAAM,aAAa;CACjB,MAAM,kBAAkB;CACxB,MAAM;CACN,MAAM,gDAAgD;AACxD;AAEA,MAAM,aAAa;CACjB,MAAM;CACN,MAAM;CACN,MAAM;AACR;AAEA,MAAM,WAAW;CACf;CACA;CACA;CACA;CACA,GAAG;AACL;AAEA,MAAM,UAAU;CACd,GAAG;CACH;CACA;AACF;AAEA,MAAM,YAAY;AAElB,MAAM,aAAa;AAEnB,MAAM,WAAW;CACf;CACA;CACA;CACA;AACF;AAEA,MAAM,YAAY,CAAC,+BAA+B,6CAA6C;AAE/F,MAAM,YAAY,CAChB,uDACA,qDACF;AAEA,MAAM,YAAY"}
|
package/dist/parts/reveal.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reveal.js","names":[],"sources":["../../src/parts/reveal.ts"],"sourcesContent":["const HIDDEN = 'w-0 scale-90 opacity-0'\n\nconst SHOWN = 'scale-100 opacity-100'\n\nconst revealedIcon = [\n 'inline-flex flex-none items-center overflow-hidden tf-reveals',\n HIDDEN,\n 'in-[[data-part=head]:hover,[data-part=head][data-hover]]:w-tf-icon-2xs',\n 'in-[[data-part=head]:hover,[data-part=head][data-hover]]:scale-100',\n 'in-[[data-part=head]:hover,[data-part=head][data-hover]]:opacity-100',\n 'in-[[data-part=head]:focus-within]:w-tf-icon-2xs',\n 'in-[[data-part=head]:focus-within]:scale-100',\n 'in-[[data-part=head]:focus-within]:opacity-100',\n 'in-[[data-part=head]:has([data-state=open])]:w-tf-icon-2xs',\n 'in-[[data-part=head]:has([data-state=open])]:scale-100',\n 'in-[[data-part=head]:has([data-state=open])]:opacity-100',\n].join(' ')\n\nconst revealedControl = [\n 'inline-flex flex-none items-center overflow-hidden tf-reveals',\n HIDDEN,\n 'in-[[data-part=head]:hover,[data-part=head][data-hover]]:w-tf-control-2xs',\n 'in-[[data-part=head]:hover,[data-part=head][data-hover]]:scale-100',\n 'in-[[data-part=head]:hover,[data-part=head][data-hover]]:opacity-100',\n 'in-[[data-part=head]:focus-within]:w-tf-control-2xs',\n 'in-[[data-part=head]:focus-within]:scale-100',\n 'in-[[data-part=head]:focus-within]:opacity-100',\n 'in-[[data-part=head]:has([data-state=open])]:w-tf-control-2xs',\n 'in-[[data-part=head]:has([data-state=open])]:scale-100',\n 'in-[[data-part=head]:has([data-state=open])]:opacity-100',\n].join(' ')\n\nconst shownIcon = `inline-flex flex-none items-center tf-reveals w-tf-icon-2xs ${SHOWN}`\n\nconst shownControl = `inline-flex flex-none items-center tf-reveals w-tf-control-2xs ${SHOWN}`\n\nexport { revealedControl, revealedIcon, shownControl, shownIcon }\n"],"mappings":";AAAA,MAAM,SAAS;AAEf,MAAM,QAAQ;AAEd,MAAM,eAAe;CACnB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC,CAAC,KAAK,GAAG;AAEV,MAAM,kBAAkB;CACtB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC,CAAC,KAAK,GAAG;AAEV,MAAM,YAAY,+DAA+D;AAEjF,MAAM,eAAe,kEAAkE"}
|
package/dist/parts/rouse.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rouse.js","names":[],"sources":["../../src/parts/rouse.ts"],"sourcesContent":["const tileRoused = [\n 'hovered:**:data-[part=tile]:tf-blended',\n 'hovered:**:data-[part=tile]:tf-milked',\n 'hovered:**:data-[part=tile]:tf-clouding',\n 'hovered:**:data-[part=tile]:tf-glow',\n 'hovered:**:data-[part=tile]:tf-lifted',\n 'hovered:**:data-[part=tile]:tf-lit-inside',\n 'hovered:**:data-[part=tile]:tf-edge-lit',\n 'motion-safe:hovered:**:data-[part=glyph]:scale-105',\n].join(' ')\n\nconst tileReached = [\n 'reached:**:data-[part=tile]:tf-blended',\n 'reached:**:data-[part=tile]:tf-milked',\n 'reached:**:data-[part=tile]:tf-clouding',\n 'reached:**:data-[part=tile]:tf-glow',\n 'reached:**:data-[part=tile]:tf-lifted',\n 'reached:**:data-[part=tile]:tf-lit-inside',\n 'reached:**:data-[part=tile]:tf-edge-lit',\n 'motion-safe:reached:**:data-[part=glyph]:scale-105',\n].join(' ')\n\nexport { tileReached, tileRoused }\n"],"mappings":";AAAA,MAAM,aAAa;CACjB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC,CAAC,KAAK,GAAG;AAEV,MAAM,cAAc;CAClB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC,CAAC,KAAK,GAAG"}
|
package/dist/parts/rule.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rule.js","names":[],"sources":["../../src/parts/rule.ts"],"sourcesContent":["const HAIRLINE_ACROSS = 'h-tf-hairline'\n\nconst HAIRLINE_DOWN = 'w-tf-hairline min-h-tf-row'\n\nconst RULE_ACCENT = 'blend-tf-accent'\n\nconst fadingOf = (blend: string): string => `${HAIRLINE_ACROSS} ${blend} tf-rule`\n\nconst filledOf = (blend: string): string => `${HAIRLINE_ACROSS} ${blend} tf-rule-filled`\n\nconst fadingDownOf = (blend: string): string => `${HAIRLINE_DOWN} ${blend} tf-rule-fall`\n\nconst filledDownOf = (blend: string): string => `${HAIRLINE_DOWN} ${blend} tf-rule-filled-fall`\n\nconst ruleFading = fadingOf(RULE_ACCENT)\n\nconst ruleQuiet = `${HAIRLINE_ACROSS} tf-rule-quiet`\n\nconst ruleQuietDown = `${HAIRLINE_DOWN} tf-rule-quiet-fall`\n\nexport { fadingDownOf, fadingOf, filledDownOf, filledOf, ruleFading, ruleQuiet, ruleQuietDown }\n"],"mappings":";AAAA,MAAM,kBAAkB;AAExB,MAAM,gBAAgB;AAEtB,MAAM,cAAc;AAEpB,MAAM,YAAY,UAA0B,GAAG,gBAAgB,GAAG,MAAM;AAExE,MAAM,YAAY,UAA0B,GAAG,gBAAgB,GAAG,MAAM;AAExE,MAAM,gBAAgB,UAA0B,GAAG,cAAc,GAAG,MAAM;AAE1E,MAAM,gBAAgB,UAA0B,GAAG,cAAc,GAAG,MAAM;AAE1E,MAAM,aAAa,SAAS,WAAW;AAEvC,MAAM,YAAY,GAAG,gBAAgB;AAErC,MAAM,gBAAgB,GAAG,cAAc"}
|
package/dist/parts/scroll.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scroll.js","names":[],"sources":["../../src/parts/scroll.ts"],"sourcesContent":["const scrollFades = [\n 'tf-scroll-faded tf-fades motion-reduce:transition-none',\n 'data-overflow-y:not-data-at-top:[--tf-fade-head:calc(var(--spacing)*6)]',\n 'data-overflow-y:not-data-at-bottom:[--tf-fade-foot:calc(var(--spacing)*6)]',\n]\n\nexport { scrollFades }\n"],"mappings":";AAAA,MAAM,cAAc;CAClB;CACA;CACA;AACF"}
|
package/dist/parts/shell.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"shell.js","names":[],"sources":["../../src/parts/shell.ts"],"sourcesContent":["const controlLabelLevel = 'asleep:**:data-[part=label]:scale-100'\n\nconst controlHealthy = [\n 'blend-tf-accent',\n 'asleep:**:data-[part=label]:tf-label-quiet',\n 'reached:**:data-[part=label]:tf-label-inked',\n 'not-data-readonly:reached:bg-tf-sunken-hi',\n 'data-readonly:reached:bg-tf-sunken',\n].join(' ')\n\nconst controlFailed = [\n 'tf-edge-lit tf-clouding tf-label-failed blend-tf-danger',\n '**:data-[part=label]:tf-label-lit',\n].join(' ')\n\nconst controlShell = (wakes: readonly string[], labelRest: string): string[] => [\n 'not-data-readonly:bg-tf-sunken data-readonly:bg-tf-sunken-quiet',\n 'tf-edge-sweep tf-swept tf-fill-scale tf-cloud-quiet tf-cloud-hidden',\n 'not-data-readonly:interactive:hovered:bg-tf-sunken-hi',\n 'reached:tf-edge-lit',\n ...wakes,\n labelRest,\n controlLabelLevel,\n]\n\nexport { controlFailed, controlHealthy, controlShell }\n"],"mappings":";AAAA,MAAM,oBAAoB;AAE1B,MAAM,iBAAiB;CACrB;CACA;CACA;CACA;CACA;AACF,CAAC,CAAC,KAAK,GAAG;AAEV,MAAM,gBAAgB,CACpB,2DACA,mCACF,CAAC,CAAC,KAAK,GAAG;AAEV,MAAM,gBAAgB,OAA0B,cAAgC;CAC9E;CACA;CACA;CACA;CACA,GAAG;CACH;CACA;AACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"surface.js","names":[],"sources":["../../src/parts/surface.ts"],"sourcesContent":["const surfaceShape = ['relative isolate', 'rounded-tf-card']\n\nconst surfaceFill = ['bg-tf-panel backdrop-blur-tf-panel']\n\nconst surfaceEdge = ['tf-edge-sweep tf-swept']\n\nconst surfaceSkin = [...surfaceShape, ...surfaceFill, ...surfaceEdge]\n\nconst surfacePanel = [...surfaceSkin, 'blend-tf-accent']\n\nconst surfaceLifted = ['shadow-tf-float', 'tf-cloud-brand tf-clouded-lifted tf-fill-scale']\n\nexport { surfaceLifted, surfacePanel, surfaceSkin }\n"],"mappings":";AAAA,MAAM,eAAe,CAAC,oBAAoB,iBAAiB;AAE3D,MAAM,cAAc,CAAC,oCAAoC;AAEzD,MAAM,cAAc,CAAC,wBAAwB;AAE7C,MAAM,cAAc;CAAC,GAAG;CAAc,GAAG;CAAa,GAAG;AAAW;AAEpE,MAAM,eAAe,CAAC,GAAG,aAAa,iBAAiB;AAEvD,MAAM,gBAAgB,CAAC,mBAAmB,gDAAgD"}
|
package/dist/parts/tone.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tone.js","names":[],"sources":["../../src/parts/tone.ts"],"sourcesContent":["import type { Tone } from '#tone'\n\nconst tones = ['accent', 'success', 'warning', 'info', 'danger'] as const satisfies readonly Tone[]\n\nconst defaultTone = 'accent' satisfies Tone\n\nexport { defaultTone, tones }\n"],"mappings":";AAEA,MAAM,QAAQ;CAAC;CAAU;CAAW;CAAW;CAAQ;AAAQ;AAE/D,MAAM,cAAc"}
|
package/dist/parts/travel.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"travel.js","names":[],"sources":["../../src/parts/travel.ts"],"sourcesContent":["const travelMarkBase = [\n 'pointer-events-none absolute top-0',\n 'opacity-0 data-lit:opacity-100',\n 'tf-slides-settle tf-transition motion-reduce:transition-none',\n 'data-placing:[--tf-slide-timing:0s]',\n]\n\nexport { travelMarkBase }\n"],"mappings":";AAAA,MAAM,iBAAiB;CACrB;CACA;CACA;CACA;AACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"accordion.js","names":[],"sources":["../../src/recipes/accordion.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { anatomy } from '#anatomy'\nimport { controlInert, controlReach } from '#parts/control'\nimport { ruleFading } from '#parts/rule'\n\nimport { collapseMotion } from './motion'\n\nconst accordionRecipe = cva('flex w-full flex-col gap-3 font-tf-body')\n\nconst accordionItemRecipe = cva([\n 'relative isolate flex flex-col rounded-tf-block bg-tf-panel',\n 'tf-edge-sweep tf-swept blend-tf-accent tf-edge-plain',\n 'data-[state=open]:bg-tf-panel-hi data-[state=open]:tf-ring-rest',\n 'tf-transition motion-reduce:transition-none',\n 'data-disabled:opacity-50',\n])\n\nconst accordionTriggerRecipe = cva([\n 'flex min-h-tf-control-lg w-full flex-none items-center gap-4',\n 'rounded-tf-block px-4 text-left',\n 'text-tf-body text-tf-fg',\n 'not-data-[state=open]:interactive:hovered:bg-tf-panel-hi',\n 'cursor-pointer tf-transition motion-reduce:transition-none',\n 'tf-icons',\n ...controlReach,\n ...controlInert,\n])\n\nconst accordionLabelRecipe = cva('min-w-0 flex-1 py-3 text-pretty')\n\nconst accordionMetaRecipe = cva('flex-none font-mono text-tf-caption-sm text-tf-muted')\n\nconst accordionIndicatorRecipe = cva([\n 'flex size-tf-icon-sm flex-none items-center justify-center',\n 'text-tf-muted [&_svg]:size-tf-icon-sm [&_svg]:shrink-0',\n 'data-[state=open]:rotate-180 data-[state=open]:text-tf-accent-hi',\n 'tf-transition motion-reduce:transition-none',\n])\n\nconst accordionContentRecipe = cva([...collapseMotion, 'motion-reduce:animate-none'])\n\nconst accordionBodyRecipe = cva([\n 'flex flex-col gap-4 px-4 pt-3 pb-4',\n 'text-tf-body-sm font-medium text-tf-muted',\n 'in-data-[state=open]:motion-safe:animate-tf-rise',\n])\n\nconst accordionRuleRecipe = cva([\n `flex-none ${ruleFading}`,\n 'origin-left in-data-[state=open]:motion-safe:animate-tf-draw',\n])\n\nconst accordionAnatomy = anatomy({\n body: { part: 'body', recipe: accordionBodyRecipe, required: true },\n label: { part: 'label', recipe: accordionLabelRecipe, required: true },\n meta: { part: 'meta', recipe: accordionMetaRecipe, required: false },\n root: { part: 'accordion', recipe: accordionRecipe, required: true },\n rule: { part: 'rule', recipe: accordionRuleRecipe, required: true },\n})\n\nexport {\n accordionAnatomy,\n accordionBodyRecipe,\n accordionContentRecipe,\n accordionIndicatorRecipe,\n accordionItemRecipe,\n accordionLabelRecipe,\n accordionMetaRecipe,\n accordionRecipe,\n accordionRuleRecipe,\n accordionTriggerRecipe,\n}\n"],"mappings":";;;;;;AAQA,MAAM,kBAAkB,IAAI,yCAAyC;AAErE,MAAM,sBAAsB,IAAI;CAC9B;CACA;CACA;CACA;CACA;AACF,CAAC;AAED,MAAM,yBAAyB,IAAI;CACjC;CACA;CACA;CACA;CACA;CACA;CACA,GAAG;CACH,GAAG;AACL,CAAC;AAED,MAAM,uBAAuB,IAAI,iCAAiC;AAElE,MAAM,sBAAsB,IAAI,sDAAsD;AAEtF,MAAM,2BAA2B,IAAI;CACnC;CACA;CACA;CACA;AACF,CAAC;AAED,MAAM,yBAAyB,IAAI,CAAC,GAAG,gBAAgB,4BAA4B,CAAC;AAEpF,MAAM,sBAAsB,IAAI;CAC9B;CACA;CACA;AACF,CAAC;AAED,MAAM,sBAAsB,IAAI,CAC9B,aAAa,cACb,8DACF,CAAC;AAED,MAAM,mBAAmB,QAAQ;CAC/B,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAqB,UAAU;CAAK;CAClE,OAAO;EAAE,MAAM;EAAS,QAAQ;EAAsB,UAAU;CAAK;CACrE,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAqB,UAAU;CAAM;CACnE,MAAM;EAAE,MAAM;EAAa,QAAQ;EAAiB,UAAU;CAAK;CACnE,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAqB,UAAU;CAAK;AACpE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"alert.js","names":[],"sources":["../../src/recipes/alert.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { anatomy } from '#anatomy'\n\nimport { featureBodyRecipe, featureTitleRecipe } from './feature'\n\nconst alertVariants = ['banner', 'inline'] as const\n\ntype AlertVariant = (typeof alertVariants)[number]\n\nconst defaultAlertVariant = 'banner' satisfies AlertVariant\n\nconst alertBannerRecipe = cva('flex flex-col items-start gap-5 @tf-panel:flex-row', {\n defaultVariants: { titled: true },\n variants: {\n titled: { false: '@tf-panel:items-center', true: '' },\n },\n})\n\nconst alertBannerTextRecipe = cva('flex min-w-0 flex-1 flex-col gap-5')\n\nconst alertDetailRecipe = cva('flex flex-wrap gap-2')\n\nconst alertActionRecipe = cva([\n '-mr-3 ml-auto flex flex-none items-center',\n '@tf-panel:min-h-tf-control-lg',\n])\n\nconst alertInlineRecipe = cva([\n 'flex items-center gap-3 rounded-tf-control bg-tf-sunken-hi px-4 py-3',\n])\n\nconst alertInlineMarkRecipe = cva('size-2 flex-none rounded-tf-pill bg-tf-blend')\n\nconst alertInlineTextRecipe = cva('min-w-0 flex-1 text-tf-body-sm font-medium text-tf-fg')\n\nconst alertAnatomy = anatomy({\n action: { part: 'action', recipe: alertActionRecipe, required: false },\n banner: { part: 'banner', recipe: alertBannerRecipe, required: false },\n body: { part: 'body', recipe: featureBodyRecipe, required: false },\n detail: { part: 'detail', recipe: alertDetailRecipe, required: false },\n mark: { part: 'mark', recipe: alertInlineMarkRecipe, required: false },\n root: { part: 'alert', recipe: alertInlineRecipe, required: true },\n text: { part: 'text', recipe: alertBannerTextRecipe, required: true },\n title: { part: 'title', recipe: featureTitleRecipe, required: false },\n})\n\nexport {\n type AlertVariant,\n alertActionRecipe,\n alertAnatomy,\n alertBannerRecipe,\n alertBannerTextRecipe,\n alertDetailRecipe,\n alertInlineMarkRecipe,\n alertInlineRecipe,\n alertInlineTextRecipe,\n alertVariants,\n defaultAlertVariant,\n}\n"],"mappings":";;;;AAMA,MAAM,gBAAgB,CAAC,UAAU,QAAQ;AAIzC,MAAM,sBAAsB;AAE5B,MAAM,oBAAoB,IAAI,sDAAsD;CAClF,iBAAiB,EAAE,QAAQ,KAAK;CAChC,UAAU,EACR,QAAQ;EAAE,OAAO;EAA0B,MAAM;CAAG,EACtD;AACF,CAAC;AAED,MAAM,wBAAwB,IAAI,oCAAoC;AAEtE,MAAM,oBAAoB,IAAI,sBAAsB;AAEpD,MAAM,oBAAoB,IAAI,CAC5B,6CACA,+BACF,CAAC;AAED,MAAM,oBAAoB,IAAI,CAC5B,sEACF,CAAC;AAED,MAAM,wBAAwB,IAAI,8CAA8C;AAEhF,MAAM,wBAAwB,IAAI,uDAAuD;AAEzF,MAAM,eAAe,QAAQ;CAC3B,QAAQ;EAAE,MAAM;EAAU,QAAQ;EAAmB,UAAU;CAAM;CACrE,QAAQ;EAAE,MAAM;EAAU,QAAQ;EAAmB,UAAU;CAAM;CACrE,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAmB,UAAU;CAAM;CACjE,QAAQ;EAAE,MAAM;EAAU,QAAQ;EAAmB,UAAU;CAAM;CACrE,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAuB,UAAU;CAAM;CACrE,MAAM;EAAE,MAAM;EAAS,QAAQ;EAAmB,UAAU;CAAK;CACjE,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAuB,UAAU;CAAK;CACpE,OAAO;EAAE,MAAM;EAAS,QAAQ;EAAoB,UAAU;CAAM;AACtE,CAAC"}
|
package/dist/recipes/band.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"band.js","names":[],"sources":["../../src/recipes/band.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { anatomy } from '#anatomy'\n\nconst bandRecipe = cva('px-6 py-24 sm:px-12', {\n defaultVariants: { divider: false, surface: false },\n variants: {\n divider: { false: '', true: 'border-t border-tf-line-2' },\n surface: { false: '', true: 'bg-tf-surface' },\n },\n})\n\nconst bandAnatomy = anatomy({\n root: { part: 'band', recipe: bandRecipe, required: true },\n})\n\nexport { bandAnatomy, bandRecipe }\n"],"mappings":";;;AAIA,MAAM,aAAa,IAAI,uBAAuB;CAC5C,iBAAiB;EAAE,SAAS;EAAO,SAAS;CAAM;CAClD,UAAU;EACR,SAAS;GAAE,OAAO;GAAI,MAAM;EAA4B;EACxD,SAAS;GAAE,OAAO;GAAI,MAAM;EAAgB;CAC9C;AACF,CAAC;AAED,MAAM,cAAc,QAAQ,EAC1B,MAAM;CAAE,MAAM;CAAQ,QAAQ;CAAY,UAAU;AAAK,EAC3D,CAAC"}
|
package/dist/recipes/bars.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bars.js","names":[],"sources":["../../src/recipes/bars.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { anatomy } from '#anatomy'\n\nconst barsRecipe = cva([\n '@container relative isolate flex grow flex-col justify-between gap-4 p-6',\n 'rounded-tf-card bg-tf-glass shadow-tf-float backdrop-blur-tf-glass',\n 'tf-edge-sweep font-tf-body text-tf-fg tf-transition',\n])\n\nconst barsHeadRecipe = cva('flex flex-wrap items-start justify-between gap-4')\n\nconst barsTextRecipe = cva('flex flex-col gap-1')\n\nconst barsLabelRecipe = cva('text-tf-body-sm font-medium text-tf-fg')\n\nconst barsHintRecipe = cva('text-tf-caption-sm text-tf-muted')\n\nconst barsFootRecipe = cva('flex flex-col items-end gap-1 text-tf-caption-sm text-tf-muted')\n\nconst barsLegendRecipe = cva('flex items-center gap-2')\n\nconst barsLegendListRecipe = cva('flex flex-wrap items-center gap-4')\n\nconst barsLegendDotRecipe = cva('size-2 flex-none rounded-tf-pill', {\n defaultVariants: { tone: 'accent' },\n variants: {\n tone: {\n accent: 'bg-tf-blend blend-tf-accent',\n plain: '',\n },\n },\n})\n\nconst barsSummaryRecipe = cva('tabular-nums')\n\nconst barsChartRecipe = cva('h-36 w-full')\n\nconst barsAnatomy = anatomy({\n chart: { part: 'chart', recipe: barsChartRecipe, required: true },\n dot: { part: 'dot', recipe: barsLegendDotRecipe, required: false },\n foot: { part: 'foot', recipe: barsFootRecipe, required: false },\n head: { part: 'head', recipe: barsHeadRecipe, required: true },\n hint: { part: 'hint', recipe: barsHintRecipe, required: false },\n label: { part: 'label', recipe: barsLabelRecipe, required: true },\n legend: { part: 'legend', recipe: barsLegendRecipe, required: false },\n legendList: { part: 'legend-list', recipe: barsLegendListRecipe, required: false },\n root: { part: 'bars', recipe: barsRecipe, required: true },\n summary: { part: 'summary', recipe: barsSummaryRecipe, required: false },\n text: { part: 'text', recipe: barsTextRecipe, required: true },\n})\n\nexport {\n barsAnatomy,\n barsChartRecipe,\n barsFootRecipe,\n barsHeadRecipe,\n barsHintRecipe,\n barsLabelRecipe,\n barsLegendDotRecipe,\n barsLegendListRecipe,\n barsLegendRecipe,\n barsRecipe,\n barsSummaryRecipe,\n barsTextRecipe,\n}\n"],"mappings":";;;AAIA,MAAM,aAAa,IAAI;CACrB;CACA;CACA;AACF,CAAC;AAED,MAAM,iBAAiB,IAAI,kDAAkD;AAE7E,MAAM,iBAAiB,IAAI,qBAAqB;AAEhD,MAAM,kBAAkB,IAAI,wCAAwC;AAEpE,MAAM,iBAAiB,IAAI,kCAAkC;AAE7D,MAAM,iBAAiB,IAAI,gEAAgE;AAE3F,MAAM,mBAAmB,IAAI,yBAAyB;AAEtD,MAAM,uBAAuB,IAAI,mCAAmC;AAEpE,MAAM,sBAAsB,IAAI,oCAAoC;CAClE,iBAAiB,EAAE,MAAM,SAAS;CAClC,UAAU,EACR,MAAM;EACJ,QAAQ;EACR,OAAO;CACT,EACF;AACF,CAAC;AAED,MAAM,oBAAoB,IAAI,cAAc;AAE5C,MAAM,kBAAkB,IAAI,aAAa;AAEzC,MAAM,cAAc,QAAQ;CAC1B,OAAO;EAAE,MAAM;EAAS,QAAQ;EAAiB,UAAU;CAAK;CAChE,KAAK;EAAE,MAAM;EAAO,QAAQ;EAAqB,UAAU;CAAM;CACjE,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAgB,UAAU;CAAM;CAC9D,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAgB,UAAU;CAAK;CAC7D,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAgB,UAAU;CAAM;CAC9D,OAAO;EAAE,MAAM;EAAS,QAAQ;EAAiB,UAAU;CAAK;CAChE,QAAQ;EAAE,MAAM;EAAU,QAAQ;EAAkB,UAAU;CAAM;CACpE,YAAY;EAAE,MAAM;EAAe,QAAQ;EAAsB,UAAU;CAAM;CACjF,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAY,UAAU;CAAK;CACzD,SAAS;EAAE,MAAM;EAAW,QAAQ;EAAmB,UAAU;CAAM;CACvE,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAgB,UAAU;CAAK;AAC/D,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"brandMark.js","names":[],"sources":["../../src/recipes/brandMark.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { anatomy } from '#anatomy'\n\nconst brandMarkRecipe = cva('block size-tf-icon-solo-sm shrink-0')\n\nconst brandMarkAnatomy = anatomy({\n root: { part: 'brand-mark', recipe: brandMarkRecipe, required: true },\n})\n\nexport { brandMarkAnatomy, brandMarkRecipe }\n"],"mappings":";;;AAIA,MAAM,kBAAkB,IAAI,qCAAqC;AAEjE,MAAM,mBAAmB,QAAQ,EAC/B,MAAM;CAAE,MAAM;CAAc,QAAQ;CAAiB,UAAU;AAAK,EACtE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"button.js","names":[],"sources":["../../src/recipes/button.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { anatomy } from '#anatomy'\nimport type { ButtonSize } from '#control'\nimport {\n controlBase,\n controlBox,\n controlGap,\n controlInert,\n controlReach,\n controlSizes,\n hitArea,\n} from '#parts/control'\nimport { defaultTone, tones } from '#parts/tone'\nimport type { Tone } from '#tone'\nimport { toneBlend } from '#tone'\n\nimport { nebulaCloudRecipe, nebulaVeilRecipe } from './nebula'\n\nconst HIT_AREA = hitArea('after:h-tf-target')\n\nconst QUIET_HIT = hitArea('after:h-tf-target', 'after:w-tf-target')\n\nconst buttonFace = [\n 'isolate',\n 'justify-center',\n 'whitespace-nowrap',\n 'tracking-tf-tight',\n 'tf-cloud-md',\n]\n\nconst buttonSpinnerRecipe = cva([\n 'absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2',\n 'tf-arrives motion-reduce:transition-none',\n])\n\nconst buttonWordsRecipe = cva(\n [\n 'inline-flex items-center justify-center tf-text-trim',\n 'tf-crossfades motion-reduce:transition-none',\n 'in-data-loading:opacity-0',\n ],\n {\n defaultVariants: { size: 'md' },\n variants: { size: controlGap },\n },\n)\n\nconst buttonTempo = ['tf-blend-drift', 'tf-weather-trail']\n\nconst buttonGeometry = {\n lg: `${controlBox.lg} rounded-tf-card px-8 font-medium`,\n md: `${controlBox.md} rounded-tf-block px-6`,\n sm: `${controlBox.sm} px-4 ${HIT_AREA}`,\n xs: `${controlBox.xs} px-2 ${QUIET_HIT}`,\n} satisfies Record<ButtonSize, string>\n\ntype ButtonVariant =\n | 'primary'\n | 'secondary'\n | 'ghost'\n | 'danger'\n | 'success'\n | 'warning'\n | 'info'\n | 'link'\ntype ButtonAccent = Tone\n\nconst CLOUD = ['tf-cloud-brand', 'tf-clouded', 'interactive:hovered:tf-clouding'].join(' ')\nconst CLOUD_INK = ['tf-cloud-ink', 'tf-clouded', 'interactive:hovered:tf-clouding'].join(' ')\nconst CLOUD_ON_REACH = [\n 'tf-cloud-ink',\n 'tf-cloud-hidden',\n 'interactive:hovered:tf-clouding',\n 'interactive:hovered:tf-plated',\n].join(' ')\n\nconst BLEND = [\n 'bg-tf-blend',\n CLOUD,\n 'tf-edge-sweep tf-edge-milk tf-swept-top',\n 'tf-glow tf-lit-rest tf-settled',\n 'interactive:hovered:tf-blended',\n 'interactive:hovered:tf-milked',\n 'interactive:hovered:tf-lit-inside',\n 'interactive:hovered:tf-lifted',\n 'interactive:pressed:tf-pressed',\n 'motion-safe:interactive:pressed:tf-tilted',\n].join(' ')\nconst INK = [\n 'tf-ink-glide',\n 'data-loading:bg-none',\n '[&_svg]:tf-transition [&_svg]:text-tf-muted',\n].join(' ')\n\nconst MARK_ON_REACH = {\n accent: 'interactive:hovered:[&_svg]:text-tf-accent-hi',\n danger: 'interactive:hovered:[&_svg]:text-tf-danger-hi',\n info: 'interactive:hovered:[&_svg]:text-tf-info-hi',\n success: 'interactive:hovered:[&_svg]:text-tf-success-hi',\n warning: 'interactive:hovered:[&_svg]:text-tf-warning-hi',\n} satisfies Record<Tone, string>\n\nconst WORDS_ON_REACH = {\n accent: 'interactive:hovered:text-tf-accent-hi',\n danger: 'interactive:hovered:text-tf-danger-hi',\n info: 'interactive:hovered:text-tf-info-hi',\n success: 'interactive:hovered:text-tf-success-hi',\n warning: 'interactive:hovered:text-tf-warning-hi',\n} satisfies Record<Tone, string>\n\nconst FLAT_INK = 'text-tf-muted interactive:hovered:text-tf-fg'\n\nconst buttonPress = [\n 'motion-safe:interactive:pressed:translate-y-px',\n 'motion-reduce:interactive:pressed:brightness-95',\n]\n\nconst buttonRecipe = cva(\n [\n ...controlBase,\n ...buttonFace,\n ...buttonTempo,\n ...controlReach,\n ...buttonPress,\n ...controlInert,\n 'data-loading:opacity-100',\n ],\n {\n compoundVariants: [\n {\n class: 'tf-cloud-tight',\n variant: 'ghost',\n },\n ...tones.map((accent) => ({\n accent,\n class: `${toneBlend[accent]} ${WORDS_ON_REACH[accent]} ${MARK_ON_REACH[accent]}`,\n variant: 'ghost' as const,\n })),\n {\n class: FLAT_INK,\n iconOnly: true,\n variant: 'ghost',\n },\n {\n class: FLAT_INK,\n iconOnly: true,\n variant: 'secondary',\n },\n {\n class: 'px-0',\n iconOnly: true,\n },\n {\n class: 'tf-icons-solo [&_svg]:size-tf-icon-solo-xs',\n iconOnly: true,\n size: 'xs',\n },\n {\n class: 'tf-icons-solo [&_svg]:size-tf-icon-solo-sm',\n iconOnly: true,\n size: 'sm',\n },\n {\n class: 'tf-icons-solo [&_svg]:size-tf-icon-solo-md',\n iconOnly: true,\n size: 'md',\n },\n {\n class: 'tf-icons-solo [&_svg]:size-tf-icon-solo-lg',\n iconOnly: true,\n size: 'lg',\n },\n {\n class: 'pr-7',\n size: 'lg',\n trailing: true,\n },\n {\n class: 'pr-5',\n size: 'md',\n trailing: true,\n },\n {\n class: 'pr-3',\n size: 'sm',\n trailing: true,\n },\n {\n class: 'pl-7',\n leading: true,\n size: 'lg',\n },\n {\n class: 'pl-5',\n leading: true,\n size: 'md',\n },\n {\n class: 'pl-3',\n leading: true,\n size: 'sm',\n },\n {\n class: 'h-auto w-auto justify-start bg-transparent p-0 shadow-none outline-offset-4',\n variant: 'link',\n },\n ],\n defaultVariants: {\n accent: defaultTone,\n fullWidth: false,\n iconOnly: false,\n leading: false,\n size: 'md',\n trailing: false,\n variant: 'primary',\n },\n variants: {\n accent: {\n accent: '',\n danger: '',\n info: '',\n success: '',\n warning: '',\n } satisfies Record<ButtonAccent, string>,\n fullWidth: {\n false: '',\n true: 'w-full',\n },\n iconOnly: {\n false: '',\n true: 'aspect-square',\n },\n leading: {\n false: '',\n true: '',\n },\n size: buttonGeometry,\n trailing: {\n false: '',\n true: '',\n },\n variant: {\n danger: `${BLEND} text-tf-on-semantic blend-tf-danger`,\n ghost: `${INK} text-tf-fg tf-plated-quiet ${CLOUD_ON_REACH}`,\n info: `${BLEND} text-tf-on-semantic blend-tf-info`,\n link: 'text-tf-accent-hi underline underline-offset-2 interactive:hovered:text-tf-accent',\n primary: `${BLEND} text-tf-on-accent blend-tf-accent`,\n secondary: `${INK} text-tf-blend ${MARK_ON_REACH.accent} tf-glow tf-settled-quiet interactive:hovered:tf-blend-hushed interactive:hovered:tf-lit-rest ${CLOUD_INK} tf-blend-outline blend-tf-accent`,\n success: `${BLEND} text-tf-on-semantic blend-tf-success`,\n warning: `${BLEND} text-tf-on-semantic blend-tf-warning`,\n } satisfies Record<ButtonVariant, string>,\n },\n },\n)\n\nconst buttonVariants = [\n 'primary',\n 'secondary',\n 'ghost',\n 'success',\n 'warning',\n 'danger',\n 'info',\n 'link',\n] as const satisfies readonly ButtonVariant[]\n\nconst buttonSizes = ['xs', ...controlSizes] as const satisfies readonly ButtonSize[]\n\nconst buttonAccents = tones\n\nconst buttonAnatomy = anatomy({\n cloud: { part: 'cloud', recipe: nebulaCloudRecipe, required: false },\n nebula: { part: 'nebula', recipe: nebulaVeilRecipe, required: false },\n root: { part: 'button', recipe: buttonRecipe, required: true },\n spinner: { part: 'spinner', recipe: buttonSpinnerRecipe, required: false },\n words: { part: 'words', recipe: buttonWordsRecipe, required: false },\n})\n\nexport {\n type ButtonAccent,\n type ButtonVariant,\n buttonAccents,\n buttonAnatomy,\n buttonRecipe,\n buttonSizes,\n buttonSpinnerRecipe,\n buttonVariants,\n buttonWordsRecipe,\n}\n"],"mappings":";;;;;;;AAmBA,MAAM,WAAW,QAAQ,mBAAmB;AAE5C,MAAM,YAAY,QAAQ,qBAAqB,mBAAmB;AAElE,MAAM,aAAa;CACjB;CACA;CACA;CACA;CACA;AACF;AAEA,MAAM,sBAAsB,IAAI,CAC9B,+DACA,0CACF,CAAC;AAED,MAAM,oBAAoB,IACxB;CACE;CACA;CACA;AACF,GACA;CACE,iBAAiB,EAAE,MAAM,KAAK;CAC9B,UAAU,EAAE,MAAM,WAAW;AAC/B,CACF;AAEA,MAAM,cAAc,CAAC,kBAAkB,kBAAkB;AAEzD,MAAM,iBAAiB;CACrB,IAAI,GAAG,WAAW,GAAG;CACrB,IAAI,GAAG,WAAW,GAAG;CACrB,IAAI,GAAG,WAAW,GAAG,QAAQ;CAC7B,IAAI,GAAG,WAAW,GAAG,QAAQ;AAC/B;AAaA,MAAM,QAAQ;CAAC;CAAkB;CAAc;AAAiC,CAAC,CAAC,KAAK,GAAG;AAC1F,MAAM,YAAY;CAAC;CAAgB;CAAc;AAAiC,CAAC,CAAC,KAAK,GAAG;AAC5F,MAAM,iBAAiB;CACrB;CACA;CACA;CACA;AACF,CAAC,CAAC,KAAK,GAAG;AAEV,MAAM,QAAQ;CACZ;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC,CAAC,KAAK,GAAG;AACV,MAAM,MAAM;CACV;CACA;CACA;AACF,CAAC,CAAC,KAAK,GAAG;AAEV,MAAM,gBAAgB;CACpB,QAAQ;CACR,QAAQ;CACR,MAAM;CACN,SAAS;CACT,SAAS;AACX;AAEA,MAAM,iBAAiB;CACrB,QAAQ;CACR,QAAQ;CACR,MAAM;CACN,SAAS;CACT,SAAS;AACX;AAEA,MAAM,WAAW;AAEjB,MAAM,cAAc,CAClB,kDACA,iDACF;AAEA,MAAM,eAAe,IACnB;CACE,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH;AACF,GACA;CACE,kBAAkB;EAChB;GACE,OAAO;GACP,SAAS;EACX;EACA,GAAG,MAAM,KAAK,YAAY;GACxB;GACA,OAAO,GAAG,UAAU,QAAQ,GAAG,eAAe,QAAQ,GAAG,cAAc;GACvE,SAAS;EACX,EAAE;EACF;GACE,OAAO;GACP,UAAU;GACV,SAAS;EACX;EACA;GACE,OAAO;GACP,UAAU;GACV,SAAS;EACX;EACA;GACE,OAAO;GACP,UAAU;EACZ;EACA;GACE,OAAO;GACP,UAAU;GACV,MAAM;EACR;EACA;GACE,OAAO;GACP,UAAU;GACV,MAAM;EACR;EACA;GACE,OAAO;GACP,UAAU;GACV,MAAM;EACR;EACA;GACE,OAAO;GACP,UAAU;GACV,MAAM;EACR;EACA;GACE,OAAO;GACP,MAAM;GACN,UAAU;EACZ;EACA;GACE,OAAO;GACP,MAAM;GACN,UAAU;EACZ;EACA;GACE,OAAO;GACP,MAAM;GACN,UAAU;EACZ;EACA;GACE,OAAO;GACP,SAAS;GACT,MAAM;EACR;EACA;GACE,OAAO;GACP,SAAS;GACT,MAAM;EACR;EACA;GACE,OAAO;GACP,SAAS;GACT,MAAM;EACR;EACA;GACE,OAAO;GACP,SAAS;EACX;CACF;CACA,iBAAiB;EACf,QAAQ;EACR,WAAW;EACX,UAAU;EACV,SAAS;EACT,MAAM;EACN,UAAU;EACV,SAAS;CACX;CACA,UAAU;EACR,QAAQ;GACN,QAAQ;GACR,QAAQ;GACR,MAAM;GACN,SAAS;GACT,SAAS;EACX;EACA,WAAW;GACT,OAAO;GACP,MAAM;EACR;EACA,UAAU;GACR,OAAO;GACP,MAAM;EACR;EACA,SAAS;GACP,OAAO;GACP,MAAM;EACR;EACA,MAAM;EACN,UAAU;GACR,OAAO;GACP,MAAM;EACR;EACA,SAAS;GACP,QAAQ,GAAG,MAAM;GACjB,OAAO,GAAG,IAAI,8BAA8B;GAC5C,MAAM,GAAG,MAAM;GACf,MAAM;GACN,SAAS,GAAG,MAAM;GAClB,WAAW,GAAG,IAAI,iBAAiB,cAAc,OAAO,gGAAgG,UAAU;GAClK,SAAS,GAAG,MAAM;GAClB,SAAS,GAAG,MAAM;EACpB;CACF;AACF,CACF;AAEA,MAAM,iBAAiB;CACrB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AAEA,MAAM,cAAc,CAAC,MAAM,GAAG,YAAY;AAE1C,MAAM,gBAAgB;AAEtB,MAAM,gBAAgB,QAAQ;CAC5B,OAAO;EAAE,MAAM;EAAS,QAAQ;EAAmB,UAAU;CAAM;CACnE,QAAQ;EAAE,MAAM;EAAU,QAAQ;EAAkB,UAAU;CAAM;CACpE,MAAM;EAAE,MAAM;EAAU,QAAQ;EAAc,UAAU;CAAK;CAC7D,SAAS;EAAE,MAAM;EAAW,QAAQ;EAAqB,UAAU;CAAM;CACzE,OAAO;EAAE,MAAM;EAAS,QAAQ;EAAmB,UAAU;CAAM;AACrE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cardHeader.js","names":[],"sources":["../../src/recipes/cardHeader.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { anatomy } from '#anatomy'\n\ntype CardHeaderRank = 'card' | 'module'\n\nconst defaultCardHeaderRank = 'card' satisfies CardHeaderRank\n\nconst cardHeaderRanks = ['card', 'module'] as const satisfies readonly CardHeaderRank[]\n\nconst cardHeaderRecipe = cva('flex min-w-0 items-center gap-4')\n\nconst cardHeaderStackRecipe = cva('flex min-w-0 flex-col gap-0')\n\nconst cardHeaderActionRecipe = cva('ml-auto flex-none')\n\nconst cardHeaderAnatomy = anatomy({\n action: { part: 'action', recipe: cardHeaderActionRecipe, required: false },\n root: { part: 'card-header', recipe: cardHeaderRecipe, required: true },\n stack: { part: 'stack', recipe: cardHeaderStackRecipe, required: true },\n})\n\nexport {\n type CardHeaderRank,\n cardHeaderActionRecipe,\n cardHeaderAnatomy,\n cardHeaderRanks,\n cardHeaderRecipe,\n cardHeaderStackRecipe,\n defaultCardHeaderRank,\n}\n"],"mappings":";;;AAMA,MAAM,wBAAwB;AAE9B,MAAM,kBAAkB,CAAC,QAAQ,QAAQ;AAEzC,MAAM,mBAAmB,IAAI,iCAAiC;AAE9D,MAAM,wBAAwB,IAAI,6BAA6B;AAE/D,MAAM,yBAAyB,IAAI,mBAAmB;AAEtD,MAAM,oBAAoB,QAAQ;CAChC,QAAQ;EAAE,MAAM;EAAU,QAAQ;EAAwB,UAAU;CAAM;CAC1E,MAAM;EAAE,MAAM;EAAe,QAAQ;EAAkB,UAAU;CAAK;CACtE,OAAO;EAAE,MAAM;EAAS,QAAQ;EAAuB,UAAU;CAAK;AACxE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox.js","names":[],"sources":["../../src/recipes/checkbox.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { anatomy } from '#anatomy'\nimport type { MarkPlate } from '#mark'\nimport { defaultMarkPlate, markPlates } from '#mark'\nimport {\n markBox,\n markFailed,\n markPlate,\n markPlated,\n markPress,\n markRow,\n markSquare,\n markStack,\n markTitle,\n} from '#parts/mark'\nimport { defaultTone, tones } from '#parts/tone'\nimport type { Tone } from '#tone'\nimport { toneBlend } from '#tone'\n\nconst checkboxAccents = tones\n\ntype CheckboxAccent = Tone\n\nconst defaultCheckboxAccent = defaultTone\n\nconst FILL = ['bg-tf-sunken', 'tf-ramp']\n\nconst OFF = ['data-[state=unchecked]:interactive:not-data-readonly:hovered:bg-tf-sunken-hi']\n\nconst ON = [\n 'data-[state=checked]:tf-mark-lit',\n 'data-[state=checked]:bg-tf-blend',\n 'data-[state=checked]:text-tf-on-accent',\n 'data-[state=checked]:tf-icons-solo',\n 'data-[state=checked]:interactive:not-data-readonly:hovered:tf-blended',\n]\n\nconst MIXED = [\n 'data-[state=indeterminate]:tf-mark-lit',\n 'data-[state=indeterminate]:bg-tf-blend',\n 'data-[state=indeterminate]:text-tf-on-accent',\n 'data-[state=indeterminate]:interactive:not-data-readonly:hovered:tf-blended',\n]\n\nconst GAPS = { bare: 'gap-2', full: 'gap-3', snug: 'gap-2' } satisfies Record<MarkPlate, string>\n\nconst platedRows = markPlates.map((plate) => ({\n class: `${GAPS[plate]} ${markPlate[plate]} ${markPlated[plate]}`,\n labelled: true,\n plate,\n}))\n\nconst platedSquares = markPlates.map((plate) => ({\n class: `${markSquare[plate]} ${markPlated[plate]}`,\n labelled: false,\n plate,\n}))\n\nconst checkboxRecipe = cva(markRow, {\n compoundVariants: [...platedRows, ...platedSquares],\n defaultVariants: { labelled: true, plate: defaultMarkPlate },\n variants: {\n labelled: { false: '', true: '' },\n plate: { bare: '', full: '', snug: '' } satisfies Record<MarkPlate, string>,\n },\n})\n\nconst checkboxControlRecipe = cva(\n [...markBox, 'rounded-tf-inline', markPress, ...FILL, ...OFF, ...ON, ...MIXED],\n {\n compoundVariants: [{ class: toneBlend.danger, invalid: true }],\n defaultVariants: { accent: defaultCheckboxAccent, invalid: false },\n variants: {\n accent: toneBlend,\n invalid: { false: '', true: markFailed },\n },\n },\n)\n\nconst checkboxIndicatorRecipe = cva('inline-flex tf-mark-draws items-center justify-center')\n\nconst checkboxMarkRecipe = cva('size-tf-mark-glyph')\n\nconst checkboxDashRecipe = cva([\n 'block h-[calc(var(--spacing-tf-hairline)*2)] w-tf-mark-dot rounded-tf-pill',\n 'bg-tf-on-accent',\n])\n\nconst checkboxLabelRecipe = cva([...markStack, 'flex-1'], {\n defaultVariants: { hidden: false },\n variants: {\n hidden: { false: '', true: 'sr-only' },\n },\n})\n\nconst checkboxTitleRecipe = cva(markTitle)\n\nconst checkboxHintRecipe = cva('text-tf-caption font-medium', {\n defaultVariants: { invalid: false },\n variants: {\n invalid: { false: 'text-tf-muted', true: 'text-tf-danger-hi tf-arrives' },\n },\n})\n\nconst checkboxAnatomy = anatomy({\n dash: { part: 'dash', recipe: checkboxDashRecipe, required: true },\n root: { part: 'checkbox', recipe: checkboxRecipe, required: true },\n})\n\nexport {\n type CheckboxAccent,\n checkboxAccents,\n checkboxAnatomy,\n checkboxControlRecipe,\n checkboxDashRecipe,\n checkboxHintRecipe,\n checkboxIndicatorRecipe,\n checkboxLabelRecipe,\n checkboxMarkRecipe,\n checkboxRecipe,\n checkboxTitleRecipe,\n defaultCheckboxAccent,\n}\n"],"mappings":";;;;;;;AAoBA,MAAM,kBAAkB;AAIxB,MAAM,wBAAwB;AAE9B,MAAM,OAAO,CAAC,gBAAgB,SAAS;AAEvC,MAAM,MAAM,CAAC,8EAA8E;AAE3F,MAAM,KAAK;CACT;CACA;CACA;CACA;CACA;AACF;AAEA,MAAM,QAAQ;CACZ;CACA;CACA;CACA;AACF;AAEA,MAAM,OAAO;CAAE,MAAM;CAAS,MAAM;CAAS,MAAM;AAAQ;AAE3D,MAAM,aAAa,WAAW,KAAK,WAAW;CAC5C,OAAO,GAAG,KAAK,OAAO,GAAG,UAAU,OAAO,GAAG,WAAW;CACxD,UAAU;CACV;AACF,EAAE;AAEF,MAAM,gBAAgB,WAAW,KAAK,WAAW;CAC/C,OAAO,GAAG,WAAW,OAAO,GAAG,WAAW;CAC1C,UAAU;CACV;AACF,EAAE;AAEF,MAAM,iBAAiB,IAAI,SAAS;CAClC,kBAAkB,CAAC,GAAG,YAAY,GAAG,aAAa;CAClD,iBAAiB;EAAE,UAAU;EAAM,OAAO;CAAiB;CAC3D,UAAU;EACR,UAAU;GAAE,OAAO;GAAI,MAAM;EAAG;EAChC,OAAO;GAAE,MAAM;GAAI,MAAM;GAAI,MAAM;EAAG;CACxC;AACF,CAAC;AAED,MAAM,wBAAwB,IAC5B;CAAC,GAAG;CAAS;CAAqB;CAAW,GAAG;CAAM,GAAG;CAAK,GAAG;CAAI,GAAG;AAAK,GAC7E;CACE,kBAAkB,CAAC;EAAE,OAAO,UAAU;EAAQ,SAAS;CAAK,CAAC;CAC7D,iBAAiB;EAAE,QAAQ;EAAuB,SAAS;CAAM;CACjE,UAAU;EACR,QAAQ;EACR,SAAS;GAAE,OAAO;GAAI,MAAM;EAAW;CACzC;AACF,CACF;AAEA,MAAM,0BAA0B,IAAI,uDAAuD;AAE3F,MAAM,qBAAqB,IAAI,oBAAoB;AAEnD,MAAM,qBAAqB,IAAI,CAC7B,8EACA,iBACF,CAAC;AAED,MAAM,sBAAsB,IAAI,CAAC,GAAG,WAAW,QAAQ,GAAG;CACxD,iBAAiB,EAAE,QAAQ,MAAM;CACjC,UAAU,EACR,QAAQ;EAAE,OAAO;EAAI,MAAM;CAAU,EACvC;AACF,CAAC;AAED,MAAM,sBAAsB,IAAI,SAAS;AAEzC,MAAM,qBAAqB,IAAI,+BAA+B;CAC5D,iBAAiB,EAAE,SAAS,MAAM;CAClC,UAAU,EACR,SAAS;EAAE,OAAO;EAAiB,MAAM;CAA+B,EAC1E;AACF,CAAC;AAED,MAAM,kBAAkB,QAAQ;CAC9B,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAoB,UAAU;CAAK;CACjE,MAAM;EAAE,MAAM;EAAY,QAAQ;EAAgB,UAAU;CAAK;AACnE,CAAC"}
|
package/dist/recipes/chip.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chip.js","names":[],"sources":["../../src/recipes/chip.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { anatomy } from '#anatomy'\nimport { controlPress, controlReach, hitArea } from '#parts/control'\n\ntype ChipTone = 'quiet' | 'outline' | 'tint'\n\ntype ChipSize = 'sm' | 'md'\n\ntype ChipAccent = 'neutral' | 'accent' | 'info' | 'success' | 'warning' | 'danger'\n\nconst defaultChipTone = 'quiet' satisfies ChipTone\n\nconst defaultChipSize = 'md' satisfies ChipSize\n\nconst defaultChipAccent = 'neutral' satisfies ChipAccent\n\nconst chipTones = ['quiet', 'outline', 'tint'] as const satisfies readonly ChipTone[]\n\nconst chipSizes = ['sm', 'md'] as const satisfies readonly ChipSize[]\n\nconst chipAccents = [\n 'neutral',\n 'accent',\n 'info',\n 'success',\n 'warning',\n 'danger',\n] as const satisfies readonly ChipAccent[]\n\nconst HIT_AREA = hitArea('after:h-tf-target')\n\nconst TINT = {\n accent: 'bg-tf-accent-tint text-tf-accent-hi [--tf-mark-rest:var(--color-tf-accent-edge)]',\n danger: 'bg-tf-danger-tint text-tf-danger-hi [--tf-mark-rest:var(--color-tf-danger-edge)]',\n info: 'bg-tf-info-tint text-tf-info-hi [--tf-mark-rest:var(--color-tf-info-edge)]',\n neutral: 'bg-tf-panel text-tf-fg',\n success: 'bg-tf-success-tint text-tf-success-hi [--tf-mark-rest:var(--color-tf-success-edge)]',\n warning: 'bg-tf-warning-tint text-tf-warning-hi [--tf-mark-rest:var(--color-tf-warning-edge)]',\n} satisfies Record<ChipAccent, string>\n\nconst OUTLINE = {\n accent: 'text-tf-accent-hi blend-tf-accent',\n danger: 'text-tf-danger-hi blend-tf-danger',\n info: 'text-tf-info-hi blend-tf-info',\n neutral: 'text-tf-fg blend-tf-accent',\n success: 'text-tf-success-hi blend-tf-success',\n warning: 'text-tf-warning-hi blend-tf-warning',\n} satisfies Record<ChipAccent, string>\n\nconst LEAVES = [\n 'motion-safe:tf-chip-arrives',\n 'data-[state=closed]:overflow-hidden',\n 'data-[state=closed]:**:data-[part=label]:flex-none',\n 'data-[state=closed]:motion-safe:tf-chip-departs',\n 'motion-reduce:animate-none',\n].join(' ')\n\nconst chipRecipe = cva(\n [\n 'relative isolate inline-flex max-w-full min-w-0 flex-none items-center rounded-tf-pill',\n 'font-tf-body font-medium whitespace-nowrap',\n 'tf-icons [&>svg]:shrink-0',\n 'data-disabled:opacity-50',\n 'tf-transition motion-reduce:transition-none',\n ],\n {\n compoundVariants: [\n ...chipAccents.map((accent) => ({ accent, class: TINT[accent], tone: 'tint' as const })),\n ...chipAccents.map((accent) => ({\n accent,\n class: OUTLINE[accent],\n tone: 'outline' as const,\n })),\n ],\n defaultVariants: {\n accent: defaultChipAccent,\n removable: false,\n size: defaultChipSize,\n tone: defaultChipTone,\n },\n variants: {\n accent: {\n accent: '',\n danger: '',\n info: '',\n neutral: '',\n success: '',\n warning: '',\n } satisfies Record<ChipAccent, string>,\n removable: { false: '', true: LEAVES },\n size: {\n md: 'h-tf-row gap-2 px-3 text-tf-body-sm [&>svg]:size-tf-icon-sm',\n sm: 'h-tf-chip-sm gap-1.5 px-2 text-tf-caption-sm [&>svg]:size-tf-icon-2xs',\n } satisfies Record<ChipSize, string>,\n tone: {\n outline: 'tf-blend-outline',\n quiet: 'bg-tf-panel text-tf-fg tf-mark-edge',\n tint: 'tf-mark-edge **:data-[part=count]:text-current',\n } satisfies Record<ChipTone, string>,\n },\n },\n)\n\nconst chipDotRecipe = cva('size-2 flex-none rounded-tf-pill', {\n defaultVariants: { accent: defaultChipAccent },\n variants: {\n accent: {\n accent: 'bg-tf-accent-hi',\n danger: 'bg-tf-danger-hi',\n info: 'bg-tf-info-hi',\n neutral: 'bg-tf-muted',\n success: 'bg-tf-success-hi',\n warning: 'bg-tf-warning-hi',\n } satisfies Record<ChipAccent, string>,\n },\n})\n\nconst chipTextRecipe = cva('flex min-w-0 items-baseline gap-[inherit]')\n\nconst chipLabelRecipe = cva('min-w-0 truncate')\n\nconst chipCountRecipe = cva('flex-none font-mono text-tf-caption-sm text-tf-muted tabular-nums')\n\nconst CLOSE_HELD = [\n 'disabled:cursor-not-allowed',\n 'aria-disabled:cursor-not-allowed',\n 'data-disabled:cursor-not-allowed',\n]\n\nconst chipCloseRecipe = cva([\n 'relative inline-flex size-tf-icon-md flex-none items-center justify-center rounded-tf-pill',\n '[&_svg]:size-tf-icon-2xs [&_svg]:shrink-0',\n 'text-tf-muted interactive:hovered:bg-tf-panel-hi interactive:hovered:text-tf-fg',\n 'cursor-pointer tf-transition motion-reduce:transition-none',\n HIT_AREA,\n ...controlReach,\n ...controlPress,\n ...CLOSE_HELD,\n])\n\nconst chipAnatomy = anatomy({\n close: { part: 'close', recipe: chipCloseRecipe, required: false },\n count: { part: 'count', recipe: chipCountRecipe, required: false },\n dot: { part: 'dot', recipe: chipDotRecipe, required: false },\n label: { part: 'label', recipe: chipLabelRecipe, required: true },\n root: { part: 'chip', recipe: chipRecipe, required: true },\n text: { part: 'text', recipe: chipTextRecipe, required: true },\n})\n\nexport {\n type ChipAccent,\n type ChipSize,\n type ChipTone,\n chipAccents,\n chipAnatomy,\n chipCloseRecipe,\n chipCountRecipe,\n chipDotRecipe,\n chipLabelRecipe,\n chipRecipe,\n chipSizes,\n chipTextRecipe,\n chipTones,\n defaultChipAccent,\n defaultChipSize,\n defaultChipTone,\n}\n"],"mappings":";;;;AAWA,MAAM,kBAAkB;AAExB,MAAM,kBAAkB;AAExB,MAAM,oBAAoB;AAE1B,MAAM,YAAY;CAAC;CAAS;CAAW;AAAM;AAE7C,MAAM,YAAY,CAAC,MAAM,IAAI;AAE7B,MAAM,cAAc;CAClB;CACA;CACA;CACA;CACA;CACA;AACF;AAEA,MAAM,WAAW,QAAQ,mBAAmB;AAE5C,MAAM,OAAO;CACX,QAAQ;CACR,QAAQ;CACR,MAAM;CACN,SAAS;CACT,SAAS;CACT,SAAS;AACX;AAEA,MAAM,UAAU;CACd,QAAQ;CACR,QAAQ;CACR,MAAM;CACN,SAAS;CACT,SAAS;CACT,SAAS;AACX;AAEA,MAAM,SAAS;CACb;CACA;CACA;CACA;CACA;AACF,CAAC,CAAC,KAAK,GAAG;AAEV,MAAM,aAAa,IACjB;CACE;CACA;CACA;CACA;CACA;AACF,GACA;CACE,kBAAkB,CAChB,GAAG,YAAY,KAAK,YAAY;EAAE;EAAQ,OAAO,KAAK;EAAS,MAAM;CAAgB,EAAE,GACvF,GAAG,YAAY,KAAK,YAAY;EAC9B;EACA,OAAO,QAAQ;EACf,MAAM;CACR,EAAE,CACJ;CACA,iBAAiB;EACf,QAAQ;EACR,WAAW;EACX,MAAA;EACA,MAAM;CACR;CACA,UAAU;EACR,QAAQ;GACN,QAAQ;GACR,QAAQ;GACR,MAAM;GACN,SAAS;GACT,SAAS;GACT,SAAS;EACX;EACA,WAAW;GAAE,OAAO;GAAI,MAAM;EAAO;EACrC,MAAM;GACJ,IAAI;GACJ,IAAI;EACN;EACA,MAAM;GACJ,SAAS;GACT,OAAO;GACP,MAAM;EACR;CACF;AACF,CACF;AAEA,MAAM,gBAAgB,IAAI,oCAAoC;CAC5D,iBAAiB,EAAE,QAAQ,kBAAkB;CAC7C,UAAU,EACR,QAAQ;EACN,QAAQ;EACR,QAAQ;EACR,MAAM;EACN,SAAS;EACT,SAAS;EACT,SAAS;CACX,EACF;AACF,CAAC;AAED,MAAM,iBAAiB,IAAI,2CAA2C;AAEtE,MAAM,kBAAkB,IAAI,kBAAkB;AAE9C,MAAM,kBAAkB,IAAI,mEAAmE;AAE/F,MAAM,aAAa;CACjB;CACA;CACA;AACF;AAEA,MAAM,kBAAkB,IAAI;CAC1B;CACA;CACA;CACA;CACA;CACA,GAAG;CACH,GAAG;CACH,GAAG;AACL,CAAC;AAED,MAAM,cAAc,QAAQ;CAC1B,OAAO;EAAE,MAAM;EAAS,QAAQ;EAAiB,UAAU;CAAM;CACjE,OAAO;EAAE,MAAM;EAAS,QAAQ;EAAiB,UAAU;CAAM;CACjE,KAAK;EAAE,MAAM;EAAO,QAAQ;EAAe,UAAU;CAAM;CAC3D,OAAO;EAAE,MAAM;EAAS,QAAQ;EAAiB,UAAU;CAAK;CAChE,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAY,UAAU;CAAK;CACzD,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAgB,UAAU;CAAK;AAC/D,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"codeEditor.js","names":[],"sources":["../../src/recipes/codeEditor.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { anatomy } from '#anatomy'\n\nconst PAD = 'calc(var(--spacing) * 4)'\n\nconst LIFT = 'var(--color-tf-panel-2)'\n\nconst LEADING = 'var(--text-tf-caption-sm--line-height)'\n\nconst codeEditorRecipe = cva([\n 'relative isolate w-full overflow-hidden rounded-tf-control',\n 'empty:min-h-(--tf-code-height)',\n 'bg-tf-sunken font-tf-body blend-tf-accent',\n 'tf-edge-sweep tf-edge-plain reached:tf-edge-lit',\n 'tf-transition motion-reduce:transition-none',\n])\n\nconst codeEditorTheme = {\n '&': {\n backgroundColor: 'transparent',\n color: 'var(--color-tf-fg)',\n fontSize: 'var(--text-tf-caption-sm)',\n lineHeight: LEADING,\n maxHeight: 'var(--tf-code-height)',\n },\n '&.cm-focused': { outline: 'none' },\n '&:not(.cm-focused) .cm-activeLine': { backgroundColor: 'transparent' },\n '&:not(.cm-focused) .cm-activeLineGutter': {\n backgroundColor: 'transparent',\n color: 'inherit',\n },\n '.cm-activeLine': { backgroundColor: LIFT },\n '.cm-activeLineGutter': { backgroundColor: LIFT, color: 'var(--color-tf-fg)' },\n '.cm-content': {\n caretColor: 'var(--color-tf-accent-hi)',\n fontFamily: 'var(--font-mono)',\n padding: '0',\n },\n '.cm-cursor': { borderLeftColor: 'var(--color-tf-accent-hi)' },\n '.cm-gutters': {\n backgroundColor: 'transparent',\n border: 'none',\n color: 'var(--color-tf-muted)',\n fontFamily: 'var(--font-mono)',\n paddingLeft: PAD,\n },\n '.cm-line': {\n padding: `0 ${PAD}`,\n transition: 'background-color var(--tf-timing-quick)',\n },\n '.cm-lineNumbers .cm-gutterElement': { minWidth: 'calc(var(--spacing) * 4)' },\n '.cm-placeholder': { color: 'var(--color-tf-muted)' },\n '.cm-scroller': {\n fontFamily: 'inherit',\n lineHeight: LEADING,\n overflow: 'auto',\n padding: `${PAD} 0`,\n scrollbarColor: 'var(--color-tf-line-hi) transparent',\n scrollbarWidth: 'thin',\n },\n '.cm-selectionBackground': { backgroundColor: 'var(--color-tf-control) !important' },\n}\n\nconst codeSyntaxColors = {\n key: 'var(--color-tf-info-hi)',\n literal: 'var(--color-tf-accent-hi)',\n number: 'var(--color-tf-warning-hi)',\n punctuation: 'var(--color-tf-muted)',\n text: 'var(--color-tf-success-hi)',\n}\n\nconst codeEditorAnatomy = anatomy({\n root: { part: 'code-editor', recipe: codeEditorRecipe, required: true },\n})\n\nexport { codeEditorAnatomy, codeEditorRecipe, codeEditorTheme, codeSyntaxColors }\n"],"mappings":";;;AAIA,MAAM,MAAM;AAEZ,MAAM,OAAO;AAEb,MAAM,UAAU;AAEhB,MAAM,mBAAmB,IAAI;CAC3B;CACA;CACA;CACA;CACA;AACF,CAAC;AAED,MAAM,kBAAkB;CACtB,KAAK;EACH,iBAAiB;EACjB,OAAO;EACP,UAAU;EACV,YAAY;EACZ,WAAW;CACb;CACA,gBAAgB,EAAE,SAAS,OAAO;CAClC,qCAAqC,EAAE,iBAAiB,cAAc;CACtE,2CAA2C;EACzC,iBAAiB;EACjB,OAAO;CACT;CACA,kBAAkB,EAAE,iBAAiB,KAAK;CAC1C,wBAAwB;EAAE,iBAAiB;EAAM,OAAO;CAAqB;CAC7E,eAAe;EACb,YAAY;EACZ,YAAY;EACZ,SAAS;CACX;CACA,cAAc,EAAE,iBAAiB,4BAA4B;CAC7D,eAAe;EACb,iBAAiB;EACjB,QAAQ;EACR,OAAO;EACP,YAAY;EACZ,aAAa;CACf;CACA,YAAY;EACV,SAAS,KAAK;EACd,YAAY;CACd;CACA,qCAAqC,EAAE,UAAU,2BAA2B;CAC5E,mBAAmB,EAAE,OAAO,wBAAwB;CACpD,gBAAgB;EACd,YAAY;EACZ,YAAY;EACZ,UAAU;EACV,SAAS,GAAG,IAAI;EAChB,gBAAgB;EAChB,gBAAgB;CAClB;CACA,2BAA2B,EAAE,iBAAiB,qCAAqC;AACrF;AAEA,MAAM,mBAAmB;CACvB,KAAK;CACL,SAAS;CACT,QAAQ;CACR,aAAa;CACb,MAAM;AACR;AAEA,MAAM,oBAAoB,QAAQ,EAChC,MAAM;CAAE,MAAM;CAAe,QAAQ;CAAkB,UAAU;AAAK,EACxE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"datePicker.js","names":[],"sources":["../../src/recipes/datePicker.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { anatomy } from '#anatomy'\nimport type { FieldSize } from '#control'\nimport { defaultFieldSize } from '#control'\nimport {\n controlInert,\n controlPress,\n controlQuiet,\n controlQuietIcon,\n controlReach,\n} from '#parts/control'\nimport { eyebrowQuiet } from '#parts/eyebrow'\nimport { ruleQuiet } from '#parts/rule'\n\nimport { fieldFootRecipe, fieldRecipe, leadingRecipe, trailingActionRecipe } from './field'\nimport { labelRoom, TRAILING_INSET } from './input'\n\ntype DatePickerMode = 'single' | 'range'\n\nconst defaultDatePickerMode = 'single' satisfies DatePickerMode\n\nconst datePickerModes = ['single', 'range'] as const satisfies readonly DatePickerMode[]\n\ntype DatePickerRangePreset =\n | 'thisWeek'\n | 'lastWeek'\n | 'thisMonth'\n | 'lastMonth'\n | 'thisQuarter'\n | 'lastQuarter'\n | 'thisYear'\n | 'lastYear'\n | 'last3Days'\n | 'last7Days'\n | 'last14Days'\n | 'last30Days'\n | 'last90Days'\n\nconst datePickerRangePresets = [\n 'thisWeek',\n 'lastWeek',\n 'thisMonth',\n 'lastMonth',\n 'thisQuarter',\n 'lastQuarter',\n 'thisYear',\n 'lastYear',\n 'last3Days',\n 'last7Days',\n 'last14Days',\n 'last30Days',\n 'last90Days',\n] as const satisfies readonly DatePickerRangePreset[]\n\nconst datePickerRowRecipe = cva(\n [\n 'data-[state=open]:bg-tf-sunken-hi data-[state=open]:tf-edge-lit',\n 'data-[state=open]:**:data-[part=leading]:text-tf-accent-hi',\n 'data-[state=open]:**:data-[part=leading]:stroke-tf-ink',\n 'data-[state=open]:**:data-[part=trigger]:text-tf-accent-hi',\n 'data-[state=open]:**:data-[part=trigger]:stroke-tf-ink',\n 'reached:**:data-[part=trigger]:text-tf-accent-hi',\n 'reached:**:data-[part=trigger]:stroke-tf-ink',\n 'reached:**:data-[part=dash]:opacity-100',\n 'reached:**:data-[part=dash]:delay-(--tf-duration-1)',\n ],\n {\n defaultVariants: { ranged: false },\n variants: {\n ranged: { false: '', true: 'w-fit max-w-full min-w-60' },\n },\n },\n)\n\nconst datePickerTriggerRecipe = cva([trailingActionRecipe(), 'data-[state=open]:rotate-180'])\n\nconst datePickerDashRecipe = cva(\n [\n 'flex flex-none items-center self-stretch px-2',\n 'text-tf-body-sm font-medium text-tf-muted',\n 'tf-transition motion-reduce:transition-none',\n ],\n {\n compoundVariants: [\n { class: labelRoom.lg, labelled: true, size: 'lg' },\n { class: labelRoom.md, labelled: true, size: 'md' },\n ],\n defaultVariants: { filled: false, labelled: true, size: defaultFieldSize },\n variants: {\n filled: { false: 'opacity-0', true: 'opacity-100' },\n labelled: { false: 'py-0', true: '' },\n size: { lg: '', md: '' } satisfies Record<FieldSize, string>,\n },\n },\n)\n\nconst TRIGGER_ROOM = TRAILING_INSET\n\nconst datePickerStartRecipe = cva('field-sizing-content h-full w-auto min-w-36 pr-0 tabular-nums')\n\nconst datePickerEndRecipe = cva([\n 'field-sizing-content h-full w-auto min-w-36 pl-0 tabular-nums',\n TRIGGER_ROOM,\n])\n\nconst datePickerValueRecipe = cva(['tabular-nums', TRIGGER_ROOM])\n\nconst datePickerContentRecipe = cva([\n 'w-tf-panel max-w-[calc(100vw-2rem)] overflow-hidden px-0',\n 'blend-tf-accent',\n])\n\nconst datePickerViewsRecipe = cva('flex min-h-(--container-tf-panel) flex-col')\n\nconst datePickerViewRecipe = cva('flex flex-1 flex-col tf-arrives motion-reduce:transition-none')\n\nconst datePickerHeadRecipe = cva('relative flex flex-none items-center justify-between gap-2 p-2')\n\nconst datePickerRuleRecipe = cva(`absolute inset-x-0 bottom-0 ${ruleQuiet}`)\n\nconst datePickerNavRecipe = cva(controlQuietIcon)\n\nconst datePickerViewTriggerRecipe = cva([\n 'inline-flex h-tf-control-sm items-center gap-2 rounded-tf-control px-3',\n 'font-tf-display text-tf-body-sm font-medium text-tf-fg',\n 'tf-icons [&_svg]:size-tf-icon-sm [&_svg]:shrink-0',\n ...controlQuiet,\n ...controlReach,\n ...controlPress,\n ...controlInert,\n])\n\nconst PAGING = [\n 'data-[going=forward]:[--tf-page-from:calc(var(--spacing)*4)]',\n 'data-[going=back]:[--tf-page-from:calc(var(--spacing)*-4)]',\n 'data-[step=a]:motion-safe:animate-tf-page',\n 'data-[step=b]:motion-safe:animate-tf-page-again',\n]\n\nconst datePickerRangeTextRecipe = cva([\n 'inline-flex min-w-36 items-center justify-center gap-2',\n ...PAGING,\n])\n\nconst datePickerBodyRecipe = cva(['flex flex-1 flex-col px-3 pt-3 pb-1', ...PAGING])\n\nconst datePickerGridRecipe = cva([\n 'w-full flex-1 table-fixed border-separate border-spacing-1',\n 'has-data-[in-hover-range]:**:data-[part=table-cell-trigger]:transition-none',\n])\n\nconst datePickerWeekCellRecipe = cva([`h-tf-row text-tf-caption-sm ${eyebrowQuiet}`])\n\nconst DAY_BAND = [\n 'not-data-selected:not-data-[hover-range-start]:not-data-[hover-range-end]:data-[in-range]:bg-tf-accent-tint',\n 'not-data-selected:not-data-[hover-range-start]:not-data-[hover-range-end]:data-[in-range]:text-tf-accent-hi',\n 'not-data-selected:not-data-[hover-range-start]:not-data-[hover-range-end]:data-[in-range]:rounded-tf-none',\n 'not-data-selected:not-data-[hover-range-start]:not-data-[hover-range-end]:data-[in-hover-range]:bg-tf-accent-tint',\n 'not-data-selected:not-data-[hover-range-start]:not-data-[hover-range-end]:data-[in-hover-range]:text-tf-accent-hi',\n 'not-data-selected:not-data-[hover-range-start]:not-data-[hover-range-end]:data-[in-hover-range]:rounded-tf-none',\n]\n\nconst DAY_ENDS = [\n 'data-[hover-range-start]:bg-tf-blend data-[hover-range-start]:text-tf-on-accent',\n 'data-[hover-range-end]:bg-tf-blend data-[hover-range-end]:text-tf-on-accent',\n 'data-[in-range]:not-data-[range-end]:data-[range-start]:rounded-r-tf-none',\n 'data-[in-range]:not-data-[range-start]:data-[range-end]:rounded-l-tf-none',\n 'data-[in-hover-range]:not-data-[hover-range-end]:data-[hover-range-start]:rounded-r-tf-none',\n 'data-[in-hover-range]:not-data-[hover-range-start]:data-[hover-range-end]:rounded-l-tf-none',\n]\n\nconst DAY_QUIET = [\n 'not-data-selected:not-data-[in-range]:data-weekend:text-tf-muted',\n 'data-[outside-range]:opacity-50',\n]\n\nconst datePickerDayRecipe = cva(\n [\n 'inline-flex w-full items-center justify-center rounded-tf-control',\n 'text-tf-body-sm font-medium text-tf-fg tabular-nums blend-tf-accent',\n 'tf-ramp',\n 'not-data-[in-range]:interactive:hovered:bg-tf-panel-hi',\n 'data-today:tf-mark-edge data-today:tf-mark-lit',\n 'data-today:interactive:hovered:tf-mark-bloomed',\n 'data-selected:bg-tf-blend data-selected:text-tf-on-accent',\n 'motion-safe:data-selected:tf-pops',\n ...DAY_BAND,\n ...DAY_ENDS,\n ...DAY_QUIET,\n 'cursor-pointer tf-transition motion-reduce:transition-none',\n ...controlReach,\n ...controlPress,\n ...controlInert,\n ],\n {\n defaultVariants: { roomy: false },\n variants: {\n roomy: { false: 'h-tf-control-sm', true: 'h-15' },\n },\n },\n)\n\nconst datePickerFootRecipe = cva('flex flex-none flex-wrap gap-2 px-3 pt-2 pb-3')\n\nconst datePickerPresetRecipe = cva(\n [\n 'relative isolate inline-flex h-tf-row flex-none items-center rounded-tf-pill px-3',\n 'text-tf-caption font-medium',\n 'tf-blend-outline blend-tf-accent',\n 'cursor-pointer tf-transition motion-reduce:transition-none',\n ...controlReach,\n ...controlPress,\n ...controlInert,\n ],\n {\n defaultVariants: { current: false },\n variants: {\n current: {\n false: 'text-tf-fg interactive:hovered:bg-tf-panel-hi',\n true: 'bg-tf-blend text-tf-on-accent interactive:hovered:tf-blended',\n },\n },\n },\n)\n\nconst datePickerAnatomy = anatomy({\n body: { part: 'body', recipe: datePickerBodyRecipe, required: true },\n dash: { part: 'dash', recipe: datePickerDashRecipe, required: false },\n foot: { part: 'foot', recipe: fieldFootRecipe, required: true },\n leading: { part: 'leading', recipe: leadingRecipe, required: true },\n presets: { part: 'presets', recipe: datePickerFootRecipe, required: false },\n rangeLabel: { part: 'range-label', recipe: datePickerRangeTextRecipe, required: true },\n root: { part: 'date-picker', recipe: fieldRecipe, required: true },\n row: { part: 'row', recipe: datePickerRowRecipe, required: true },\n rule: { part: 'rule', recipe: datePickerRuleRecipe, required: true },\n views: { part: 'views', recipe: datePickerViewsRecipe, required: true },\n})\n\nexport {\n type DatePickerMode,\n type DatePickerRangePreset,\n datePickerAnatomy,\n datePickerBodyRecipe,\n datePickerContentRecipe,\n datePickerDashRecipe,\n datePickerDayRecipe,\n datePickerEndRecipe,\n datePickerFootRecipe,\n datePickerGridRecipe,\n datePickerHeadRecipe,\n datePickerModes,\n datePickerNavRecipe,\n datePickerPresetRecipe,\n datePickerRangePresets,\n datePickerRangeTextRecipe,\n datePickerRowRecipe,\n datePickerRuleRecipe,\n datePickerStartRecipe,\n datePickerTriggerRecipe,\n datePickerValueRecipe,\n datePickerViewRecipe,\n datePickerViewsRecipe,\n datePickerViewTriggerRecipe,\n datePickerWeekCellRecipe,\n defaultDatePickerMode,\n}\n"],"mappings":";;;;;;;;;AAoBA,MAAM,wBAAwB;AAE9B,MAAM,kBAAkB,CAAC,UAAU,OAAO;AAiB1C,MAAM,yBAAyB;CAC7B;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AAEA,MAAM,sBAAsB,IAC1B;CACE;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,GACA;CACE,iBAAiB,EAAE,QAAQ,MAAM;CACjC,UAAU,EACR,QAAQ;EAAE,OAAO;EAAI,MAAM;CAA4B,EACzD;AACF,CACF;AAEA,MAAM,0BAA0B,IAAI,CAAC,qBAAqB,GAAG,8BAA8B,CAAC;AAE5F,MAAM,uBAAuB,IAC3B;CACE;CACA;CACA;AACF,GACA;CACE,kBAAkB,CAChB;EAAE,OAAO,UAAU;EAAI,UAAU;EAAM,MAAM;CAAK,GAClD;EAAE,OAAO,UAAU;EAAI,UAAU;EAAM,MAAM;CAAK,CACpD;CACA,iBAAiB;EAAE,QAAQ;EAAO,UAAU;EAAM,MAAA;CAAuB;CACzE,UAAU;EACR,QAAQ;GAAE,OAAO;GAAa,MAAM;EAAc;EAClD,UAAU;GAAE,OAAO;GAAQ,MAAM;EAAG;EACpC,MAAM;GAAE,IAAI;GAAI,IAAI;EAAG;CACzB;AACF,CACF;AAEA,MAAM,eAAe;AAErB,MAAM,wBAAwB,IAAI,+DAA+D;AAEjG,MAAM,sBAAsB,IAAI,CAC9B,iEACA,YACF,CAAC;AAED,MAAM,wBAAwB,IAAI,CAAC,gBAAgB,YAAY,CAAC;AAEhE,MAAM,0BAA0B,IAAI,CAClC,4DACA,iBACF,CAAC;AAED,MAAM,wBAAwB,IAAI,4CAA4C;AAE9E,MAAM,uBAAuB,IAAI,+DAA+D;AAEhG,MAAM,uBAAuB,IAAI,gEAAgE;AAEjG,MAAM,uBAAuB,IAAI,+BAA+B,WAAW;AAE3E,MAAM,sBAAsB,IAAI,gBAAgB;AAEhD,MAAM,8BAA8B,IAAI;CACtC;CACA;CACA;CACA,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;AACL,CAAC;AAED,MAAM,SAAS;CACb;CACA;CACA;CACA;AACF;AAEA,MAAM,4BAA4B,IAAI,CACpC,0DACA,GAAG,MACL,CAAC;AAED,MAAM,uBAAuB,IAAI,CAAC,uCAAuC,GAAG,MAAM,CAAC;AAEnF,MAAM,uBAAuB,IAAI,CAC/B,8DACA,6EACF,CAAC;AAED,MAAM,2BAA2B,IAAI,CAAC,+BAA+B,cAAc,CAAC;AAEpF,MAAM,WAAW;CACf;CACA;CACA;CACA;CACA;CACA;AACF;AAEA,MAAM,WAAW;CACf;CACA;CACA;CACA;CACA;CACA;AACF;AAEA,MAAM,YAAY,CAChB,oEACA,iCACF;AAEA,MAAM,sBAAsB,IAC1B;CACE;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA,GAAG;CACH,GAAG;CACH,GAAG;CACH;CACA,GAAG;CACH,GAAG;CACH,GAAG;AACL,GACA;CACE,iBAAiB,EAAE,OAAO,MAAM;CAChC,UAAU,EACR,OAAO;EAAE,OAAO;EAAmB,MAAM;CAAO,EAClD;AACF,CACF;AAEA,MAAM,uBAAuB,IAAI,+CAA+C;AAEhF,MAAM,yBAAyB,IAC7B;CACE;CACA;CACA;CACA;CACA,GAAG;CACH,GAAG;CACH,GAAG;AACL,GACA;CACE,iBAAiB,EAAE,SAAS,MAAM;CAClC,UAAU,EACR,SAAS;EACP,OAAO;EACP,MAAM;CACR,EACF;AACF,CACF;AAEA,MAAM,oBAAoB,QAAQ;CAChC,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAsB,UAAU;CAAK;CACnE,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAsB,UAAU;CAAM;CACpE,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAiB,UAAU;CAAK;CAC9D,SAAS;EAAE,MAAM;EAAW,QAAQ;EAAe,UAAU;CAAK;CAClE,SAAS;EAAE,MAAM;EAAW,QAAQ;EAAsB,UAAU;CAAM;CAC1E,YAAY;EAAE,MAAM;EAAe,QAAQ;EAA2B,UAAU;CAAK;CACrF,MAAM;EAAE,MAAM;EAAe,QAAQ;EAAa,UAAU;CAAK;CACjE,KAAK;EAAE,MAAM;EAAO,QAAQ;EAAqB,UAAU;CAAK;CAChE,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAsB,UAAU;CAAK;CACnE,OAAO;EAAE,MAAM;EAAS,QAAQ;EAAuB,UAAU;CAAK;AACxE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dialog.js","names":[],"sources":["../../src/recipes/dialog.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { anatomy } from '#anatomy'\nimport { surfaceLifted, surfacePanel } from '#parts/surface'\n\nimport { liftMotion, scrimMirrorMotion } from './motion'\nimport { nebulaCloudWideRecipe, nebulaVeilRecipe } from './nebula'\n\ntype DialogSize = 'sm' | 'md' | 'lg'\n\ntype DialogLayout = 'panel' | 'confirm'\n\nconst defaultDialogLayout = 'panel' satisfies DialogLayout\n\nconst dialogLayouts = ['panel', 'confirm'] as const satisfies readonly DialogLayout[]\n\nconst defaultDialogSize = 'md' satisfies DialogSize\n\nconst dialogSizes = ['sm', 'md', 'lg'] as const satisfies readonly DialogSize[]\n\nconst WIDTH = {\n lg: 'max-w-tf-page',\n md: 'max-w-tf-measure',\n sm: 'max-w-tf-panel',\n} satisfies Record<DialogSize, string>\n\nconst GROUND = 'relative bg-tf-shade-under'\n\nconst REGION = 'relative'\n\nconst FULL = [\n '@max-tf-panel:absolute @max-tf-panel:inset-0',\n '@max-tf-panel:max-h-none @max-tf-panel:max-w-none',\n '@max-tf-panel:rounded-tf-none',\n]\n\nconst dialogBackdropRecipe = cva([\n 'fixed inset-0 z-tf-modal bg-tf-scrim backdrop-blur-tf-scrim',\n ...scrimMirrorMotion,\n 'motion-reduce:animate-none',\n])\n\nconst dialogPositionerRecipe = cva([\n '@container fixed inset-0 z-tf-modal flex items-center justify-center p-4 sm:p-10',\n 'font-tf-body',\n])\n\nconst dialogRecipe = cva(\n [\n ...surfacePanel,\n 'tf-edge-plain',\n ...surfaceLifted,\n 'flex max-h-full w-full flex-col overflow-hidden outline-hidden',\n 'text-tf-body-sm font-medium text-tf-fg',\n ...FULL,\n ...liftMotion,\n 'motion-reduce:animate-none',\n ],\n {\n defaultVariants: { size: defaultDialogSize },\n variants: { size: WIDTH },\n },\n)\n\nconst dialogHeldRecipe = cva('motion-safe:data-[state=open]:data-held:tf-shaken')\n\nconst dialogHeadRecipe = cva([REGION, 'flex flex-none flex-col px-6 pt-8'], {\n defaultVariants: { layout: defaultDialogLayout },\n variants: {\n layout: {\n confirm: 'items-center gap-6 text-center',\n panel: 'gap-6 @max-tf-panel:pt-6',\n } satisfies Record<DialogLayout, string>,\n },\n})\n\nconst dialogHeadingsRecipe = cva('flex min-w-0 flex-none flex-col', {\n compoundVariants: [{ class: 'pr-12', layout: 'panel', roomy: true }],\n defaultVariants: { layout: defaultDialogLayout, roomy: false },\n variants: {\n layout: {\n confirm: 'items-center gap-3 text-center',\n panel: 'gap-2 pb-2',\n } satisfies Record<DialogLayout, string>,\n roomy: { false: '', true: '' },\n },\n})\n\nconst dialogTitleRecipe = cva('font-tf-display text-tf-h4 font-bold tracking-tf-tight text-tf-fg')\n\nconst dialogDescriptionRecipe = cva('text-tf-body-sm font-medium text-tf-muted')\n\nconst dialogCloseRecipe = cva('absolute top-3 right-3 z-tf-raised')\n\nconst FADED = [\n 'tf-scroll-faded tf-scroll-thin',\n '[--tf-fade-head:calc(var(--spacing)*6)] [--tf-fade-foot:calc(var(--spacing)*8)]',\n 'outline-hidden focused:outline-2 focused:-outline-offset-2 focused:outline-tf-accent-hi',\n].join(' ')\n\nconst dialogBodyRecipe = cva(\n [REGION, 'flex min-h-0 flex-col overflow-y-auto px-6 pt-6', FADED, '@max-tf-panel:flex-1'],\n {\n defaultVariants: { layout: defaultDialogLayout },\n variants: {\n layout: {\n confirm: 'items-center gap-6 pb-0 text-center',\n panel: 'gap-6 pb-8 @max-tf-panel:pb-6',\n } satisfies Record<DialogLayout, string>,\n },\n },\n)\n\nconst dialogFooterRecipe = cva(\n ['flex flex-none gap-3 rounded-b-tf-card px-6', '@max-tf-panel:rounded-tf-none'],\n {\n defaultVariants: { layout: defaultDialogLayout },\n variants: {\n layout: {\n confirm: `${REGION} flex-nowrap items-center pt-6 pb-6 *:flex-1`,\n panel: [\n GROUND,\n 'flex-wrap items-center justify-end py-5',\n '@max-tf-panel:flex-col-reverse @max-tf-panel:flex-nowrap @max-tf-panel:*:w-full',\n ].join(' '),\n } satisfies Record<DialogLayout, string>,\n },\n },\n)\n\nconst dialogNoteRecipe = cva('mr-auto text-tf-caption font-medium text-tf-muted tabular-nums')\n\nconst dialogRowRecipe = cva([\n 'flex h-tf-row flex-none items-center justify-between gap-3',\n 'rounded-tf-inline px-3 text-tf-muted',\n])\n\nconst dialogRowValueRecipe = cva('text-tf-fg tabular-nums', {\n defaultVariants: { lit: false },\n variants: {\n lit: { false: '', true: 'text-tf-accent-hi' },\n },\n})\n\nconst dialogAnatomy = anatomy({\n body: { part: 'body', recipe: dialogBodyRecipe, required: true },\n cloud: { part: 'cloud', recipe: nebulaCloudWideRecipe, required: true },\n footer: { part: 'footer', recipe: dialogFooterRecipe, required: false },\n head: { part: 'head', recipe: dialogHeadRecipe, required: true },\n headings: { part: 'headings', recipe: dialogHeadingsRecipe, required: true },\n nebula: { part: 'nebula', recipe: nebulaVeilRecipe, required: true },\n root: { part: 'dialog', recipe: dialogRecipe, required: true },\n})\n\nexport {\n type DialogLayout,\n type DialogSize,\n defaultDialogLayout,\n defaultDialogSize,\n dialogLayouts,\n dialogAnatomy,\n dialogBackdropRecipe,\n dialogBodyRecipe,\n dialogCloseRecipe,\n dialogDescriptionRecipe,\n dialogFooterRecipe,\n dialogHeadRecipe,\n dialogHeadingsRecipe,\n dialogHeldRecipe,\n dialogNoteRecipe,\n dialogPositionerRecipe,\n dialogRecipe,\n dialogRowRecipe,\n dialogRowValueRecipe,\n dialogSizes,\n dialogTitleRecipe,\n}\n"],"mappings":";;;;;;AAYA,MAAM,sBAAsB;AAE5B,MAAM,gBAAgB,CAAC,SAAS,SAAS;AAEzC,MAAM,oBAAoB;AAE1B,MAAM,cAAc;CAAC;CAAM;CAAM;AAAI;AAErC,MAAM,QAAQ;CACZ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;AAEA,MAAM,SAAS;AAEf,MAAM,SAAS;AAEf,MAAM,OAAO;CACX;CACA;CACA;AACF;AAEA,MAAM,uBAAuB,IAAI;CAC/B;CACA,GAAG;CACH;AACF,CAAC;AAED,MAAM,yBAAyB,IAAI,CACjC,oFACA,cACF,CAAC;AAED,MAAM,eAAe,IACnB;CACE,GAAG;CACH;CACA,GAAG;CACH;CACA;CACA,GAAG;CACH,GAAG;CACH;AACF,GACA;CACE,iBAAiB,EAAE,MAAA,KAAwB;CAC3C,UAAU,EAAE,MAAM,MAAM;AAC1B,CACF;AAEA,MAAM,mBAAmB,IAAI,mDAAmD;AAEhF,MAAM,mBAAmB,IAAI,CAAC,QAAQ,mCAAmC,GAAG;CAC1E,iBAAiB,EAAE,QAAQ,oBAAoB;CAC/C,UAAU,EACR,QAAQ;EACN,SAAS;EACT,OAAO;CACT,EACF;AACF,CAAC;AAED,MAAM,uBAAuB,IAAI,mCAAmC;CAClE,kBAAkB,CAAC;EAAE,OAAO;EAAS,QAAQ;EAAS,OAAO;CAAK,CAAC;CACnE,iBAAiB;EAAE,QAAQ;EAAqB,OAAO;CAAM;CAC7D,UAAU;EACR,QAAQ;GACN,SAAS;GACT,OAAO;EACT;EACA,OAAO;GAAE,OAAO;GAAI,MAAM;EAAG;CAC/B;AACF,CAAC;AAED,MAAM,oBAAoB,IAAI,mEAAmE;AAEjG,MAAM,0BAA0B,IAAI,2CAA2C;AAE/E,MAAM,oBAAoB,IAAI,oCAAoC;AAElE,MAAM,QAAQ;CACZ;CACA;CACA;AACF,CAAC,CAAC,KAAK,GAAG;AAEV,MAAM,mBAAmB,IACvB;CAAC;CAAQ;CAAmD;CAAO;AAAsB,GACzF;CACE,iBAAiB,EAAE,QAAQ,oBAAoB;CAC/C,UAAU,EACR,QAAQ;EACN,SAAS;EACT,OAAO;CACT,EACF;AACF,CACF;AAEA,MAAM,qBAAqB,IACzB,CAAC,+CAA+C,+BAA+B,GAC/E;CACE,iBAAiB,EAAE,QAAQ,oBAAoB;CAC/C,UAAU,EACR,QAAQ;EACN,SAAS,GAAG,OAAO;EACnB,OAAO;GACL;GACA;GACA;EACF,CAAC,CAAC,KAAK,GAAG;CACZ,EACF;AACF,CACF;AAEA,MAAM,mBAAmB,IAAI,gEAAgE;AAE7F,MAAM,kBAAkB,IAAI,CAC1B,8DACA,sCACF,CAAC;AAED,MAAM,uBAAuB,IAAI,2BAA2B;CAC1D,iBAAiB,EAAE,KAAK,MAAM;CAC9B,UAAU,EACR,KAAK;EAAE,OAAO;EAAI,MAAM;CAAoB,EAC9C;AACF,CAAC;AAED,MAAM,gBAAgB,QAAQ;CAC5B,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAkB,UAAU;CAAK;CAC/D,OAAO;EAAE,MAAM;EAAS,QAAQ;EAAuB,UAAU;CAAK;CACtE,QAAQ;EAAE,MAAM;EAAU,QAAQ;EAAoB,UAAU;CAAM;CACtE,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAkB,UAAU;CAAK;CAC/D,UAAU;EAAE,MAAM;EAAY,QAAQ;EAAsB,UAAU;CAAK;CAC3E,QAAQ;EAAE,MAAM;EAAU,QAAQ;EAAkB,UAAU;CAAK;CACnE,MAAM;EAAE,MAAM;EAAU,QAAQ;EAAc,UAAU;CAAK;AAC/D,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"field.js","names":[],"sources":["../../src/recipes/field.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport type { FieldSize } from '#control'\nimport { defaultFieldSize } from '#control'\nimport { controlBase, controlBox, controlInert, controlReach, hitArea } from '#parts/control'\nimport { controlFailed, controlHealthy, controlShell } from '#parts/shell'\n\nconst HEALTHY = [\n controlHealthy,\n 'reached:**:data-[part=leading]:text-tf-accent-hi',\n 'reached:**:data-[part=leading]:stroke-tf-ink',\n 'reached:**:data-[part=unit]:tf-blended',\n].join(' ')\n\nconst FAILED = [\n controlFailed,\n '**:data-[part=leading]:text-tf-danger-hi',\n '**:data-[part=trailing]:text-tf-danger-hi',\n '**:data-[part=leading]:stroke-tf-ink',\n '**:data-[part=trailing]:stroke-tf-ink',\n].join(' ')\n\nconst PENDING = [\n 'tf-edge-lit tf-pulsing tf-clouding',\n '**:data-[part=nebula]:tf-cloud-breathing',\n '**:data-[part=leading]:text-tf-accent-hi',\n '**:data-[part=trailing]:text-tf-accent-hi',\n '**:data-[part=trailing]:stroke-tf-ink',\n].join(' ')\n\nconst INPUT_WAKES = [\n 'reached:[&_input]:placeholder:opacity-100',\n 'reached:[&_input]:placeholder:delay-(--tf-duration-1)',\n]\n\nconst LABEL_RESTS_CENTRED = {\n lg: 'asleep:**:data-[part=label]:translate-y-1.5',\n md: 'asleep:**:data-[part=label]:translate-y-1.75',\n} satisfies Record<FieldSize, string>\n\nconst LABEL_FLOATS_AT = {\n lg: 'top-3 text-tf-body',\n md: 'top-2 text-tf-body-sm',\n} satisfies Record<FieldSize, string>\n\nconst A_HALF_IS_ENOUGH = [\n 'data-filled:asleep:**:data-[part=label]:translate-y-0',\n 'data-filled:asleep:**:data-[part=label]:scale-80',\n]\n\nconst shellOf = (size: FieldSize): string[] => [\n 'relative isolate w-full',\n 'font-tf-body',\n ...controlShell(INPUT_WAKES, LABEL_RESTS_CENTRED[size]),\n ...A_HALF_IS_ENOUGH,\n]\n\nconst SHELLS = {\n lg: [...shellOf('lg'), controlBox.lg].join(' '),\n md: [...shellOf('md'), controlBox.md].join(' '),\n} satisfies Record<FieldSize, string>\n\nconst FIELD_CEILING = 'max-w-tf-panel'\n\nconst fieldRecipe = cva(['grid w-full grid-cols-1 font-tf-body', 'tf-grows'], {\n defaultVariants: { fullWidth: false, message: false },\n variants: {\n fullWidth: { false: FIELD_CEILING, true: '' },\n message: { false: 'grid-rows-[auto_0fr]', true: 'grid-rows-[auto_1fr]' },\n },\n})\n\nconst fieldRowRecipe = cva(controlBase, {\n defaultVariants: { invalid: false, loading: false, size: defaultFieldSize },\n variants: {\n invalid: { false: HEALTHY, true: FAILED },\n loading: { false: '', true: PENDING },\n size: SHELLS,\n },\n})\n\nconst fieldLabelRecipe = cva(\n [\n 'pointer-events-none absolute origin-top-left',\n 'scale-80 tf-label-ramp tf-label-lit',\n 'tf-moves-glide tf-transition motion-reduce:transition-none',\n 'data-disabled:opacity-50',\n '**:data-[part=required-indicator]:text-tf-danger-hi',\n ],\n {\n defaultVariants: { hidden: false, leading: false, size: defaultFieldSize },\n variants: {\n hidden: { false: '', true: 'sr-only' },\n leading: { false: 'left-4', true: 'left-13' },\n size: LABEL_FLOATS_AT,\n },\n },\n)\n\nconst MESSAGE = 'min-w-0 flex-1 pt-2 text-tf-caption font-medium sm:truncate'\n\nconst fieldHintRecipe = cva(`${MESSAGE} text-tf-muted`)\n\nconst fieldErrorRecipe = cva(`${MESSAGE} text-tf-danger-hi tf-arrives`, {\n defaultVariants: { alone: false },\n variants: {\n alone: { false: 'text-right', true: 'text-left' },\n },\n})\n\nconst fieldFootRecipe = cva([\n 'flex min-h-0 items-start justify-between overflow-hidden',\n 'gap-x-4 gap-y-1',\n '**:[text-box-trim:trim-start]',\n])\n\nconst fieldUnitRecipe = cva('text-tf-unit [font-size:var(--text-tf-body-sm)] font-medium')\n\nconst ADORNMENT_BOX = 'absolute top-1/2 flex -translate-y-1/2 items-center text-tf-muted tf-icons'\n\nconst ADORNMENT = `pointer-events-none ${ADORNMENT_BOX}`\n\nconst ADORNMENT_EDGE = 'text-tf-body [&_svg]:size-tf-icon-lg'\n\nconst leadingRecipe = cva(`${ADORNMENT} left-4 ${ADORNMENT_EDGE}`)\n\nconst trailingRecipe = cva(`${ADORNMENT} right-4 ${ADORNMENT_EDGE}`)\n\nconst TRAILING_HIT = hitArea('after:h-tf-control-sm', 'after:w-tf-control-sm')\n\nconst trailingActionRecipe = cva([\n ADORNMENT_BOX,\n ADORNMENT_EDGE,\n 'right-4 cursor-pointer',\n 'interactive:hovered:text-tf-fg',\n 'tf-transition motion-reduce:transition-none',\n TRAILING_HIT,\n ...controlReach,\n ...controlInert,\n])\n\nexport {\n fieldErrorRecipe,\n fieldFootRecipe,\n fieldHintRecipe,\n fieldLabelRecipe,\n fieldRecipe,\n fieldRowRecipe,\n fieldUnitRecipe,\n leadingRecipe,\n trailingActionRecipe,\n trailingRecipe,\n}\n"],"mappings":";;;;;AAOA,MAAM,UAAU;CACd;CACA;CACA;CACA;AACF,CAAC,CAAC,KAAK,GAAG;AAEV,MAAM,SAAS;CACb;CACA;CACA;CACA;CACA;AACF,CAAC,CAAC,KAAK,GAAG;AAEV,MAAM,UAAU;CACd;CACA;CACA;CACA;CACA;AACF,CAAC,CAAC,KAAK,GAAG;AAEV,MAAM,cAAc,CAClB,6CACA,uDACF;AAEA,MAAM,sBAAsB;CAC1B,IAAI;CACJ,IAAI;AACN;AAEA,MAAM,kBAAkB;CACtB,IAAI;CACJ,IAAI;AACN;AAEA,MAAM,mBAAmB,CACvB,yDACA,kDACF;AAEA,MAAM,WAAW,SAA8B;CAC7C;CACA;CACA,GAAG,aAAa,aAAa,oBAAoB,KAAK;CACtD,GAAG;AACL;AAEA,MAAM,SAAS;CACb,IAAI,CAAC,GAAG,QAAQ,IAAI,GAAG,WAAW,EAAE,CAAC,CAAC,KAAK,GAAG;CAC9C,IAAI,CAAC,GAAG,QAAQ,IAAI,GAAG,WAAW,EAAE,CAAC,CAAC,KAAK,GAAG;AAChD;AAIA,MAAM,cAAc,IAAI,CAAC,wCAAwC,UAAU,GAAG;CAC5E,iBAAiB;EAAE,WAAW;EAAO,SAAS;CAAM;CACpD,UAAU;EACR,WAAW;GAAE,OAAO;GAAe,MAAM;EAAG;EAC5C,SAAS;GAAE,OAAO;GAAwB,MAAM;EAAuB;CACzE;AACF,CAAC;AAED,MAAM,iBAAiB,IAAI,aAAa;CACtC,iBAAiB;EAAE,SAAS;EAAO,SAAS;EAAO,MAAA;CAAuB;CAC1E,UAAU;EACR,SAAS;GAAE,OAAO;GAAS,MAAM;EAAO;EACxC,SAAS;GAAE,OAAO;GAAI,MAAM;EAAQ;EACpC,MAAM;CACR;AACF,CAAC;AAED,MAAM,mBAAmB,IACvB;CACE;CACA;CACA;CACA;CACA;AACF,GACA;CACE,iBAAiB;EAAE,QAAQ;EAAO,SAAS;EAAO,MAAA;CAAuB;CACzE,UAAU;EACR,QAAQ;GAAE,OAAO;GAAI,MAAM;EAAU;EACrC,SAAS;GAAE,OAAO;GAAU,MAAM;EAAU;EAC5C,MAAM;CACR;AACF,CACF;AAEA,MAAM,UAAU;AAEhB,MAAM,kBAAkB,IAAI,GAAG,QAAQ,eAAe;AAEtD,MAAM,mBAAmB,IAAI,GAAG,QAAQ,gCAAgC;CACtE,iBAAiB,EAAE,OAAO,MAAM;CAChC,UAAU,EACR,OAAO;EAAE,OAAO;EAAc,MAAM;CAAY,EAClD;AACF,CAAC;AAED,MAAM,kBAAkB,IAAI;CAC1B;CACA;CACA;AACF,CAAC;AAED,MAAM,kBAAkB,IAAI,6DAA6D;AAEzF,MAAM,gBAAgB;AAEtB,MAAM,YAAY,uBAAuB;AAEzC,MAAM,iBAAiB;AAEvB,MAAM,gBAAgB,IAAI,GAAG,UAAU,UAAU,gBAAgB;AAEjE,MAAM,iBAAiB,IAAI,GAAG,UAAU,WAAW,gBAAgB;AAEnE,MAAM,eAAe,QAAQ,yBAAyB,uBAAuB;AAE7E,MAAM,uBAAuB,IAAI;CAC/B;CACA;CACA;CACA;CACA;CACA;CACA,GAAG;CACH,GAAG;AACL,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1 +0,0 @@
|
|
|
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 +0,0 @@
|
|
|
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"}
|
package/dist/recipes/ink.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1 +0,0 @@
|
|
|
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 +0,0 @@
|
|
|
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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"listbox.js","names":[],"sources":["../../src/recipes/listbox.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { anatomy } from '#anatomy'\nimport { controlInert } from '#parts/control'\nimport { travelMarkBase } from '#parts/travel'\n\ntype ListboxMark = 'lit' | 'chosen'\n\nconst RAIL = [\n 'before:absolute before:inset-y-3 before:left-0 before:w-0.5',\n 'before:rounded-tf-pill before:bg-tf-accent-hi',\n \"before:content-['']\",\n].join(' ')\n\nconst listboxRecipe = cva([\n 'relative isolate flex min-w-0 flex-col gap-1',\n 'font-tf-body outline-hidden',\n])\n\nconst listboxLabelRecipe = cva('sr-only')\n\nconst listboxItemRecipe = cva([\n 'relative rounded-tf-control px-4 py-3',\n 'cursor-pointer select-none tf-transition motion-reduce:transition-none',\n 'data-selected:text-tf-fg',\n ...controlInert,\n])\n\nconst listboxMarkRecipe = cva([...travelMarkBase, 'inset-x-0 h-(--tf-travel-height) tf-rails'], {\n defaultVariants: { mark: 'lit' },\n variants: {\n mark: {\n chosen: `rounded-tf-control bg-tf-accent-tint ${RAIL}`,\n lit: 'rounded-tf-control bg-tf-panel-hi',\n } satisfies Record<ListboxMark, string>,\n },\n})\n\nconst listboxEmptyRecipe = cva([\n 'flex h-tf-control-lg flex-none items-center justify-center px-4',\n 'text-tf-caption font-medium text-tf-muted',\n])\n\nconst listboxAnatomy = anatomy({\n held: { part: 'held', recipe: listboxMarkRecipe, required: true },\n mark: { part: 'mark', recipe: listboxMarkRecipe, required: true },\n root: { part: 'listbox', recipe: listboxRecipe, required: true },\n})\n\nexport {\n listboxAnatomy,\n listboxEmptyRecipe,\n listboxItemRecipe,\n listboxLabelRecipe,\n listboxMarkRecipe,\n listboxRecipe,\n}\n"],"mappings":";;;;;AAQA,MAAM,OAAO;CACX;CACA;CACA;AACF,CAAC,CAAC,KAAK,GAAG;AAEV,MAAM,gBAAgB,IAAI,CACxB,gDACA,6BACF,CAAC;AAED,MAAM,qBAAqB,IAAI,SAAS;AAExC,MAAM,oBAAoB,IAAI;CAC5B;CACA;CACA;CACA,GAAG;AACL,CAAC;AAED,MAAM,oBAAoB,IAAI,CAAC,GAAG,gBAAgB,2CAA2C,GAAG;CAC9F,iBAAiB,EAAE,MAAM,MAAM;CAC/B,UAAU,EACR,MAAM;EACJ,QAAQ,wCAAwC;EAChD,KAAK;CACP,EACF;AACF,CAAC;AAED,MAAM,qBAAqB,IAAI,CAC7B,mEACA,2CACF,CAAC;AAED,MAAM,iBAAiB,QAAQ;CAC7B,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAmB,UAAU;CAAK;CAChE,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAmB,UAAU;CAAK;CAChE,MAAM;EAAE,MAAM;EAAW,QAAQ;EAAe,UAAU;CAAK;AACjE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"marquee.js","names":[],"sources":["../../src/recipes/marquee.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { anatomy } from '#anatomy'\nimport { ruleFading } from '#parts/rule'\n\ninterface MarqueeItem {\n name: string\n src: string\n}\n\nconst WRAPS = 'motion-reduce:w-full motion-reduce:flex-wrap motion-reduce:justify-center'\n\nconst marqueeRecipe = cva([\n 'relative isolate py-8',\n 'font-tf-body',\n 'tf-slows hovered:[--tf-marquee-rate:0]',\n])\n\nconst marqueeRuleRecipe = cva(`absolute inset-x-0 ${ruleFading}`, {\n defaultVariants: { edge: 'head' },\n variants: { edge: { foot: 'bottom-0', head: 'top-0' } },\n})\n\nconst marqueeStageRecipe = cva('w-full')\n\nconst marqueeViewportRecipe = cva([\n 'relative overflow-hidden',\n 'tf-faded-x motion-reduce:mask-none',\n])\n\nconst marqueeCopyRecipe = cva([\n 'tf-looping items-center',\n 'motion-reduce:gap-y-4 motion-reduce:data-clone:hidden',\n WRAPS,\n])\n\nconst marqueeItemRecipe = cva([\n 'flex flex-none items-center gap-3',\n 'cursor-default select-none',\n 'text-tf-muted hovered:text-tf-fg',\n 'tf-ink-glide tf-transition',\n])\n\nconst marqueeMarkRecipe = cva('block size-tf-icon-solo-lg bg-contain bg-center bg-no-repeat')\n\nconst marqueeNameRecipe = cva('font-tf-display text-tf-h4 font-bold whitespace-nowrap')\n\nconst marqueeSpacing = '3rem'\n\nconst marqueeAnatomy = anatomy({\n mark: { part: 'mark', recipe: marqueeMarkRecipe, required: true },\n name: { part: 'name', recipe: marqueeNameRecipe, required: true },\n root: { part: 'marquee', recipe: marqueeRecipe, required: true },\n rule: { part: 'rule', recipe: marqueeRuleRecipe, required: true },\n})\n\nexport {\n type MarqueeItem,\n marqueeAnatomy,\n marqueeCopyRecipe,\n marqueeItemRecipe,\n marqueeMarkRecipe,\n marqueeNameRecipe,\n marqueeRecipe,\n marqueeRuleRecipe,\n marqueeSpacing,\n marqueeStageRecipe,\n marqueeViewportRecipe,\n}\n"],"mappings":";;;;AAUA,MAAM,QAAQ;AAEd,MAAM,gBAAgB,IAAI;CACxB;CACA;CACA;AACF,CAAC;AAED,MAAM,oBAAoB,IAAI,sBAAsB,cAAc;CAChE,iBAAiB,EAAE,MAAM,OAAO;CAChC,UAAU,EAAE,MAAM;EAAE,MAAM;EAAY,MAAM;CAAQ,EAAE;AACxD,CAAC;AAED,MAAM,qBAAqB,IAAI,QAAQ;AAEvC,MAAM,wBAAwB,IAAI,CAChC,4BACA,oCACF,CAAC;AAED,MAAM,oBAAoB,IAAI;CAC5B;CACA;CACA;AACF,CAAC;AAED,MAAM,oBAAoB,IAAI;CAC5B;CACA;CACA;CACA;AACF,CAAC;AAED,MAAM,oBAAoB,IAAI,8DAA8D;AAE5F,MAAM,oBAAoB,IAAI,wDAAwD;AAEtF,MAAM,iBAAiB;AAEvB,MAAM,iBAAiB,QAAQ;CAC7B,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAmB,UAAU;CAAK;CAChE,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAmB,UAAU;CAAK;CAChE,MAAM;EAAE,MAAM;EAAW,QAAQ;EAAe,UAAU;CAAK;CAC/D,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAmB,UAAU;CAAK;AAClE,CAAC"}
|
package/dist/recipes/menu.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"menu.js","names":[],"sources":["../../src/recipes/menu.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { anatomy } from '#anatomy'\nimport { controlInert, controlPress, hitArea } from '#parts/control'\nimport { eyebrowQuiet } from '#parts/eyebrow'\nimport { travelMarkBase } from '#parts/travel'\n\nimport { overlayMotion } from './motion'\n\ntype MenuTone = 'neutral' | 'danger'\n\nconst defaultMenuTone = 'neutral' satisfies MenuTone\n\nconst menuTones = ['neutral', 'danger'] as const satisfies readonly MenuTone[]\n\ntype MenuPlacement =\n | 'bottom-start'\n | 'bottom-end'\n | 'top-start'\n | 'top-end'\n | 'right-start'\n | 'right-end'\n | 'left-start'\n | 'left-end'\n\nconst defaultMenuPlacement = 'bottom-start' satisfies MenuPlacement\n\nconst menuPlacements = [\n 'bottom-start',\n 'bottom-end',\n 'top-start',\n 'top-end',\n 'right-start',\n 'right-end',\n 'left-start',\n 'left-end',\n] as const satisfies readonly MenuPlacement[]\n\nconst ROOM_FOR_A_FINGER = hitArea('after:h-[calc(var(--spacing-tf-row)+var(--spacing))]')\n\nconst GROWS_FROM_ITS_TRIGGER = [\n 'data-[placement^=bottom]:origin-top',\n 'data-[placement^=top]:origin-bottom',\n 'data-[placement^=left]:origin-right',\n 'data-[placement^=right]:origin-left',\n].join(' ')\n\ntype MenuMark = MenuTone | 'chosen'\n\nconst MARK = {\n chosen: 'bg-tf-accent-tint',\n danger: 'bg-tf-danger-wash',\n neutral: 'bg-tf-panel-hi',\n} satisfies Record<MenuMark, string>\n\nconst CHOSEN = 'data-[state=checked]:text-tf-accent-hi'\n\nconst menuSurfaceRecipe = cva([\n 'relative flex flex-col',\n 'tf-menu-width rounded-tf-card bg-tf-glass px-2 backdrop-blur-tf-glass',\n 'tf-edge-sweep font-tf-body text-tf-body-sm font-medium shadow-tf-float tf-edge-plain',\n 'z-tf-dropdown outline-hidden',\n GROWS_FROM_ITS_TRIGGER,\n ...overlayMotion,\n])\n\nconst menuListRecipe = cva([\n 'relative flex tf-scroll-thin min-h-0 flex-col gap-1 py-2 outline-hidden',\n 'max-h-[min(var(--available-height),var(--container-tf-list))] overflow-y-auto',\n 'font-tf-body text-tf-body-sm font-medium',\n])\n\nconst menuMarkRecipe = cva([...travelMarkBase, 'h-tf-row rounded-tf-inline'], {\n defaultVariants: { tone: defaultMenuTone, within: 'list' },\n variants: {\n tone: MARK,\n within: { list: 'inset-x-0', surface: 'inset-x-2' },\n },\n})\n\nconst menuGroupRecipe = cva('flex flex-col gap-1')\n\nconst menuItemRecipe = cva(\n [\n 'flex h-tf-row min-h-tf-row flex-none items-center gap-3',\n 'relative rounded-tf-inline px-3 text-left',\n ROOM_FOR_A_FINGER,\n CHOSEN,\n 'tf-icons [&_svg]:size-tf-icon-sm [&_svg]:shrink-0',\n 'tf-transition motion-reduce:transition-none',\n 'cursor-pointer select-none',\n ...controlPress,\n ...controlInert,\n ],\n {\n defaultVariants: { tone: defaultMenuTone },\n variants: {\n tone: { danger: 'text-tf-danger-hi', neutral: 'text-tf-fg' } satisfies Record<\n MenuTone,\n string\n >,\n },\n },\n)\n\nconst menuLabelRecipe = cva(['flex-none px-3 pt-3 pb-0', `text-tf-caption-sm ${eyebrowQuiet}`])\n\nconst menuTextRecipe = cva('min-w-0 flex-1 truncate')\n\nconst menuShortcutRecipe = cva('flex-none text-tf-caption-sm text-tf-muted tabular-nums')\n\nconst menuSeparatorRecipe = cva('my-2 flex-none border-0')\n\nconst menuArrowRecipe = cva(['[--arrow-size:0.5rem]', '[--arrow-background:var(--tf-glass-flat)]'])\n\nconst menuArrowTipRecipe = cva('border-t border-l border-tf-line')\n\nconst menuAnatomy = anatomy({\n item: { part: 'item', recipe: menuItemRecipe, required: false },\n list: { part: 'list', recipe: menuListRecipe, required: true },\n mark: { part: 'mark', recipe: menuMarkRecipe, required: false },\n root: { part: 'menu', recipe: menuSurfaceRecipe, required: false },\n shortcut: { part: 'shortcut', recipe: menuShortcutRecipe, required: false },\n})\n\nexport {\n type MenuPlacement,\n type MenuTone,\n defaultMenuPlacement,\n defaultMenuTone,\n menuAnatomy,\n menuArrowRecipe,\n menuArrowTipRecipe,\n menuItemRecipe,\n menuLabelRecipe,\n menuGroupRecipe,\n menuListRecipe,\n menuMarkRecipe,\n menuPlacements,\n menuSeparatorRecipe,\n menuShortcutRecipe,\n menuSurfaceRecipe,\n menuTextRecipe,\n menuTones,\n}\n"],"mappings":";;;;;;;AAWA,MAAM,kBAAkB;AAExB,MAAM,YAAY,CAAC,WAAW,QAAQ;AAYtC,MAAM,uBAAuB;AAE7B,MAAM,iBAAiB;CACrB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AAEA,MAAM,oBAAoB,QAAQ,sDAAsD;AAExF,MAAM,yBAAyB;CAC7B;CACA;CACA;CACA;AACF,CAAC,CAAC,KAAK,GAAG;AAIV,MAAM,OAAO;CACX,QAAQ;CACR,QAAQ;CACR,SAAS;AACX;AAEA,MAAM,SAAS;AAEf,MAAM,oBAAoB,IAAI;CAC5B;CACA;CACA;CACA;CACA;CACA,GAAG;AACL,CAAC;AAED,MAAM,iBAAiB,IAAI;CACzB;CACA;CACA;AACF,CAAC;AAED,MAAM,iBAAiB,IAAI,CAAC,GAAG,gBAAgB,4BAA4B,GAAG;CAC5E,iBAAiB;EAAE,MAAM;EAAiB,QAAQ;CAAO;CACzD,UAAU;EACR,MAAM;EACN,QAAQ;GAAE,MAAM;GAAa,SAAS;EAAY;CACpD;AACF,CAAC;AAED,MAAM,kBAAkB,IAAI,qBAAqB;AAEjD,MAAM,iBAAiB,IACrB;CACE;CACA;CACA;CACA;CACA;CACA;CACA;CACA,GAAG;CACH,GAAG;AACL,GACA;CACE,iBAAiB,EAAE,MAAM,gBAAgB;CACzC,UAAU,EACR,MAAM;EAAE,QAAQ;EAAqB,SAAS;CAAa,EAI7D;AACF,CACF;AAEA,MAAM,kBAAkB,IAAI,CAAC,4BAA4B,sBAAsB,cAAc,CAAC;AAE9F,MAAM,iBAAiB,IAAI,yBAAyB;AAEpD,MAAM,qBAAqB,IAAI,yDAAyD;AAExF,MAAM,sBAAsB,IAAI,yBAAyB;AAEzD,MAAM,kBAAkB,IAAI,CAAC,yBAAyB,2CAA2C,CAAC;AAElG,MAAM,qBAAqB,IAAI,kCAAkC;AAEjE,MAAM,cAAc,QAAQ;CAC1B,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAgB,UAAU;CAAM;CAC9D,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAgB,UAAU;CAAK;CAC7D,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAgB,UAAU;CAAM;CAC9D,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAmB,UAAU;CAAM;CACjE,UAAU;EAAE,MAAM;EAAY,QAAQ;EAAoB,UAAU;CAAM;AAC5E,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"metaRow.js","names":[],"sources":["../../src/recipes/metaRow.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { anatomy } from '#anatomy'\nimport { tones } from '#parts/tone'\n\ntype MetaRowLayout = 'justify' | 'inline' | 'note'\n\ntype MetaRowPairedLayout = Exclude<MetaRowLayout, 'note'>\n\ntype MetaRowEmphasis = 'normal' | 'strong'\n\nconst defaultMetaRowLayout = 'justify' satisfies MetaRowLayout\n\nconst defaultMetaRowEmphasis = 'normal' satisfies MetaRowEmphasis\n\nconst metaRowLayouts = ['justify', 'inline', 'note'] as const satisfies readonly MetaRowLayout[]\n\nconst metaRowEmphases = ['normal', 'strong'] as const satisfies readonly MetaRowEmphasis[]\n\nconst metaRowTones = tones\n\nconst NOTE = ['items-center text-tf-muted', '[&_svg]:size-tf-icon-sm'].join(' ')\n\nconst metaRowRecipe = cva('flex items-baseline gap-2 tf-icons', {\n defaultVariants: { layout: defaultMetaRowLayout },\n variants: {\n layout: {\n inline: '',\n justify: 'justify-between gap-4',\n note: NOTE,\n } satisfies Record<MetaRowLayout, string>,\n },\n})\n\nconst metaRowAnatomy = anatomy({\n root: { part: 'meta-row', recipe: metaRowRecipe, required: true },\n})\n\nexport {\n type MetaRowEmphasis,\n type MetaRowLayout,\n type MetaRowPairedLayout,\n defaultMetaRowEmphasis,\n defaultMetaRowLayout,\n metaRowAnatomy,\n metaRowEmphases,\n metaRowLayouts,\n metaRowRecipe,\n metaRowTones,\n}\n"],"mappings":";;;;AAWA,MAAM,uBAAuB;AAE7B,MAAM,yBAAyB;AAE/B,MAAM,iBAAiB;CAAC;CAAW;CAAU;AAAM;AAEnD,MAAM,kBAAkB,CAAC,UAAU,QAAQ;AAE3C,MAAM,eAAe;AAErB,MAAM,OAAO,CAAC,8BAA8B,yBAAyB,CAAC,CAAC,KAAK,GAAG;AAE/E,MAAM,gBAAgB,IAAI,sCAAsC;CAC9D,iBAAiB,EAAE,QAAQ,qBAAqB;CAChD,UAAU,EACR,QAAQ;EACN,QAAQ;EACR,SAAS;EACT,MAAM;CACR,EACF;AACF,CAAC;AAED,MAAM,iBAAiB,QAAQ,EAC7B,MAAM;CAAE,MAAM;CAAY,QAAQ;CAAe,UAAU;AAAK,EAClE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"meter.js","names":[],"sources":["../../src/recipes/meter.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { anatomy } from '#anatomy'\n\nimport { valueGlide } from './motion'\n\nconst meterVariants = ['share', 'split', 'slots'] as const\n\ntype MeterVariant = (typeof meterVariants)[number]\n\nconst defaultMeterVariant = 'share' satisfies MeterVariant\n\nconst meterRecipe = cva('flex w-full flex-col gap-2 font-tf-body text-tf-fg')\n\nconst meterHeadRecipe = cva('flex items-baseline justify-between gap-3')\n\nconst meterCaptionRecipe = cva(\n 'text-tf-caption-sm font-medium tracking-tf-eyebrow text-tf-muted uppercase',\n)\n\nconst meterReadingRecipe = cva('text-tf-body-sm font-medium text-tf-fg tabular-nums')\n\nconst meterTrackRecipe = cva('block h-2.5 overflow-hidden rounded-tf-pill bg-tf-sunken')\n\nconst meterRangeRecipe = cva(['block h-full rounded-tf-pill bg-tf-blend', ...valueGlide])\n\nconst meterPartsRecipe = cva('flex gap-1', {\n defaultVariants: { variant: defaultMeterVariant },\n variants: {\n variant: {\n share: '',\n slots: 'h-2.5',\n split: 'h-3',\n } satisfies Record<MeterVariant, string>,\n },\n})\n\ntype MeterPartEdge = 'end' | 'inner' | 'only' | 'start'\n\nconst meterPartRecipe = cva(['bg-tf-blend', ...valueGlide], {\n defaultVariants: { edge: 'inner' },\n variants: {\n edge: {\n end: 'rounded-r-tf-pill',\n inner: '',\n only: 'rounded-tf-pill',\n start: 'rounded-l-tf-pill',\n } satisfies Record<MeterPartEdge, string>,\n },\n})\n\nconst meterLegendRecipe = cva('flex flex-wrap gap-x-4 gap-y-2')\n\nconst meterLegendItemRecipe = cva('flex items-center gap-2 text-tf-caption-sm text-tf-muted')\n\nconst meterLegendDotRecipe = cva('size-2 flex-none rounded-tf-pill bg-tf-blend')\n\nconst meterAnatomy = anatomy({\n caption: { part: 'caption', recipe: meterCaptionRecipe, required: false },\n head: { part: 'head', recipe: meterHeadRecipe, required: false },\n legend: { part: 'legend', recipe: meterLegendRecipe, required: false },\n parts: { part: 'parts', recipe: meterPartsRecipe, required: false },\n reading: { part: 'reading', recipe: meterReadingRecipe, required: false },\n root: { part: 'meter', recipe: meterRecipe, required: true },\n})\n\nexport {\n type MeterPartEdge,\n type MeterVariant,\n defaultMeterVariant,\n meterAnatomy,\n meterCaptionRecipe,\n meterHeadRecipe,\n meterLegendDotRecipe,\n meterLegendItemRecipe,\n meterLegendRecipe,\n meterPartRecipe,\n meterPartsRecipe,\n meterRangeRecipe,\n meterReadingRecipe,\n meterRecipe,\n meterTrackRecipe,\n meterVariants,\n}\n"],"mappings":";;;;AAMA,MAAM,gBAAgB;CAAC;CAAS;CAAS;AAAO;AAIhD,MAAM,sBAAsB;AAE5B,MAAM,cAAc,IAAI,oDAAoD;AAE5E,MAAM,kBAAkB,IAAI,2CAA2C;AAEvE,MAAM,qBAAqB,IACzB,4EACF;AAEA,MAAM,qBAAqB,IAAI,qDAAqD;AAEpF,MAAM,mBAAmB,IAAI,0DAA0D;AAEvF,MAAM,mBAAmB,IAAI,CAAC,4CAA4C,GAAG,UAAU,CAAC;AAExF,MAAM,mBAAmB,IAAI,cAAc;CACzC,iBAAiB,EAAE,SAAS,oBAAoB;CAChD,UAAU,EACR,SAAS;EACP,OAAO;EACP,OAAO;EACP,OAAO;CACT,EACF;AACF,CAAC;AAID,MAAM,kBAAkB,IAAI,CAAC,eAAe,GAAG,UAAU,GAAG;CAC1D,iBAAiB,EAAE,MAAM,QAAQ;CACjC,UAAU,EACR,MAAM;EACJ,KAAK;EACL,OAAO;EACP,MAAM;EACN,OAAO;CACT,EACF;AACF,CAAC;AAED,MAAM,oBAAoB,IAAI,gCAAgC;AAE9D,MAAM,wBAAwB,IAAI,0DAA0D;AAE5F,MAAM,uBAAuB,IAAI,8CAA8C;AAE/E,MAAM,eAAe,QAAQ;CAC3B,SAAS;EAAE,MAAM;EAAW,QAAQ;EAAoB,UAAU;CAAM;CACxE,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAiB,UAAU;CAAM;CAC/D,QAAQ;EAAE,MAAM;EAAU,QAAQ;EAAmB,UAAU;CAAM;CACrE,OAAO;EAAE,MAAM;EAAS,QAAQ;EAAkB,UAAU;CAAM;CAClE,SAAS;EAAE,MAAM;EAAW,QAAQ;EAAoB,UAAU;CAAM;CACxE,MAAM;EAAE,MAAM;EAAS,QAAQ;EAAa,UAAU;CAAK;AAC7D,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"motion.js","names":[],"sources":["../../src/recipes/motion.ts"],"sourcesContent":["const overlayMotion = ['data-[state=open]:animate-tf-in', 'data-[state=closed]:animate-tf-out']\n\nconst arrivalMotion = [\n 'data-[state=open]:animate-tf-arrive',\n 'data-[state=closed]:animate-tf-depart',\n 'data-[placement^=bottom]:origin-top',\n 'data-[placement^=bottom]:[--tf-arrive:0_calc(var(--spacing)*-1)]',\n 'data-[placement^=top]:origin-bottom',\n 'data-[placement^=top]:[--tf-arrive:0_var(--spacing)]',\n 'data-[placement^=left]:origin-right',\n 'data-[placement^=left]:[--tf-arrive:var(--spacing)_0]',\n 'data-[placement^=right]:origin-left',\n 'data-[placement^=right]:[--tf-arrive:calc(var(--spacing)*-1)_0]',\n]\n\nconst drawerMotion = [\n 'data-[state=open]:animate-tf-drawer',\n 'data-[state=closed]:animate-tf-drawer-rewind',\n]\n\nconst liftMotion = [\n 'data-[state=open]:animate-tf-lift',\n 'data-[state=closed]:animate-tf-lift-rewind',\n]\n\nconst mirrorMotion = ['data-[state=open]:animate-tf-in', 'data-[state=closed]:animate-tf-rewind']\n\nconst scrimMirrorMotion = [\n 'data-[state=open]:animate-tf-fade-in',\n 'data-[state=closed]:animate-tf-fade-rewind',\n]\n\nconst railMorph = 'tf-transition tf-rails motion-reduce:transition-none'\n\nconst valueGlide = [\n 'transition-[width,flex-grow,flex-basis] duration-(--tf-duration-2) ease-(--ease-tf-glide)',\n 'motion-reduce:transition-none',\n]\n\nconst collapseMotion = [\n 'overflow-hidden',\n 'data-[state=open]:animate-tf-expand',\n 'data-[state=closed]:animate-tf-collapse',\n]\n\nconst railCollapse = [\n 'min-w-0 basis-0 grow in-data-rail:opacity-0',\n '[--tf-travel:opacity_var(--tf-timing-glide)]',\n railMorph,\n].join(' ')\n\nexport {\n arrivalMotion,\n collapseMotion,\n drawerMotion,\n liftMotion,\n mirrorMotion,\n overlayMotion,\n railCollapse,\n railMorph,\n scrimMirrorMotion,\n valueGlide,\n}\n"],"mappings":";AAAA,MAAM,gBAAgB,CAAC,mCAAmC,oCAAoC;AAE9F,MAAM,gBAAgB;CACpB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AAEA,MAAM,eAAe,CACnB,uCACA,8CACF;AAEA,MAAM,aAAa,CACjB,qCACA,4CACF;AAEA,MAAM,eAAe,CAAC,mCAAmC,uCAAuC;AAEhG,MAAM,oBAAoB,CACxB,wCACA,4CACF;AAEA,MAAM,YAAY;AAElB,MAAM,aAAa,CACjB,6FACA,+BACF;AAEA,MAAM,iBAAiB;CACrB;CACA;CACA;AACF;AAEA,MAAM,eAAe;CACnB;CACA;CACA;AACF,CAAC,CAAC,KAAK,GAAG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nebula.js","names":[],"sources":["../../src/recipes/nebula.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { defaultTone, tones } from '#parts/tone'\nimport type { Tone } from '#tone'\nimport { toneBlend } from '#tone'\n\ntype NebulaOrigin =\n | 'top'\n | 'top-right'\n | 'right'\n | 'bottom-right'\n | 'bottom'\n | 'bottom-left'\n | 'left'\n | 'top-left'\n\nconst defaultNebulaTone = defaultTone\n\nconst nebulaTones = tones\n\nconst nebulaOrigins = [\n 'top',\n 'top-right',\n 'right',\n 'bottom-right',\n 'bottom',\n 'bottom-left',\n 'left',\n 'top-left',\n] as const satisfies readonly NebulaOrigin[]\n\nconst NEBULA_STARTS = {\n bottom: '[animation-delay:calc(var(--tf-sweep-duration)*-7.5)] motion-reduce:[--tf-sweep:90deg]',\n 'bottom-left':\n '[animation-delay:calc(var(--tf-sweep-duration)*-11.25)] motion-reduce:[--tf-sweep:135deg]',\n 'bottom-right':\n '[animation-delay:calc(var(--tf-sweep-duration)*-3.75)] motion-reduce:[--tf-sweep:45deg]',\n left: '[animation-delay:calc(var(--tf-sweep-duration)*-15)] motion-reduce:[--tf-sweep:180deg]',\n right: '[animation-delay:0s] motion-reduce:[--tf-sweep:0deg]',\n top: '[animation-delay:calc(var(--tf-sweep-duration)*-22.5)] motion-reduce:[--tf-sweep:270deg]',\n 'top-left':\n '[animation-delay:calc(var(--tf-sweep-duration)*-18.75)] motion-reduce:[--tf-sweep:225deg]',\n 'top-right':\n '[animation-delay:calc(var(--tf-sweep-duration)*-26.25)] motion-reduce:[--tf-sweep:315deg]',\n} satisfies Record<NebulaOrigin, string>\n\nconst nebulaRecipe = cva(\n [\n 'pointer-events-none absolute -inset-1/2',\n 'tf-turning tf-nebula',\n '[animation-duration:calc(var(--tf-sweep-duration)*30)]',\n ],\n {\n defaultVariants: { tone: defaultNebulaTone },\n variants: {\n origin: NEBULA_STARTS,\n tone: toneBlend satisfies Record<Tone, string>,\n },\n },\n)\n\nconst nebulaVeilRecipe = cva('tf-nebula-veil')\n\nconst nebulaCloudRecipe = cva('tf-nebula-cloud')\n\nconst nebulaCloudLowRecipe = cva('tf-nebula-cloud tf-cloud-low')\n\nconst nebulaCloudWideRecipe = cva('tf-nebula-cloud tf-cloud-wide')\n\nexport {\n type NebulaOrigin,\n defaultNebulaTone,\n nebulaCloudLowRecipe,\n nebulaCloudRecipe,\n nebulaCloudWideRecipe,\n nebulaOrigins,\n nebulaRecipe,\n nebulaTones,\n nebulaVeilRecipe,\n}\n"],"mappings":";;;;AAgBA,MAAM,oBAAoB;AAE1B,MAAM,cAAc;AAEpB,MAAM,gBAAgB;CACpB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AAiBA,MAAM,eAAe,IACnB;CACE;CACA;CACA;AACF,GACA;CACE,iBAAiB,EAAE,MAAM,kBAAkB;CAC3C,UAAU;EACR,QAAQ;GAvBZ,QAAQ;GACR,eACE;GACF,gBACE;GACF,MAAM;GACN,OAAO;GACP,KAAK;GACL,YACE;GACF,aACE;EAYsB;EACpB,MAAM;CACR;AACF,CACF;AAEA,MAAM,mBAAmB,IAAI,gBAAgB;AAE7C,MAAM,oBAAoB,IAAI,iBAAiB;AAE/C,MAAM,uBAAuB,IAAI,8BAA8B;AAE/D,MAAM,wBAAwB,IAAI,+BAA+B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"numberRange.js","names":[],"sources":["../../src/recipes/numberRange.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { anatomy } from '#anatomy'\nimport type { FieldSize } from '#control'\nimport { defaultFieldSize } from '#control'\n\nimport { fieldFootRecipe, fieldRecipe, fieldRowRecipe } from './field'\nimport { labelRoom } from './input'\nimport { nebulaCloudLowRecipe, nebulaVeilRecipe } from './nebula'\n\nconst HALF = [\n 'min-w-0 flex-1 bg-transparent text-tf-fg tf-writes tabular-nums',\n 'placeholder:text-tf-muted placeholder:opacity-0',\n 'data-readonly:text-tf-muted',\n 'disabled:cursor-not-allowed',\n 'outline-2 outline-solid outline-offset-2 outline-transparent',\n '[appearance:textfield]',\n '[&::-webkit-inner-spin-button]:appearance-none',\n '[&::-webkit-outer-spin-button]:appearance-none',\n]\n\nconst numberRangeHalfRecipe = cva(HALF, {\n compoundVariants: [\n { at: 'from', class: 'pl-4', labelled: true, size: 'lg' },\n { at: 'from', class: 'pl-4', labelled: true, size: 'md' },\n { at: 'to', class: 'pr-4', labelled: true, size: 'lg' },\n { at: 'to', class: 'pr-4', labelled: true, size: 'md' },\n { class: labelRoom.lg, labelled: true, size: 'lg' },\n { class: labelRoom.md, labelled: true, size: 'md' },\n ],\n defaultVariants: { at: 'from', labelled: true, size: defaultFieldSize },\n variants: {\n at: { from: 'pr-0 text-left', to: 'pl-0 text-left' },\n labelled: { false: 'px-4 py-0 placeholder:opacity-100', true: '' },\n size: { lg: '', md: '' } satisfies Record<FieldSize, string>,\n },\n})\n\nconst numberRangeRecipe = cva('max-w-64')\n\nconst numberRangeDashRecipe = cva(\n [\n 'flex flex-none items-center self-stretch px-2',\n 'font-medium text-tf-muted tabular-nums',\n 'tf-transition motion-reduce:transition-none',\n ],\n {\n compoundVariants: [\n { class: `${labelRoom.lg} text-tf-body-sm`, labelled: true, size: 'lg' },\n { class: `${labelRoom.md} text-tf-body-sm`, labelled: true, size: 'md' },\n ],\n defaultVariants: { filled: false, labelled: true, size: defaultFieldSize },\n variants: {\n filled: { false: 'opacity-0', true: 'opacity-100' },\n labelled: { false: 'py-0 text-tf-body-sm', true: '' },\n size: { lg: '', md: '' } satisfies Record<FieldSize, string>,\n },\n },\n)\n\nconst numberRangeAnatomy = anatomy({\n cloud: { part: 'cloud', recipe: nebulaCloudLowRecipe, required: true },\n dash: { part: 'dash', recipe: numberRangeDashRecipe, required: true },\n foot: { part: 'foot', recipe: fieldFootRecipe, required: true },\n nebula: { part: 'nebula', recipe: nebulaVeilRecipe, required: true },\n root: { part: 'number-range', recipe: fieldRecipe, required: true },\n row: { part: 'row', recipe: fieldRowRecipe, required: true },\n})\n\nexport { numberRangeAnatomy, numberRangeDashRecipe, numberRangeHalfRecipe, numberRangeRecipe }\n"],"mappings":";;;;;;;AAqBA,MAAM,wBAAwB,IAAI;CAVhC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AAGmC,GAAG;CACtC,kBAAkB;EAChB;GAAE,IAAI;GAAQ,OAAO;GAAQ,UAAU;GAAM,MAAM;EAAK;EACxD;GAAE,IAAI;GAAQ,OAAO;GAAQ,UAAU;GAAM,MAAM;EAAK;EACxD;GAAE,IAAI;GAAM,OAAO;GAAQ,UAAU;GAAM,MAAM;EAAK;EACtD;GAAE,IAAI;GAAM,OAAO;GAAQ,UAAU;GAAM,MAAM;EAAK;EACtD;GAAE,OAAO,UAAU;GAAI,UAAU;GAAM,MAAM;EAAK;EAClD;GAAE,OAAO,UAAU;GAAI,UAAU;GAAM,MAAM;EAAK;CACpD;CACA,iBAAiB;EAAE,IAAI;EAAQ,UAAU;EAAM,MAAA;CAAuB;CACtE,UAAU;EACR,IAAI;GAAE,MAAM;GAAkB,IAAI;EAAiB;EACnD,UAAU;GAAE,OAAO;GAAqC,MAAM;EAAG;EACjE,MAAM;GAAE,IAAI;GAAI,IAAI;EAAG;CACzB;AACF,CAAC;AAED,MAAM,oBAAoB,IAAI,UAAU;AAExC,MAAM,wBAAwB,IAC5B;CACE;CACA;CACA;AACF,GACA;CACE,kBAAkB,CAChB;EAAE,OAAO,GAAG,UAAU,GAAG;EAAmB,UAAU;EAAM,MAAM;CAAK,GACvE;EAAE,OAAO,GAAG,UAAU,GAAG;EAAmB,UAAU;EAAM,MAAM;CAAK,CACzE;CACA,iBAAiB;EAAE,QAAQ;EAAO,UAAU;EAAM,MAAA;CAAuB;CACzE,UAAU;EACR,QAAQ;GAAE,OAAO;GAAa,MAAM;EAAc;EAClD,UAAU;GAAE,OAAO;GAAwB,MAAM;EAAG;EACpD,MAAM;GAAE,IAAI;GAAI,IAAI;EAAG;CACzB;AACF,CACF;AAEA,MAAM,qBAAqB,QAAQ;CACjC,OAAO;EAAE,MAAM;EAAS,QAAQ;EAAsB,UAAU;CAAK;CACrE,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAuB,UAAU;CAAK;CACpE,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAiB,UAAU;CAAK;CAC9D,QAAQ;EAAE,MAAM;EAAU,QAAQ;EAAkB,UAAU;CAAK;CACnE,MAAM;EAAE,MAAM;EAAgB,QAAQ;EAAa,UAAU;CAAK;CAClE,KAAK;EAAE,MAAM;EAAO,QAAQ;EAAgB,UAAU;CAAK;AAC7D,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"paper.js","names":[],"sources":["../../src/recipes/paper.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { anatomy } from '#anatomy'\nimport { ruleFading } from '#parts/rule'\nimport { surfaceLifted, surfaceSkin } from '#parts/surface'\nimport { defaultTone } from '#parts/tone'\nimport type { Tone } from '#tone'\nimport { toneBlend } from '#tone'\n\nimport { nebulaCloudWideRecipe, nebulaVeilRecipe } from './nebula'\n\ntype PaperVariant = 'plain' | 'elevated'\n\ntype PaperInset = 'padded' | 'flush' | 'roomy'\n\nconst defaultPaperVariant = 'plain' satisfies PaperVariant\n\nconst defaultPaperInset = 'padded' satisfies PaperInset\n\nconst defaultPaperTone = defaultTone\n\nconst paperBase = [\n '@container relative w-full',\n ...surfaceSkin,\n 'font-tf-body text-tf-body-sm font-medium text-tf-fg',\n]\n\nconst paperRecipe = cva(paperBase, {\n defaultVariants: { tone: defaultPaperTone, variant: defaultPaperVariant },\n variants: {\n tone: toneBlend satisfies Record<Tone, string>,\n variant: {\n elevated: surfaceLifted.join(' '),\n plain: '',\n } satisfies Record<PaperVariant, string>,\n },\n})\n\nconst GUTTER = 'px-4 @tf-panel:px-8'\n\nconst ROOMY_GUTTER = 'px-6 @tf-panel:px-14'\n\nconst RIBS = 'py-6 @tf-panel:py-8'\n\nconst ROOMY_RIBS = 'py-8 @tf-panel:py-14'\n\nconst paperBodyRecipe = cva('', {\n defaultVariants: { inset: defaultPaperInset },\n variants: {\n inset: {\n flush: RIBS,\n padded: `${RIBS} ${GUTTER}`,\n roomy: `${ROOMY_RIBS} ${ROOMY_GUTTER}`,\n } satisfies Record<PaperInset, string>,\n },\n})\n\nconst HEAD_ROW = 'min-h-[calc(var(--spacing-tf-control-sm)+var(--spacing)*10)]'\n\nconst paperHeaderRecipe = cva(\n [`relative flex flex-wrap items-center justify-between gap-4 py-5`, HEAD_ROW],\n {\n defaultVariants: { inset: defaultPaperInset },\n variants: {\n inset: {\n flush: GUTTER,\n padded: GUTTER,\n roomy: ROOMY_GUTTER,\n } satisfies Record<PaperInset, string>,\n },\n },\n)\n\nconst paperRuleRecipe = cva(`absolute bottom-0 ${ruleFading}`, {\n defaultVariants: { inset: defaultPaperInset },\n variants: {\n inset: {\n flush: 'inset-x-4 @tf-panel:inset-x-8',\n padded: 'inset-x-4 @tf-panel:inset-x-8',\n roomy: 'inset-x-6 @tf-panel:inset-x-14',\n } satisfies Record<PaperInset, string>,\n },\n})\n\nconst paperBadgeRecipe = cva('absolute', {\n defaultVariants: { headed: false, inset: defaultPaperInset },\n variants: {\n headed: { false: 'top-4', true: 'top-10 -translate-y-1/2' },\n inset: {\n flush: 'right-4 @tf-panel:right-8',\n padded: 'right-4 @tf-panel:right-8',\n roomy: 'right-6 @tf-panel:right-14',\n } satisfies Record<PaperInset, string>,\n },\n})\n\nconst paperActionRecipe = cva(\n '-mr-3 flex min-w-0 flex-initial flex-wrap items-center justify-end gap-4',\n)\n\nconst paperVariants = ['plain', 'elevated'] as const satisfies readonly PaperVariant[]\n\nconst paperInsets = ['padded', 'flush', 'roomy'] as const satisfies readonly PaperInset[]\n\nconst paperAnatomy = anatomy({\n action: { part: 'action', recipe: paperActionRecipe, required: false },\n badge: { part: 'badge', recipe: paperBadgeRecipe, required: false },\n body: { part: 'body', recipe: paperBodyRecipe, required: true },\n cloud: { part: 'cloud', recipe: nebulaCloudWideRecipe, required: false },\n header: { part: 'header', recipe: paperHeaderRecipe, required: false },\n nebula: { part: 'nebula', recipe: nebulaVeilRecipe, required: false },\n root: { part: 'paper', recipe: paperRecipe, required: true },\n rule: { part: 'rule', recipe: paperRuleRecipe, required: false },\n})\n\nexport {\n type PaperInset,\n type PaperVariant,\n defaultPaperInset,\n defaultPaperTone,\n defaultPaperVariant,\n paperActionRecipe,\n paperAnatomy,\n paperBadgeRecipe,\n paperBodyRecipe,\n paperHeaderRecipe,\n paperInsets,\n paperRecipe,\n paperRuleRecipe,\n paperVariants,\n}\n"],"mappings":";;;;;;;;AAeA,MAAM,sBAAsB;AAE5B,MAAM,oBAAoB;AAE1B,MAAM,mBAAmB;AAEzB,MAAM,YAAY;CAChB;CACA,GAAG;CACH;AACF;AAEA,MAAM,cAAc,IAAI,WAAW;CACjC,iBAAiB;EAAE,MAAM;EAAkB,SAAS;CAAoB;CACxE,UAAU;EACR,MAAM;EACN,SAAS;GACP,UAAU,cAAc,KAAK,GAAG;GAChC,OAAO;EACT;CACF;AACF,CAAC;AAED,MAAM,SAAS;AAEf,MAAM,eAAe;AAErB,MAAM,OAAO;AAIb,MAAM,kBAAkB,IAAI,IAAI;CAC9B,iBAAiB,EAAE,OAAO,kBAAkB;CAC5C,UAAU,EACR,OAAO;EACL,OAAO;EACP,QAAQ,GAAG,KAAK,GAAG;EACnB,OAAO,wBAAiB;CAC1B,EACF;AACF,CAAC;AAID,MAAM,oBAAoB,IACxB,CAAC,mEAAmE,8DAAQ,GAC5E;CACE,iBAAiB,EAAE,OAAO,kBAAkB;CAC5C,UAAU,EACR,OAAO;EACL,OAAO;EACP,QAAQ;EACR,OAAO;CACT,EACF;AACF,CACF;AAEA,MAAM,kBAAkB,IAAI,qBAAqB,cAAc;CAC7D,iBAAiB,EAAE,OAAO,kBAAkB;CAC5C,UAAU,EACR,OAAO;EACL,OAAO;EACP,QAAQ;EACR,OAAO;CACT,EACF;AACF,CAAC;AAED,MAAM,mBAAmB,IAAI,YAAY;CACvC,iBAAiB;EAAE,QAAQ;EAAO,OAAO;CAAkB;CAC3D,UAAU;EACR,QAAQ;GAAE,OAAO;GAAS,MAAM;EAA0B;EAC1D,OAAO;GACL,OAAO;GACP,QAAQ;GACR,OAAO;EACT;CACF;AACF,CAAC;AAED,MAAM,oBAAoB,IACxB,0EACF;AAEA,MAAM,gBAAgB,CAAC,SAAS,UAAU;AAE1C,MAAM,cAAc;CAAC;CAAU;CAAS;AAAO;AAE/C,MAAM,eAAe,QAAQ;CAC3B,QAAQ;EAAE,MAAM;EAAU,QAAQ;EAAmB,UAAU;CAAM;CACrE,OAAO;EAAE,MAAM;EAAS,QAAQ;EAAkB,UAAU;CAAM;CAClE,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAiB,UAAU;CAAK;CAC9D,OAAO;EAAE,MAAM;EAAS,QAAQ;EAAuB,UAAU;CAAM;CACvE,QAAQ;EAAE,MAAM;EAAU,QAAQ;EAAmB,UAAU;CAAM;CACrE,QAAQ;EAAE,MAAM;EAAU,QAAQ;EAAkB,UAAU;CAAM;CACpE,MAAM;EAAE,MAAM;EAAS,QAAQ;EAAa,UAAU;CAAK;CAC3D,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAiB,UAAU;CAAM;AACjE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"progressBar.js","names":[],"sources":["../../src/recipes/progressBar.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { anatomy } from '#anatomy'\nimport { tones } from '#parts/tone'\n\nimport { valueGlide } from './motion'\n\nconst progressBarTones = tones\n\nconst progressBarTrackRecipe = cva('block h-2.5 overflow-hidden rounded-tf-pill bg-tf-sunken')\n\nconst progressBarRangeRecipe = cva(['block h-full rounded-tf-pill bg-tf-blend', ...valueGlide])\n\nconst progressBarAnatomy = anatomy({\n root: { part: 'progress-bar', recipe: progressBarTrackRecipe, required: true },\n})\n\nexport { progressBarAnatomy, progressBarRangeRecipe, progressBarTones, progressBarTrackRecipe }\n"],"mappings":";;;;;AAOA,MAAM,mBAAmB;AAEzB,MAAM,yBAAyB,IAAI,0DAA0D;AAE7F,MAAM,yBAAyB,IAAI,CAAC,4CAA4C,GAAG,UAAU,CAAC;AAE9F,MAAM,qBAAqB,QAAQ,EACjC,MAAM;CAAE,MAAM;CAAgB,QAAQ;CAAwB,UAAU;AAAK,EAC/E,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"queue.js","names":[],"sources":["../../src/recipes/queue.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { anatomy } from '#anatomy'\n\nimport { tableRankRecipe } from './table'\n\nconst queueRecipe = cva('@container flex w-full flex-col gap-1 rounded-tf-block bg-tf-sunken p-3')\n\nconst queueRowRecipe = cva([\n 'flex items-center gap-3 rounded-tf-control px-4 py-3',\n 'tf-transition',\n 'data-highlighted:bg-tf-control',\n 'data-selected:tf-tinted data-selected:blend-tf-accent',\n])\n\nconst queueTextRecipe = cva('flex min-w-0 flex-1 flex-col gap-0')\n\nconst queueLeadRecipe = cva('truncate text-tf-body-sm font-medium text-tf-fg')\n\nconst queueHintRecipe = cva('truncate text-tf-caption-sm text-tf-muted')\n\nconst queueAgeRecipe = cva('flex w-16 flex-none flex-col items-end gap-1 @tf-panel:w-22')\n\nconst queueAgeLabelRecipe = cva('text-tf-caption-sm font-normal tabular-nums', {\n defaultVariants: { toned: false },\n variants: {\n toned: {\n false: 'text-tf-fg',\n true: '',\n },\n },\n})\n\nconst queueAgeTrackRecipe = cva('block h-1 w-full overflow-hidden rounded-tf-pill bg-tf-sunken-hi')\n\nconst queueAgeFillRecipe = cva('block h-full bg-tf-blend')\n\nconst queueDotRecipe = cva('size-2 flex-none rounded-tf-pill bg-tf-blend')\n\nconst queueAnatomy = anatomy({\n age: { part: 'age', recipe: queueAgeRecipe, required: true },\n dot: { part: 'dot', recipe: queueDotRecipe, required: false },\n hint: { part: 'hint', recipe: queueHintRecipe, required: true },\n lead: { part: 'lead', recipe: queueLeadRecipe, required: true },\n rank: { part: 'rank', recipe: tableRankRecipe, required: false },\n root: { part: 'queue', recipe: queueRecipe, required: true },\n})\n\nexport {\n queueAgeFillRecipe,\n queueAgeLabelRecipe,\n queueAgeRecipe,\n queueAgeTrackRecipe,\n queueAnatomy,\n queueDotRecipe,\n queueHintRecipe,\n queueLeadRecipe,\n queueRecipe,\n queueRowRecipe,\n queueTextRecipe,\n}\n"],"mappings":";;;;AAMA,MAAM,cAAc,IAAI,yEAAyE;AAEjG,MAAM,iBAAiB,IAAI;CACzB;CACA;CACA;CACA;AACF,CAAC;AAED,MAAM,kBAAkB,IAAI,oCAAoC;AAEhE,MAAM,kBAAkB,IAAI,iDAAiD;AAE7E,MAAM,kBAAkB,IAAI,2CAA2C;AAEvE,MAAM,iBAAiB,IAAI,6DAA6D;AAExF,MAAM,sBAAsB,IAAI,+CAA+C;CAC7E,iBAAiB,EAAE,OAAO,MAAM;CAChC,UAAU,EACR,OAAO;EACL,OAAO;EACP,MAAM;CACR,EACF;AACF,CAAC;AAED,MAAM,sBAAsB,IAAI,kEAAkE;AAElG,MAAM,qBAAqB,IAAI,0BAA0B;AAEzD,MAAM,iBAAiB,IAAI,8CAA8C;AAEzE,MAAM,eAAe,QAAQ;CAC3B,KAAK;EAAE,MAAM;EAAO,QAAQ;EAAgB,UAAU;CAAK;CAC3D,KAAK;EAAE,MAAM;EAAO,QAAQ;EAAgB,UAAU;CAAM;CAC5D,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAiB,UAAU;CAAK;CAC9D,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAiB,UAAU;CAAK;CAC9D,MAAM;EAAE,MAAM;EAAQ,QAAQ;EAAiB,UAAU;CAAM;CAC/D,MAAM;EAAE,MAAM;EAAS,QAAQ;EAAa,UAAU;CAAK;AAC7D,CAAC"}
|