@epilot/volt-ui-experimental-griffel 0.2.1 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ADOPTING.md +416 -0
- package/README.md +96 -17
- package/dist/_virtual/jsx-dev-runtime.js +5 -0
- package/dist/_virtual/jsx-dev-runtime.js.map +1 -0
- package/dist/_virtual/react-jsx-dev-runtime.development.js +5 -0
- package/dist/_virtual/react-jsx-dev-runtime.development.js.map +1 -0
- package/dist/_virtual/react-jsx-dev-runtime.production.js +5 -0
- package/dist/_virtual/react-jsx-dev-runtime.production.js.map +1 -0
- package/dist/components/accordion/accordion.js +126 -66
- package/dist/components/accordion/accordion.js.map +1 -1
- package/dist/components/alert-dialog/alert-dialog.js +239 -137
- package/dist/components/alert-dialog/alert-dialog.js.map +1 -1
- package/dist/components/avatar/avatar-group.js +102 -47
- package/dist/components/avatar/avatar-group.js.map +1 -1
- package/dist/components/avatar/avatar.js +99 -76
- package/dist/components/avatar/avatar.js.map +1 -1
- package/dist/components/badge/badge.js +56 -40
- package/dist/components/badge/badge.js.map +1 -1
- package/dist/components/breadcrumb/breadcrumb.js +97 -49
- package/dist/components/breadcrumb/breadcrumb.js.map +1 -1
- package/dist/components/button/button.js +89 -78
- package/dist/components/button/button.js.map +1 -1
- package/dist/components/button-group/button-group.js +57 -33
- package/dist/components/button-group/button-group.js.map +1 -1
- package/dist/components/callout/callout.js +288 -164
- package/dist/components/callout/callout.js.map +1 -1
- package/dist/components/card/card.js +138 -82
- package/dist/components/card/card.js.map +1 -1
- package/dist/components/checkbox/checkbox.js +100 -49
- package/dist/components/checkbox/checkbox.js.map +1 -1
- package/dist/components/collapsible-sidebar/collapsible-sidebar.js +155 -107
- package/dist/components/collapsible-sidebar/collapsible-sidebar.js.map +1 -1
- package/dist/components/command/command.js +295 -156
- package/dist/components/command/command.js.map +1 -1
- package/dist/components/data-table/data-table-body.js +114 -54
- package/dist/components/data-table/data-table-body.js.map +1 -1
- package/dist/components/data-table/data-table-column-header.js +117 -45
- package/dist/components/data-table/data-table-column-header.js.map +1 -1
- package/dist/components/data-table/data-table-column-visibility.js +98 -39
- package/dist/components/data-table/data-table-column-visibility.js.map +1 -1
- package/dist/components/data-table/data-table-content.js +90 -58
- package/dist/components/data-table/data-table-content.js.map +1 -1
- package/dist/components/data-table/data-table-error.js +86 -42
- package/dist/components/data-table/data-table-error.js.map +1 -1
- package/dist/components/data-table/data-table-header.js +88 -54
- package/dist/components/data-table/data-table-header.js.map +1 -1
- package/dist/components/data-table/data-table-loading.js +30 -18
- package/dist/components/data-table/data-table-loading.js.map +1 -1
- package/dist/components/data-table/data-table-pagination.js +27 -19
- package/dist/components/data-table/data-table-pagination.js.map +1 -1
- package/dist/components/data-table/data-table-row.js +87 -64
- package/dist/components/data-table/data-table-row.js.map +1 -1
- package/dist/components/data-table/data-table-toolbar.js +24 -16
- package/dist/components/data-table/data-table-toolbar.js.map +1 -1
- package/dist/components/data-table/data-table.js +182 -145
- package/dist/components/data-table/data-table.js.map +1 -1
- package/dist/components/date-range-picker/date-range-picker.js +342 -214
- package/dist/components/date-range-picker/date-range-picker.js.map +1 -1
- package/dist/components/date-range-picker/range-calendar.js +132 -92
- package/dist/components/date-range-picker/range-calendar.js.map +1 -1
- package/dist/components/date-time-picker/calendar.js +507 -323
- package/dist/components/date-time-picker/calendar.js.map +1 -1
- package/dist/components/date-time-picker/date-time-picker-context.js +64 -60
- package/dist/components/date-time-picker/date-time-picker-context.js.map +1 -1
- package/dist/components/date-time-picker/date-time-picker-input.js +249 -149
- package/dist/components/date-time-picker/date-time-picker-input.js.map +1 -1
- package/dist/components/date-time-picker/date-time-picker-panel.js +270 -156
- package/dist/components/date-time-picker/date-time-picker-panel.js.map +1 -1
- package/dist/components/date-time-picker/date-time-picker-popover.js +22 -14
- package/dist/components/date-time-picker/date-time-picker-popover.js.map +1 -1
- package/dist/components/date-time-picker/date-time-picker.js +118 -70
- package/dist/components/date-time-picker/date-time-picker.js.map +1 -1
- package/dist/components/date-time-picker/time-picker.js +204 -132
- package/dist/components/date-time-picker/time-picker.js.map +1 -1
- package/dist/components/density-provider/density-provider.js +48 -0
- package/dist/components/density-provider/density-provider.js.map +1 -0
- package/dist/components/dialog/dialog.js +281 -151
- package/dist/components/dialog/dialog.js.map +1 -1
- package/dist/components/drawer/drawer.js +272 -162
- package/dist/components/drawer/drawer.js.map +1 -1
- package/dist/components/dropdown-menu/dropdown-menu.js +376 -193
- package/dist/components/dropdown-menu/dropdown-menu.js.map +1 -1
- package/dist/components/field/field-combobox.js +447 -240
- package/dist/components/field/field-combobox.js.map +1 -1
- package/dist/components/field/field-select.js +23 -19
- package/dist/components/field/field-select.js.map +1 -1
- package/dist/components/field/field.js +315 -206
- package/dist/components/field/field.js.map +1 -1
- package/dist/components/label/label.js +24 -16
- package/dist/components/label/label.js.map +1 -1
- package/dist/components/list/list.js +623 -369
- package/dist/components/list/list.js.map +1 -1
- package/dist/components/option-card/option-card.js +323 -159
- package/dist/components/option-card/option-card.js.map +1 -1
- package/dist/components/pill/pill.js +91 -72
- package/dist/components/pill/pill.js.map +1 -1
- package/dist/components/popover/popover.js +99 -54
- package/dist/components/popover/popover.js.map +1 -1
- package/dist/components/radio/radio.js +92 -49
- package/dist/components/radio/radio.js.map +1 -1
- package/dist/components/scroll-overflow/scroll-overflow.js +349 -197
- package/dist/components/scroll-overflow/scroll-overflow.js.map +1 -1
- package/dist/components/segmented-control/segmented-control.js +141 -97
- package/dist/components/segmented-control/segmented-control.js.map +1 -1
- package/dist/components/select/select.js +452 -227
- package/dist/components/select/select.js.map +1 -1
- package/dist/components/separator/separator.js +24 -16
- package/dist/components/separator/separator.js.map +1 -1
- package/dist/components/skeleton/skeleton.js +78 -38
- package/dist/components/skeleton/skeleton.js.map +1 -1
- package/dist/components/spinner/spinner.js +44 -20
- package/dist/components/spinner/spinner.js.map +1 -1
- package/dist/components/switch/switch.js +163 -86
- package/dist/components/switch/switch.js.map +1 -1
- package/dist/components/table/table-pagination.js +468 -210
- package/dist/components/table/table-pagination.js.map +1 -1
- package/dist/components/table/table.js +212 -144
- package/dist/components/table/table.js.map +1 -1
- package/dist/components/tabs/tabs.js +94 -58
- package/dist/components/tabs/tabs.js.map +1 -1
- package/dist/components/text/text.js +40 -32
- package/dist/components/text/text.js.map +1 -1
- package/dist/components/toast/toast.js +189 -113
- package/dist/components/toast/toast.js.map +1 -1
- package/dist/components/toggle/toggle-group.js +40 -24
- package/dist/components/toggle/toggle-group.js.map +1 -1
- package/dist/components/toggle/toggle.js +50 -42
- package/dist/components/toggle/toggle.js.map +1 -1
- package/dist/components/tooltip/tooltip.js +101 -55
- package/dist/components/tooltip/tooltip.js.map +1 -1
- package/dist/index.d.ts +1675 -1068
- package/dist/index.js +286 -280
- package/dist/index.js.map +1 -1
- package/dist/lib/clear-button.js +27 -15
- package/dist/lib/clear-button.js.map +1 -1
- package/dist/lib/icons.js +18 -6
- package/dist/lib/icons.js.map +1 -1
- package/dist/packages/volt-runtime/dist/sheet.js +27 -10
- package/dist/packages/volt-runtime/dist/sheet.js.map +1 -1
- package/dist/packages/volt-runtime/dist/styles/recipe.js +76 -0
- package/dist/packages/volt-runtime/dist/styles/recipe.js.map +1 -0
- package/dist/styles/document-context.js +12 -0
- package/dist/styles/document-context.js.map +1 -0
- package/dist/styles/make-styles.js +18 -10
- package/dist/styles/make-styles.js.map +1 -1
- package/dist/tokens/core.generated.js +1239 -1153
- package/dist/tokens/core.generated.js.map +1 -1
- package/dist/tokens/index.d.ts +1103 -1054
- package/dist/tokens/index.js +1045 -996
- package/dist/tokens/index.js.map +1 -1
- package/dist/tokens/install.js +25 -9
- package/dist/tokens/install.js.map +1 -1
- package/dist/tokens/palette.generated.js +1323 -1293
- package/dist/tokens/palette.generated.js.map +1 -1
- package/dist/tokens/use-palette-tokens.js +20 -0
- package/dist/tokens/use-palette-tokens.js.map +1 -0
- package/dist/tokens.json +127 -2
- package/dist/vendor/react/cjs/react-jsx-dev-runtime.development.js +236 -0
- package/dist/vendor/react/cjs/react-jsx-dev-runtime.development.js.map +1 -0
- package/dist/vendor/react/cjs/react-jsx-dev-runtime.production.js +21 -0
- package/dist/vendor/react/cjs/react-jsx-dev-runtime.production.js.map +1 -0
- package/dist/vendor/react/jsx-dev-runtime.js +9 -0
- package/dist/vendor/react/jsx-dev-runtime.js.map +1 -0
- package/package.json +17 -4
- package/scripts/migration-diagnostics-core.mjs +859 -0
- package/scripts/migration-diagnostics.mjs +353 -0
- package/scripts/migration-sweep.mjs +179 -0
- package/testing/jest-preset.cjs +64 -0
- package/dist/packages/volt-runtime/dist/styles/make-styles.js +0 -22
- package/dist/packages/volt-runtime/dist/styles/make-styles.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callout.js","sources":["../../../src/components/callout/callout.tsx"],"sourcesContent":["import * as React from \"react\"\n\nimport { mergeClasses, shorthands } from \"@epilot/volt-ui-runtime\"\n\nimport { SLOT_ATTR } from \"../../renderer/contract\"\nimport { makeVoltStyles } from \"../../styles/make-styles\"\nimport { NS } from \"../../tokens\"\nimport * as tokens from \"../../tokens\"\nimport { ClearButton } from \"../../lib/clear-button\"\nimport { CloseIcon } from \"../../lib/icons\"\n\n/**\n * Callout — Badge's colour collapse applied to Card's compound pattern, in one makeVoltStyles call.\n *\n * v1 hardcodes two variants per family as class strings (`bg-accent-soft text-accent-a12`, ...).\n * Every variant is the same style shape — soft background, default-graded text — so the family is a\n * VALUE, not a class: two atoms read two inline custom properties that the component sets from the\n * `variant` prop. Adding a family costs zero rules, which the rule-count test asserts.\n *\n * Only five families appear — accent, gray, success, warning, error — and all five are core\n * families (accent / gray / error / warning / success / info ship in the core sheet), so no\n * `ensurePaletteTokens()` install is needed (CONVENTIONS rule 3).\n *\n * The icon/copy grid is gated on the `data-hide-icon` attribute exactly as v1 gates it with the\n * `data-[hide-icon=false]:` variants: when an icon is shown the root becomes a grid whose columns\n * reflow from `0 1fr auto` to `1rem 1fr` whenever an icon child is present. Selectors key on\n * SLOT_ATTR, never on `data-slot` (CONVENTIONS rule 4): v1's `[&>[data-slot=callout-icon]]` and\n * `has-data-[slot=callout-icon]` become a direct-child and a `:has()` rule over SLOT_ATTR.\n *\n * Values ported as literals because no token fits: `p-3` (0.75rem) padding, the icon gap (0.75rem),\n * `size-5` (1.25rem), `pr-10` (2.5rem), `gap-y-0.5` (0.125rem), and `leading-relaxed` (1.625).\n * `leading-none`-style numbers and Tailwind's `calc(var(--spacing)*4)` are resolved to real values.\n *\n * The dismiss button is the shared `ClearButton` from `lib/clear-button.tsx`, exactly as v1\n * composes it — the root keeps only the positioning (`absolute top-2 right-2 size-6`) and passes a\n * size-4 `CloseIcon` child (`lib/icons.tsx`), so hover tint, focus ring and the icon are identical\n * to v1's. `text-current` on the button is a no-op here (the root's `color: var(--FG)` inherits),\n * so it is not passed.\n */\n\nconst InfoIcon = React.forwardRef<SVGSVGElement, React.ComponentProps<\"svg\">>(\n function InfoIcon(props, ref) {\n return (\n <svg\n ref={ref}\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n {...props}\n >\n <path d=\"M12.0003 16.75C12.2129 16.75 12.391 16.6781 12.5345 16.5343C12.6782 16.3906 12.75 16.2125 12.75 16V11.75C12.75 11.5375 12.6781 11.3593 12.5343 11.2155C12.3904 11.0718 12.2122 11 11.9997 11C11.7871 11 11.609 11.0718 11.4655 11.2155C11.3218 11.3593 11.25 11.5375 11.25 11.75V16C11.25 16.2125 11.3219 16.3906 11.4658 16.5343C11.6096 16.6781 11.7878 16.75 12.0003 16.75ZM12 9.2885C12.2288 9.2885 12.4207 9.21108 12.5755 9.05625C12.7303 8.90142 12.8077 8.70958 12.8077 8.48075C12.8077 8.25192 12.7303 8.06008 12.5755 7.90525C12.4207 7.75058 12.2288 7.67325 12 7.67325C11.7712 7.67325 11.5793 7.75058 11.4245 7.90525C11.2697 8.06008 11.1923 8.25192 11.1923 8.48075C11.1923 8.70958 11.2697 8.90142 11.4245 9.05625C11.5793 9.21108 11.7712 9.2885 12 9.2885ZM12.0017 21.5C10.6877 21.5 9.45267 21.2507 8.2965 20.752C7.14033 20.2533 6.13467 19.5766 5.2795 18.7218C4.42433 17.8669 3.74725 16.8617 3.24825 15.706C2.74942 14.5503 2.5 13.3156 2.5 12.0017C2.5 10.6877 2.74933 9.45267 3.248 8.2965C3.74667 7.14033 4.42342 6.13467 5.27825 5.2795C6.13308 4.42433 7.13833 3.74725 8.294 3.24825C9.44967 2.74942 10.6844 2.5 11.9982 2.5C13.3122 2.5 14.5473 2.74933 15.7035 3.248C16.8597 3.74667 17.8653 4.42342 18.7205 5.27825C19.5757 6.13308 20.2528 7.13833 20.7518 8.294C21.2506 9.44967 21.5 10.6844 21.5 11.9982C21.5 13.3122 21.2507 14.5473 20.752 15.7035C20.2533 16.8597 19.5766 17.8653 18.7218 18.7205C17.8669 19.5757 16.8617 20.2528 15.706 20.7518C14.5503 21.2506 13.3156 21.5 12.0017 21.5Z\" />\n </svg>\n )\n }\n)\n\nconst WarningIcon = React.forwardRef<\n SVGSVGElement,\n React.ComponentProps<\"svg\">\n>(function WarningIcon(props, ref) {\n return (\n <svg\n ref={ref}\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n {...props}\n >\n <path d=\"M3.4255 20.5C3.256 20.5 3.10375 20.4586 2.96875 20.3757C2.83375 20.2929 2.72883 20.1837 2.654 20.048C2.576 19.9133 2.53308 19.7675 2.52525 19.6105C2.51742 19.4535 2.55975 19.298 2.65225 19.144L11.213 4.356C11.3057 4.202 11.4215 4.08817 11.5605 4.0145C11.6997 3.94083 11.8462 3.904 12 3.904C12.1538 3.904 12.3003 3.94083 12.4395 4.0145C12.5785 4.08817 12.6943 4.202 12.787 4.356L21.3477 19.144C21.4402 19.298 21.4826 19.4535 21.4747 19.6105C21.4669 19.7675 21.424 19.9133 21.346 20.048C21.2712 20.1837 21.1663 20.2929 21.0313 20.3757C20.8963 20.4586 20.744 20.5 20.5745 20.5H3.4255ZM12 17.8077C12.2288 17.8077 12.4207 17.7303 12.5755 17.5755C12.7303 17.4207 12.8078 17.2288 12.8078 17C12.8078 16.7712 12.7303 16.5793 12.5755 16.4245C12.4207 16.2697 12.2288 16.1923 12 16.1923C11.7712 16.1923 11.5793 16.2697 11.4245 16.4245C11.2697 16.5793 11.1923 16.7712 11.1923 17C11.1923 17.2288 11.2697 17.4207 11.4245 17.5755C11.5793 17.7303 11.7712 17.8077 12 17.8077ZM12.0003 15.1923C12.2129 15.1923 12.391 15.1204 12.5345 14.9768C12.6782 14.8329 12.75 14.6548 12.75 14.4423V10.9423C12.75 10.7298 12.6781 10.5517 12.5342 10.408C12.3904 10.2642 12.2122 10.1923 11.9997 10.1923C11.7871 10.1923 11.609 10.2642 11.4655 10.408C11.3218 10.5517 11.25 10.7298 11.25 10.9423V14.4423C11.25 14.6548 11.3219 14.8329 11.4658 14.9768C11.6096 15.1204 11.7878 15.1923 12.0003 15.1923Z\" />\n </svg>\n )\n})\n\nconst CheckIcon = React.forwardRef<SVGSVGElement, React.ComponentProps<\"svg\">>(\n function CheckIcon(props, ref) {\n return (\n <svg\n ref={ref}\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n {...props}\n >\n <path d=\"M10.5808 14.1463L8.25775 11.823C8.11925 11.6847 7.94517 11.6138 7.7355 11.6105C7.526 11.6073 7.34875 11.6782 7.20375 11.823C7.05892 11.968 6.9865 12.1437 6.9865 12.35C6.9865 12.5563 7.05892 12.732 7.20375 12.877L9.948 15.6212C10.1288 15.8019 10.3398 15.8922 10.5808 15.8922C10.8218 15.8922 11.0327 15.8019 11.2135 15.6212L16.777 10.0577C16.9153 9.91925 16.9862 9.74517 16.9895 9.5355C16.9927 9.326 16.9218 9.14875 16.777 9.00375C16.632 8.85892 16.4563 8.7865 16.25 8.7865C16.0437 8.7865 15.868 8.85892 15.723 9.00375L10.5808 14.1463ZM12.0017 21.5C10.6877 21.5 9.45267 21.2507 8.2965 20.752C7.14033 20.2533 6.13467 19.5766 5.2795 18.7218C4.42433 17.8669 3.74725 16.8617 3.24825 15.706C2.74942 14.5503 2.5 13.3156 2.5 12.0017C2.5 10.6877 2.74933 9.45267 3.248 8.2965C3.74667 7.14033 4.42342 6.13467 5.27825 5.2795C6.13308 4.42433 7.13833 3.74725 8.294 3.24825C9.44967 2.74942 10.6844 2.5 11.9982 2.5C13.3122 2.5 14.5473 2.74933 15.7035 3.248C16.8597 3.74667 17.8653 4.42342 18.7205 5.27825C19.5757 6.13308 20.2528 7.13833 20.7518 8.294C21.2506 9.44967 21.5 10.6844 21.5 11.9982C21.5 13.3122 21.2507 14.5473 20.752 15.7035C20.2533 16.8597 19.5766 17.8653 18.7218 18.7205C17.8669 19.5757 16.8617 20.2528 15.706 20.7518C14.5503 21.2506 13.3156 21.5 12.0017 21.5Z\" />\n </svg>\n )\n }\n)\n\nconst ErrorIcon = React.forwardRef<SVGSVGElement, React.ComponentProps<\"svg\">>(\n function ErrorIcon(props, ref) {\n return (\n <svg\n ref={ref}\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n {...props}\n >\n <path d=\"M12 16.7307C12.2288 16.7307 12.4207 16.6533 12.5755 16.4985C12.7303 16.3437 12.8077 16.1518 12.8077 15.923C12.8077 15.6942 12.7303 15.5023 12.5755 15.3475C12.4207 15.1928 12.2288 15.1155 12 15.1155C11.7712 15.1155 11.5793 15.1928 11.4245 15.3475C11.2697 15.5023 11.1923 15.6942 11.1923 15.923C11.1923 16.1518 11.2697 16.3437 11.4245 16.4985C11.5793 16.6533 11.7712 16.7307 12 16.7307ZM12.0003 13.077C12.2129 13.077 12.391 13.0051 12.5345 12.8613C12.6782 12.7176 12.75 12.5395 12.75 12.327V7.827C12.75 7.6145 12.6781 7.43633 12.5343 7.2925C12.3904 7.14883 12.2122 7.077 11.9997 7.077C11.7871 7.077 11.609 7.14883 11.4655 7.2925C11.3218 7.43633 11.25 7.6145 11.25 7.827V12.327C11.25 12.5395 11.3219 12.7176 11.4658 12.8613C11.6096 13.0051 11.7878 13.077 12.0003 13.077ZM12.0017 21.5C10.6877 21.5 9.45267 21.2507 8.2965 20.752C7.14033 20.2533 6.13467 19.5766 5.2795 18.7218C4.42433 17.8669 3.74725 16.8617 3.24825 15.706C2.74942 14.5503 2.5 13.3156 2.5 12.0017C2.5 10.6877 2.74933 9.45267 3.248 8.2965C3.74667 7.14033 4.42342 6.13467 5.27825 5.2795C6.13308 4.42433 7.13833 3.74725 8.294 3.24825C9.44967 2.74942 10.6844 2.5 11.9982 2.5C13.3122 2.5 14.5473 2.74933 15.7035 3.248C16.8597 3.74667 17.8653 4.42342 18.7205 5.27825C19.5757 6.13308 20.2528 7.13833 20.7518 8.294C21.2506 9.44967 21.5 10.6844 21.5 11.9982C21.5 13.3122 21.2507 14.5473 20.752 15.7035C20.2533 16.8597 19.5766 17.8653 18.7218 18.7205C17.8669 19.5757 16.8617 20.2528 15.706 20.7518C14.5503 21.2506 13.3156 21.5 12.0017 21.5Z\" />\n </svg>\n )\n }\n)\n\nexport type CalloutVariant =\n | \"info\"\n | \"gray\"\n | \"success\"\n | \"warning\"\n | \"destructive\"\n\ntype CalloutContextValue = {\n variant: CalloutVariant\n hideIcon: boolean\n}\n\nconst CalloutContext = React.createContext<CalloutContextValue>({\n variant: \"info\",\n hideIcon: false,\n})\n\n/**\n * The two slots a variant paints. Set inline; read by the root's atoms. Every variant is the same\n * style shape (soft background, default-graded text), so the five entries are data about five\n * families, not five class strings.\n */\nconst BG = \"--volt2-callout-bg\"\nconst FG = \"--volt2-callout-fg\"\n\nconst semantic = (family: string, slot: string): string =>\n `var(--volt2-${NS}-sem-${family}-${slot})`\n\nconst VARIANT_SLOTS: Record<CalloutVariant, () => Record<string, string>> = {\n info: () => ({\n [BG]: semantic(\"accent\", \"soft\"),\n [FG]: semantic(\"accent\", \"default\"),\n }),\n gray: () => ({\n [BG]: semantic(\"gray\", \"soft\"),\n [FG]: semantic(\"gray\", \"default\"),\n }),\n success: () => ({\n [BG]: semantic(\"success\", \"soft\"),\n [FG]: semantic(\"success\", \"default\"),\n }),\n warning: () => ({\n [BG]: semantic(\"warning\", \"soft\"),\n [FG]: semantic(\"warning\", \"default\"),\n }),\n destructive: () => ({\n [BG]: semantic(\"error\", \"soft\"),\n [FG]: semantic(\"error\", \"default\"),\n }),\n}\n\nconst useStyles = makeVoltStyles({\n root: {\n position: \"relative\",\n width: \"100%\",\n // p-3 — no token for 0.75rem.\n paddingTop: tokens.spacingElement3,\n paddingRight: tokens.spacingElement3,\n paddingBottom: tokens.spacingElement3,\n paddingLeft: tokens.spacingElement3,\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n backgroundColor: `var(${BG})`,\n color: `var(${FG})`,\n // `items-center`: present in every state, like v1's base string.\n alignItems: \"center\",\n // v1's `data-[hide-icon=false]:` block — the icon grid kicks in only when an icon renders.\n \"&[data-hide-icon='false']\": {\n display: \"grid\",\n gridTemplateColumns: \"0 1fr auto\",\n // gap-y-0.5 — no token for 0.125rem.\n rowGap: \"0.125rem\",\n // `has-[>svg]` and `has-data-[slot=callout-icon]` collapse to the same re-laid-out grid.\n \"&:has(>svg)\": {\n gridTemplateColumns: \"1rem 1fr\",\n // gap-x-3 — no token for 0.75rem.\n columnGap: tokens.spacingElement3,\n },\n [`&:has([${SLOT_ATTR}=\"callout-icon\"])`]: {\n gridTemplateColumns: \"1rem 1fr\",\n columnGap: tokens.spacingElement3,\n },\n },\n // v1 `[&>[data-slot=callout-icon]]` — SLOT_ATTR, never data-slot (CONVENTIONS rule 4).\n [`& > [${SLOT_ATTR}=\"callout-icon\"]`]: {\n // size-5 — no token for 1.25rem.\n width: \"1.25rem\",\n height: \"1.25rem\",\n flexShrink: 0,\n },\n },\n dismissible: {\n // pr-10 — no token for 2.5rem.\n paddingRight: \"2.5rem\",\n },\n title: {\n gridColumnStart: 2,\n ...shorthands.overflow(\"hidden\"),\n display: \"-webkit-box\",\n WebkitBoxOrient: \"vertical\",\n WebkitLineClamp: 1,\n // min-h-4\n minHeight: tokens.spacingGroup2,\n fontSize: tokens.textBase,\n lineHeight: tokens.leadingBase,\n fontWeight: tokens.fontWeightSemibold,\n },\n description: {\n gridColumnStart: 2,\n display: \"grid\",\n justifyItems: \"start\",\n ...shorthands.gap(tokens.spacingElement1),\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n \"& p\": {\n // leading-relaxed — no token for a 1.625 line-height.\n lineHeight: 1.625,\n },\n },\n action: {\n display: \"flex\",\n width: \"100%\",\n gridColumnEnd: \"span 3\",\n // mt-2\n marginTop: tokens.spacingElement2,\n },\n actionStart: {\n justifyContent: \"flex-start\",\n },\n actionStartIcon: {\n justifyContent: \"flex-start\",\n // ml-8\n marginLeft: tokens.spacingLayout2,\n },\n actionEnd: {\n justifyContent: \"flex-end\",\n },\n dismiss: {\n position: \"absolute\",\n // top-2 right-2\n top: tokens.spacingElement2,\n right: tokens.spacingElement2,\n // size-6 — the ClearButton itself supplies centering, rounding, hover and focus.\n width: tokens.spacingLayout1,\n height: tokens.spacingLayout1,\n },\n dismissIcon: {\n // size-4\n width: tokens.spacingGroup2,\n height: tokens.spacingGroup2,\n },\n})\n\nexport type CalloutProps = React.ComponentProps<\"div\"> & {\n variant?: CalloutVariant\n hideIcon?: boolean\n customIcon?: React.ReactNode\n /** Shows a top-right close button that dismisses the callout. */\n dismissible?: boolean\n /** Called when the close button is clicked, after the callout hides itself. */\n onDismiss?: () => void\n}\n\nexport const Callout = React.forwardRef<HTMLDivElement, CalloutProps>(\n function Callout(\n {\n className,\n variant = \"info\",\n hideIcon = false,\n customIcon,\n dismissible = false,\n onDismiss,\n style,\n children,\n ...props\n },\n ref\n ) {\n const [open, setOpen] = React.useState(true)\n const styles = useStyles()\n\n if (!open) {\n return null\n }\n\n const handleDismiss = () => {\n setOpen(false)\n onDismiss?.()\n }\n\n return (\n <CalloutContext.Provider value={{ variant, hideIcon }}>\n <div\n ref={ref}\n data-callout-variant={variant}\n data-slot=\"callout\"\n data-hide-icon={hideIcon ? \"true\" : \"false\"}\n data-dismissible={dismissible ? \"true\" : \"false\"}\n role=\"alert\"\n {...{ [SLOT_ATTR]: \"callout\" }}\n className={mergeClasses(\n styles.root,\n dismissible && styles.dismissible,\n className\n )}\n style={\n { ...VARIANT_SLOTS[variant](), ...style } as React.CSSProperties\n }\n {...props}\n >\n {!hideIcon && <CalloutIcon customIcon={customIcon} />}\n {children}\n {dismissible && (\n <ClearButton\n label=\"Dismiss\"\n onClick={handleDismiss}\n className={styles.dismiss}\n >\n <CloseIcon className={styles.dismissIcon} />\n </ClearButton>\n )}\n </div>\n </CalloutContext.Provider>\n )\n }\n)\n\nexport type CalloutTitleProps = React.ComponentProps<\"div\">\n\nexport const CalloutTitle = React.forwardRef<HTMLDivElement, CalloutTitleProps>(\n function CalloutTitle({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <div\n ref={ref}\n data-slot=\"callout-title\"\n {...{ [SLOT_ATTR]: \"callout-title\" }}\n className={mergeClasses(styles.title, className)}\n {...props}\n />\n )\n }\n)\n\nexport type CalloutDescriptionProps = React.ComponentProps<\"div\">\n\nexport const CalloutDescription = React.forwardRef<\n HTMLDivElement,\n CalloutDescriptionProps\n>(function CalloutDescription({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <div\n ref={ref}\n data-slot=\"callout-description\"\n {...{ [SLOT_ATTR]: \"callout-description\" }}\n className={mergeClasses(styles.description, className)}\n {...props}\n />\n )\n})\n\nexport type CalloutActionProps = React.ComponentProps<\"div\"> & {\n align?: \"start\" | \"end\"\n}\n\nexport const CalloutAction = React.forwardRef<\n HTMLDivElement,\n CalloutActionProps\n>(function CalloutAction({ className, align = \"start\", ...props }, ref) {\n const { hideIcon } = React.useContext(CalloutContext)\n const styles = useStyles()\n\n const alignment =\n align === \"end\"\n ? styles.actionEnd\n : hideIcon\n ? styles.actionStart\n : styles.actionStartIcon\n\n return (\n <div\n ref={ref}\n data-slot=\"callout-action\"\n data-align={align}\n {...{ [SLOT_ATTR]: \"callout-action\" }}\n className={mergeClasses(styles.action, alignment, className)}\n {...props}\n />\n )\n})\n\ntype CalloutVariantIconProps = React.ComponentProps<\"svg\"> & {\n customIcon?: React.ReactNode\n}\n\nconst CalloutVariantIcon = React.forwardRef<\n SVGSVGElement,\n CalloutVariantIconProps\n>(function CalloutVariantIcon({ customIcon, ...props }, ref) {\n const { variant } = React.useContext(CalloutContext)\n\n if (customIcon) {\n return customIcon\n }\n\n switch (variant) {\n case \"info\":\n return <InfoIcon ref={ref} {...props} />\n case \"success\":\n return <CheckIcon ref={ref} {...props} />\n case \"warning\":\n return <WarningIcon ref={ref} {...props} />\n case \"destructive\":\n return <ErrorIcon ref={ref} {...props} />\n }\n\n // gray has no default icon; v1 renders nothing for it.\n return null\n})\n\nexport type CalloutIconProps = React.ComponentProps<\"svg\"> & {\n customIcon?: React.ReactNode\n}\n\nconst CalloutIcon = React.forwardRef<SVGSVGElement, CalloutIconProps>(\n function CalloutIcon({ className, customIcon, ...props }, ref) {\n return (\n <CalloutVariantIcon\n ref={ref}\n data-slot=\"callout-icon\"\n {...{ [SLOT_ATTR]: \"callout-icon\" }}\n customIcon={customIcon}\n className={className}\n {...props}\n />\n )\n }\n)\n"],"names":["InfoIcon","React","props","ref","jsx","WarningIcon","CheckIcon","ErrorIcon","CalloutContext","BG","FG","semantic","family","slot","NS","VARIANT_SLOTS","useStyles","makeVoltStyles","tokens.spacingElement3","tokens.textSm","tokens.leadingSm","SLOT_ATTR","shorthands","tokens.spacingGroup2","tokens.textBase","tokens.leadingBase","tokens.fontWeightSemibold","tokens.spacingElement1","tokens.spacingElement2","tokens.spacingLayout2","tokens.spacingLayout1","Callout","className","variant","hideIcon","customIcon","dismissible","onDismiss","style","children","open","setOpen","styles","handleDismiss","jsxs","mergeClasses","CalloutIcon","ClearButton","CloseIcon","CalloutTitle","CalloutDescription","CalloutAction","align","alignment","CalloutVariantIcon"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"callout.js","sources":["../../../src/components/callout/callout.tsx"],"sourcesContent":["import * as React from \"react\"\n\nimport { mergeClasses, shorthands } from \"@epilot/volt-ui-runtime\"\n\nimport { SLOT_ATTR } from \"../../renderer/contract\"\nimport { makeVoltStyles } from \"../../styles/make-styles\"\nimport { NS } from \"../../tokens\"\nimport * as tokens from \"../../tokens\"\nimport { ClearButton } from \"../../lib/clear-button\"\nimport { CloseIcon } from \"../../lib/icons\"\n\n/**\n * Callout — Badge's colour collapse applied to Card's compound pattern, in one makeVoltStyles call.\n *\n * v1 hardcodes two variants per family as class strings (`bg-accent-soft text-accent-a12`, ...).\n * Every variant is the same style shape — soft background, default-graded text — so the family is a\n * VALUE, not a class: two atoms read two inline custom properties that the component sets from the\n * `variant` prop. Adding a family costs zero rules, which the rule-count test asserts.\n *\n * Only five families appear — accent, gray, success, warning, error — and all five are core\n * families (accent / gray / error / warning / success / info ship in the core sheet), so no\n * `ensurePaletteTokens()` install is needed (CONVENTIONS rule 3).\n *\n * The icon/copy grid is gated on the `data-hide-icon` attribute exactly as v1 gates it with the\n * `data-[hide-icon=false]:` variants: when an icon is shown the root becomes a grid whose columns\n * reflow from `0 1fr auto` to `1rem 1fr` whenever an icon child is present. Selectors key on\n * SLOT_ATTR, never on `data-slot` (CONVENTIONS rule 4): v1's `[&>[data-slot=callout-icon]]` and\n * `has-data-[slot=callout-icon]` become a direct-child and a `:has()` rule over SLOT_ATTR.\n *\n * Values ported as literals because no token fits: `p-3` (0.75rem) padding, the icon gap (0.75rem),\n * `size-5` (1.25rem), `pr-10` (2.5rem), `gap-y-0.5` (0.125rem), and `leading-relaxed` (1.625).\n * `leading-none`-style numbers and Tailwind's `calc(var(--spacing)*4)` are resolved to real values.\n *\n * The dismiss button is the shared `ClearButton` from `lib/clear-button.tsx`, exactly as v1\n * composes it — the root keeps only the positioning (`absolute top-2 right-2 size-6`) and passes a\n * size-4 `CloseIcon` child (`lib/icons.tsx`), so hover tint, focus ring and the icon are identical\n * to v1's. `text-current` on the button is a no-op here (the root's `color: var(--FG)` inherits),\n * so it is not passed.\n */\n\nconst InfoIcon = React.forwardRef<SVGSVGElement, React.ComponentProps<\"svg\">>(\n function InfoIcon(props, ref) {\n return (\n <svg\n ref={ref}\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n {...props}\n >\n <path d=\"M12.0003 16.75C12.2129 16.75 12.391 16.6781 12.5345 16.5343C12.6782 16.3906 12.75 16.2125 12.75 16V11.75C12.75 11.5375 12.6781 11.3593 12.5343 11.2155C12.3904 11.0718 12.2122 11 11.9997 11C11.7871 11 11.609 11.0718 11.4655 11.2155C11.3218 11.3593 11.25 11.5375 11.25 11.75V16C11.25 16.2125 11.3219 16.3906 11.4658 16.5343C11.6096 16.6781 11.7878 16.75 12.0003 16.75ZM12 9.2885C12.2288 9.2885 12.4207 9.21108 12.5755 9.05625C12.7303 8.90142 12.8077 8.70958 12.8077 8.48075C12.8077 8.25192 12.7303 8.06008 12.5755 7.90525C12.4207 7.75058 12.2288 7.67325 12 7.67325C11.7712 7.67325 11.5793 7.75058 11.4245 7.90525C11.2697 8.06008 11.1923 8.25192 11.1923 8.48075C11.1923 8.70958 11.2697 8.90142 11.4245 9.05625C11.5793 9.21108 11.7712 9.2885 12 9.2885ZM12.0017 21.5C10.6877 21.5 9.45267 21.2507 8.2965 20.752C7.14033 20.2533 6.13467 19.5766 5.2795 18.7218C4.42433 17.8669 3.74725 16.8617 3.24825 15.706C2.74942 14.5503 2.5 13.3156 2.5 12.0017C2.5 10.6877 2.74933 9.45267 3.248 8.2965C3.74667 7.14033 4.42342 6.13467 5.27825 5.2795C6.13308 4.42433 7.13833 3.74725 8.294 3.24825C9.44967 2.74942 10.6844 2.5 11.9982 2.5C13.3122 2.5 14.5473 2.74933 15.7035 3.248C16.8597 3.74667 17.8653 4.42342 18.7205 5.27825C19.5757 6.13308 20.2528 7.13833 20.7518 8.294C21.2506 9.44967 21.5 10.6844 21.5 11.9982C21.5 13.3122 21.2507 14.5473 20.752 15.7035C20.2533 16.8597 19.5766 17.8653 18.7218 18.7205C17.8669 19.5757 16.8617 20.2528 15.706 20.7518C14.5503 21.2506 13.3156 21.5 12.0017 21.5Z\" />\n </svg>\n )\n }\n)\n\nconst WarningIcon = React.forwardRef<\n SVGSVGElement,\n React.ComponentProps<\"svg\">\n>(function WarningIcon(props, ref) {\n return (\n <svg\n ref={ref}\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n {...props}\n >\n <path d=\"M3.4255 20.5C3.256 20.5 3.10375 20.4586 2.96875 20.3757C2.83375 20.2929 2.72883 20.1837 2.654 20.048C2.576 19.9133 2.53308 19.7675 2.52525 19.6105C2.51742 19.4535 2.55975 19.298 2.65225 19.144L11.213 4.356C11.3057 4.202 11.4215 4.08817 11.5605 4.0145C11.6997 3.94083 11.8462 3.904 12 3.904C12.1538 3.904 12.3003 3.94083 12.4395 4.0145C12.5785 4.08817 12.6943 4.202 12.787 4.356L21.3477 19.144C21.4402 19.298 21.4826 19.4535 21.4747 19.6105C21.4669 19.7675 21.424 19.9133 21.346 20.048C21.2712 20.1837 21.1663 20.2929 21.0313 20.3757C20.8963 20.4586 20.744 20.5 20.5745 20.5H3.4255ZM12 17.8077C12.2288 17.8077 12.4207 17.7303 12.5755 17.5755C12.7303 17.4207 12.8078 17.2288 12.8078 17C12.8078 16.7712 12.7303 16.5793 12.5755 16.4245C12.4207 16.2697 12.2288 16.1923 12 16.1923C11.7712 16.1923 11.5793 16.2697 11.4245 16.4245C11.2697 16.5793 11.1923 16.7712 11.1923 17C11.1923 17.2288 11.2697 17.4207 11.4245 17.5755C11.5793 17.7303 11.7712 17.8077 12 17.8077ZM12.0003 15.1923C12.2129 15.1923 12.391 15.1204 12.5345 14.9768C12.6782 14.8329 12.75 14.6548 12.75 14.4423V10.9423C12.75 10.7298 12.6781 10.5517 12.5342 10.408C12.3904 10.2642 12.2122 10.1923 11.9997 10.1923C11.7871 10.1923 11.609 10.2642 11.4655 10.408C11.3218 10.5517 11.25 10.7298 11.25 10.9423V14.4423C11.25 14.6548 11.3219 14.8329 11.4658 14.9768C11.6096 15.1204 11.7878 15.1923 12.0003 15.1923Z\" />\n </svg>\n )\n})\n\nconst CheckIcon = React.forwardRef<SVGSVGElement, React.ComponentProps<\"svg\">>(\n function CheckIcon(props, ref) {\n return (\n <svg\n ref={ref}\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n {...props}\n >\n <path d=\"M10.5808 14.1463L8.25775 11.823C8.11925 11.6847 7.94517 11.6138 7.7355 11.6105C7.526 11.6073 7.34875 11.6782 7.20375 11.823C7.05892 11.968 6.9865 12.1437 6.9865 12.35C6.9865 12.5563 7.05892 12.732 7.20375 12.877L9.948 15.6212C10.1288 15.8019 10.3398 15.8922 10.5808 15.8922C10.8218 15.8922 11.0327 15.8019 11.2135 15.6212L16.777 10.0577C16.9153 9.91925 16.9862 9.74517 16.9895 9.5355C16.9927 9.326 16.9218 9.14875 16.777 9.00375C16.632 8.85892 16.4563 8.7865 16.25 8.7865C16.0437 8.7865 15.868 8.85892 15.723 9.00375L10.5808 14.1463ZM12.0017 21.5C10.6877 21.5 9.45267 21.2507 8.2965 20.752C7.14033 20.2533 6.13467 19.5766 5.2795 18.7218C4.42433 17.8669 3.74725 16.8617 3.24825 15.706C2.74942 14.5503 2.5 13.3156 2.5 12.0017C2.5 10.6877 2.74933 9.45267 3.248 8.2965C3.74667 7.14033 4.42342 6.13467 5.27825 5.2795C6.13308 4.42433 7.13833 3.74725 8.294 3.24825C9.44967 2.74942 10.6844 2.5 11.9982 2.5C13.3122 2.5 14.5473 2.74933 15.7035 3.248C16.8597 3.74667 17.8653 4.42342 18.7205 5.27825C19.5757 6.13308 20.2528 7.13833 20.7518 8.294C21.2506 9.44967 21.5 10.6844 21.5 11.9982C21.5 13.3122 21.2507 14.5473 20.752 15.7035C20.2533 16.8597 19.5766 17.8653 18.7218 18.7205C17.8669 19.5757 16.8617 20.2528 15.706 20.7518C14.5503 21.2506 13.3156 21.5 12.0017 21.5Z\" />\n </svg>\n )\n }\n)\n\nconst ErrorIcon = React.forwardRef<SVGSVGElement, React.ComponentProps<\"svg\">>(\n function ErrorIcon(props, ref) {\n return (\n <svg\n ref={ref}\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n {...props}\n >\n <path d=\"M12 16.7307C12.2288 16.7307 12.4207 16.6533 12.5755 16.4985C12.7303 16.3437 12.8077 16.1518 12.8077 15.923C12.8077 15.6942 12.7303 15.5023 12.5755 15.3475C12.4207 15.1928 12.2288 15.1155 12 15.1155C11.7712 15.1155 11.5793 15.1928 11.4245 15.3475C11.2697 15.5023 11.1923 15.6942 11.1923 15.923C11.1923 16.1518 11.2697 16.3437 11.4245 16.4985C11.5793 16.6533 11.7712 16.7307 12 16.7307ZM12.0003 13.077C12.2129 13.077 12.391 13.0051 12.5345 12.8613C12.6782 12.7176 12.75 12.5395 12.75 12.327V7.827C12.75 7.6145 12.6781 7.43633 12.5343 7.2925C12.3904 7.14883 12.2122 7.077 11.9997 7.077C11.7871 7.077 11.609 7.14883 11.4655 7.2925C11.3218 7.43633 11.25 7.6145 11.25 7.827V12.327C11.25 12.5395 11.3219 12.7176 11.4658 12.8613C11.6096 13.0051 11.7878 13.077 12.0003 13.077ZM12.0017 21.5C10.6877 21.5 9.45267 21.2507 8.2965 20.752C7.14033 20.2533 6.13467 19.5766 5.2795 18.7218C4.42433 17.8669 3.74725 16.8617 3.24825 15.706C2.74942 14.5503 2.5 13.3156 2.5 12.0017C2.5 10.6877 2.74933 9.45267 3.248 8.2965C3.74667 7.14033 4.42342 6.13467 5.27825 5.2795C6.13308 4.42433 7.13833 3.74725 8.294 3.24825C9.44967 2.74942 10.6844 2.5 11.9982 2.5C13.3122 2.5 14.5473 2.74933 15.7035 3.248C16.8597 3.74667 17.8653 4.42342 18.7205 5.27825C19.5757 6.13308 20.2528 7.13833 20.7518 8.294C21.2506 9.44967 21.5 10.6844 21.5 11.9982C21.5 13.3122 21.2507 14.5473 20.752 15.7035C20.2533 16.8597 19.5766 17.8653 18.7218 18.7205C17.8669 19.5757 16.8617 20.2528 15.706 20.7518C14.5503 21.2506 13.3156 21.5 12.0017 21.5Z\" />\n </svg>\n )\n }\n)\n\nexport type CalloutVariant =\n | \"info\"\n | \"gray\"\n | \"success\"\n | \"warning\"\n | \"destructive\"\n\ntype CalloutContextValue = {\n variant: CalloutVariant\n hideIcon: boolean\n}\n\nconst CalloutContext = React.createContext<CalloutContextValue>({\n variant: \"info\",\n hideIcon: false,\n})\n\n/**\n * The two slots a variant paints. Set inline; read by the root's atoms. Every variant is the same\n * style shape (soft background, default-graded text), so the five entries are data about five\n * families, not five class strings.\n */\nconst BG = \"--volt2-callout-bg\"\nconst FG = \"--volt2-callout-fg\"\n\nconst semantic = (family: string, slot: string): string =>\n `var(--volt2-${NS}-sem-${family}-${slot})`\n\nconst VARIANT_SLOTS: Record<CalloutVariant, () => Record<string, string>> = {\n info: () => ({\n [BG]: semantic(\"accent\", \"soft\"),\n [FG]: semantic(\"accent\", \"default\"),\n }),\n gray: () => ({\n [BG]: semantic(\"gray\", \"soft\"),\n [FG]: semantic(\"gray\", \"default\"),\n }),\n success: () => ({\n [BG]: semantic(\"success\", \"soft\"),\n [FG]: semantic(\"success\", \"default\"),\n }),\n warning: () => ({\n [BG]: semantic(\"warning\", \"soft\"),\n [FG]: semantic(\"warning\", \"default\"),\n }),\n destructive: () => ({\n [BG]: semantic(\"error\", \"soft\"),\n [FG]: semantic(\"error\", \"default\"),\n }),\n}\n\nconst useStyles = makeVoltStyles({\n root: {\n position: \"relative\",\n width: \"100%\",\n // p-3 — no token for 0.75rem.\n paddingTop: tokens.spacingElement3,\n paddingRight: tokens.spacingElement3,\n paddingBottom: tokens.spacingElement3,\n paddingLeft: tokens.spacingElement3,\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n backgroundColor: `var(${BG})`,\n color: `var(${FG})`,\n // `items-center`: present in every state, like v1's base string.\n alignItems: \"center\",\n // v1's `data-[hide-icon=false]:` block — the icon grid kicks in only when an icon renders.\n \"&[data-hide-icon='false']\": {\n display: \"grid\",\n gridTemplateColumns: \"0 1fr auto\",\n // gap-y-0.5 — no token for 0.125rem.\n rowGap: \"0.125rem\",\n // `has-[>svg]` and `has-data-[slot=callout-icon]` collapse to the same re-laid-out grid.\n \"&:has(>svg)\": {\n gridTemplateColumns: \"1rem 1fr\",\n // gap-x-3 — no token for 0.75rem.\n columnGap: tokens.spacingElement3,\n },\n [`&:has([${SLOT_ATTR}=\"callout-icon\"])`]: {\n gridTemplateColumns: \"1rem 1fr\",\n columnGap: tokens.spacingElement3,\n },\n },\n // v1 `[&>[data-slot=callout-icon]]` — SLOT_ATTR, never data-slot (CONVENTIONS rule 4).\n [`& > [${SLOT_ATTR}=\"callout-icon\"]`]: {\n // size-5 — no token for 1.25rem.\n width: \"1.25rem\",\n height: \"1.25rem\",\n flexShrink: 0,\n },\n },\n dismissible: {\n // pr-10 — no token for 2.5rem.\n paddingRight: \"2.5rem\",\n },\n title: {\n gridColumnStart: 2,\n ...shorthands.overflow(\"hidden\"),\n display: \"-webkit-box\",\n WebkitBoxOrient: \"vertical\",\n WebkitLineClamp: 1,\n // min-h-4\n minHeight: tokens.spacingGroup2,\n fontSize: tokens.textBase,\n lineHeight: tokens.leadingBase,\n fontWeight: tokens.fontWeightSemibold,\n },\n description: {\n gridColumnStart: 2,\n display: \"grid\",\n justifyItems: \"start\",\n ...shorthands.gap(tokens.spacingElement1),\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n \"& p\": {\n // leading-relaxed — no token for a 1.625 line-height.\n lineHeight: 1.625,\n },\n },\n action: {\n display: \"flex\",\n width: \"100%\",\n gridColumnEnd: \"span 3\",\n // mt-2\n marginTop: tokens.spacingElement2,\n },\n actionStart: {\n justifyContent: \"flex-start\",\n },\n actionStartIcon: {\n justifyContent: \"flex-start\",\n // ml-8\n marginLeft: tokens.spacingLayout2,\n },\n actionEnd: {\n justifyContent: \"flex-end\",\n },\n dismiss: {\n position: \"absolute\",\n // top-2 right-2\n top: tokens.spacingElement2,\n right: tokens.spacingElement2,\n // size-6 — the ClearButton itself supplies centering, rounding, hover and focus.\n width: tokens.spacingLayout1,\n height: tokens.spacingLayout1,\n },\n dismissIcon: {\n // size-4\n width: tokens.spacingGroup2,\n height: tokens.spacingGroup2,\n },\n})\n\nexport type CalloutProps = React.ComponentProps<\"div\"> & {\n variant?: CalloutVariant\n hideIcon?: boolean\n customIcon?: React.ReactNode\n /** Shows a top-right close button that dismisses the callout. */\n dismissible?: boolean\n /** Called when the close button is clicked, after the callout hides itself. */\n onDismiss?: () => void\n}\n\nexport const Callout = React.forwardRef<HTMLDivElement, CalloutProps>(\n function Callout(\n {\n className,\n variant = \"info\",\n hideIcon = false,\n customIcon,\n dismissible = false,\n onDismiss,\n style,\n children,\n ...props\n },\n ref\n ) {\n const [open, setOpen] = React.useState(true)\n const styles = useStyles()\n\n if (!open) {\n return null\n }\n\n const handleDismiss = () => {\n setOpen(false)\n onDismiss?.()\n }\n\n return (\n <CalloutContext.Provider value={{ variant, hideIcon }}>\n <div\n ref={ref}\n data-callout-variant={variant}\n data-slot=\"callout\"\n data-hide-icon={hideIcon ? \"true\" : \"false\"}\n data-dismissible={dismissible ? \"true\" : \"false\"}\n role=\"alert\"\n {...{ [SLOT_ATTR]: \"callout\" }}\n className={mergeClasses(\n styles.root,\n dismissible && styles.dismissible,\n className\n )}\n style={\n { ...VARIANT_SLOTS[variant](), ...style } as React.CSSProperties\n }\n {...props}\n >\n {!hideIcon && <CalloutIcon customIcon={customIcon} />}\n {children}\n {dismissible && (\n <ClearButton\n label=\"Dismiss\"\n onClick={handleDismiss}\n className={styles.dismiss}\n >\n <CloseIcon className={styles.dismissIcon} />\n </ClearButton>\n )}\n </div>\n </CalloutContext.Provider>\n )\n }\n)\n\nexport type CalloutTitleProps = React.ComponentProps<\"div\">\n\nexport const CalloutTitle = React.forwardRef<HTMLDivElement, CalloutTitleProps>(\n function CalloutTitle({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <div\n ref={ref}\n data-slot=\"callout-title\"\n {...{ [SLOT_ATTR]: \"callout-title\" }}\n className={mergeClasses(styles.title, className)}\n {...props}\n />\n )\n }\n)\n\nexport type CalloutDescriptionProps = React.ComponentProps<\"div\">\n\nexport const CalloutDescription = React.forwardRef<\n HTMLDivElement,\n CalloutDescriptionProps\n>(function CalloutDescription({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <div\n ref={ref}\n data-slot=\"callout-description\"\n {...{ [SLOT_ATTR]: \"callout-description\" }}\n className={mergeClasses(styles.description, className)}\n {...props}\n />\n )\n})\n\nexport type CalloutActionProps = React.ComponentProps<\"div\"> & {\n align?: \"start\" | \"end\"\n}\n\nexport const CalloutAction = React.forwardRef<\n HTMLDivElement,\n CalloutActionProps\n>(function CalloutAction({ className, align = \"start\", ...props }, ref) {\n const { hideIcon } = React.useContext(CalloutContext)\n const styles = useStyles()\n\n const alignment =\n align === \"end\"\n ? styles.actionEnd\n : hideIcon\n ? styles.actionStart\n : styles.actionStartIcon\n\n return (\n <div\n ref={ref}\n data-slot=\"callout-action\"\n data-align={align}\n {...{ [SLOT_ATTR]: \"callout-action\" }}\n className={mergeClasses(styles.action, alignment, className)}\n {...props}\n />\n )\n})\n\ntype CalloutVariantIconProps = React.ComponentProps<\"svg\"> & {\n customIcon?: React.ReactNode\n}\n\nconst CalloutVariantIcon = React.forwardRef<\n SVGSVGElement,\n CalloutVariantIconProps\n>(function CalloutVariantIcon({ customIcon, ...props }, ref) {\n const { variant } = React.useContext(CalloutContext)\n\n if (customIcon) {\n return customIcon\n }\n\n switch (variant) {\n case \"info\":\n return <InfoIcon ref={ref} {...props} />\n case \"success\":\n return <CheckIcon ref={ref} {...props} />\n case \"warning\":\n return <WarningIcon ref={ref} {...props} />\n case \"destructive\":\n return <ErrorIcon ref={ref} {...props} />\n }\n\n // gray has no default icon; v1 renders nothing for it.\n return null\n})\n\nexport type CalloutIconProps = React.ComponentProps<\"svg\"> & {\n customIcon?: React.ReactNode\n}\n\nconst CalloutIcon = React.forwardRef<SVGSVGElement, CalloutIconProps>(\n function CalloutIcon({ className, customIcon, ...props }, ref) {\n return (\n <CalloutVariantIcon\n ref={ref}\n data-slot=\"callout-icon\"\n {...{ [SLOT_ATTR]: \"callout-icon\" }}\n customIcon={customIcon}\n className={className}\n {...props}\n />\n )\n }\n)\n"],"names":["InfoIcon","React","props","ref","jsxDEV","WarningIcon","CheckIcon","ErrorIcon","CalloutContext","BG","FG","semantic","family","slot","NS","VARIANT_SLOTS","useStyles","makeVoltStyles","tokens.spacingElement3","tokens.textSm","tokens.leadingSm","SLOT_ATTR","shorthands","tokens.spacingGroup2","tokens.textBase","tokens.leadingBase","tokens.fontWeightSemibold","tokens.spacingElement1","tokens.spacingElement2","tokens.spacingLayout2","tokens.spacingLayout1","Callout","className","variant","hideIcon","customIcon","dismissible","onDismiss","style","children","open","setOpen","styles","handleDismiss","mergeClasses","CalloutIcon","ClearButton","CloseIcon","CalloutTitle","CalloutDescription","CalloutAction","align","alignment","CalloutVariantIcon"],"mappings":"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"}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import * as
|
|
3
|
-
import { shorthands as
|
|
4
|
-
import { SLOT_ATTR as
|
|
5
|
-
import { mergeClasses as
|
|
1
|
+
import { j as s } from "../../vendor/react/jsx-dev-runtime.js";
|
|
2
|
+
import * as n from "react";
|
|
3
|
+
import { shorthands as m } from "../../packages/volt-runtime/dist/vendor/@griffel/core/src/index.js";
|
|
4
|
+
import { SLOT_ATTR as i } from "../../packages/volt-runtime/dist/renderer/contract.js";
|
|
5
|
+
import { mergeClasses as l } from "../../packages/volt-runtime/dist/vendor/@griffel/core/src/mergeClasses.js";
|
|
6
6
|
import { makeVoltStyles as p } from "../../styles/make-styles.js";
|
|
7
|
-
import {
|
|
8
|
-
const
|
|
7
|
+
import { spacingElement2 as f, radiusXl as u, spacingGroup2 as o, leadingSm as g, textSm as x, grayA11 as N, fontWeightSemibold as b, body as h } from "../../tokens/index.js";
|
|
8
|
+
const d = p({
|
|
9
9
|
root: {
|
|
10
|
-
backgroundColor:
|
|
10
|
+
backgroundColor: h,
|
|
11
11
|
display: "flex",
|
|
12
12
|
flexDirection: "column",
|
|
13
|
-
...
|
|
14
|
-
...
|
|
15
|
-
...
|
|
16
|
-
paddingTop:
|
|
17
|
-
paddingBottom:
|
|
13
|
+
...m.gap(o),
|
|
14
|
+
...m.borderRadius(u),
|
|
15
|
+
...m.border("1px", "solid", "transparent"),
|
|
16
|
+
paddingTop: o,
|
|
17
|
+
paddingBottom: o,
|
|
18
18
|
boxShadow: "0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)"
|
|
19
19
|
},
|
|
20
20
|
header: {
|
|
@@ -24,25 +24,25 @@ const c = p({
|
|
|
24
24
|
gridAutoRows: "min-content",
|
|
25
25
|
gridTemplateRows: "auto auto",
|
|
26
26
|
alignItems: "start",
|
|
27
|
-
...
|
|
28
|
-
paddingLeft:
|
|
29
|
-
paddingRight:
|
|
27
|
+
...m.gap(f),
|
|
28
|
+
paddingLeft: o,
|
|
29
|
+
paddingRight: o,
|
|
30
30
|
"&:is(.border-b)": {
|
|
31
|
-
paddingBottom:
|
|
31
|
+
paddingBottom: o
|
|
32
32
|
},
|
|
33
|
-
[`&:has([${
|
|
33
|
+
[`&:has([${i}="card-action"])`]: {
|
|
34
34
|
gridTemplateColumns: "1fr auto"
|
|
35
35
|
}
|
|
36
36
|
},
|
|
37
37
|
title: {
|
|
38
38
|
// v1 `leading-none` — a literal 1 because no token exists for it.
|
|
39
39
|
lineHeight: 1,
|
|
40
|
-
fontWeight:
|
|
40
|
+
fontWeight: b
|
|
41
41
|
},
|
|
42
42
|
description: {
|
|
43
|
-
color:
|
|
44
|
-
fontSize:
|
|
45
|
-
lineHeight:
|
|
43
|
+
color: N,
|
|
44
|
+
fontSize: x,
|
|
45
|
+
lineHeight: g
|
|
46
46
|
},
|
|
47
47
|
action: {
|
|
48
48
|
gridColumnStart: 2,
|
|
@@ -52,122 +52,178 @@ const c = p({
|
|
|
52
52
|
justifySelf: "end"
|
|
53
53
|
},
|
|
54
54
|
content: {
|
|
55
|
-
paddingLeft:
|
|
56
|
-
paddingRight:
|
|
55
|
+
paddingLeft: o,
|
|
56
|
+
paddingRight: o
|
|
57
57
|
},
|
|
58
58
|
footer: {
|
|
59
59
|
display: "flex",
|
|
60
60
|
alignItems: "center",
|
|
61
|
-
paddingLeft:
|
|
62
|
-
paddingRight:
|
|
61
|
+
paddingLeft: o,
|
|
62
|
+
paddingRight: o,
|
|
63
63
|
"&:is(.border-t)": {
|
|
64
|
-
paddingTop:
|
|
64
|
+
paddingTop: o
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
|
-
}),
|
|
68
|
-
const
|
|
69
|
-
return /* @__PURE__ */
|
|
67
|
+
}), D = n.forwardRef(function({ className: e, ...r }, a) {
|
|
68
|
+
const t = d();
|
|
69
|
+
return /* @__PURE__ */ s.jsxDEV(
|
|
70
70
|
"div",
|
|
71
71
|
{
|
|
72
72
|
ref: a,
|
|
73
73
|
"data-slot": "card",
|
|
74
|
-
[
|
|
75
|
-
className:
|
|
74
|
+
[i]: "card",
|
|
75
|
+
className: l(t.root, e),
|
|
76
76
|
...r
|
|
77
|
-
}
|
|
77
|
+
},
|
|
78
|
+
void 0,
|
|
79
|
+
!1,
|
|
80
|
+
{
|
|
81
|
+
fileName: "/Users/wilianmolinari/repos/volt-ui-rollout/release/packages/experimental-griffel/src/components/card/card.tsx",
|
|
82
|
+
lineNumber: 100,
|
|
83
|
+
columnNumber: 5
|
|
84
|
+
},
|
|
85
|
+
this
|
|
78
86
|
);
|
|
79
|
-
}),
|
|
80
|
-
function({ className:
|
|
81
|
-
const
|
|
82
|
-
return /* @__PURE__ */
|
|
87
|
+
}), j = n.forwardRef(
|
|
88
|
+
function({ className: e, ...r }, a) {
|
|
89
|
+
const t = d();
|
|
90
|
+
return /* @__PURE__ */ s.jsxDEV(
|
|
83
91
|
"div",
|
|
84
92
|
{
|
|
85
93
|
ref: a,
|
|
86
94
|
"data-slot": "card-header",
|
|
87
|
-
[
|
|
88
|
-
className:
|
|
95
|
+
[i]: "card-header",
|
|
96
|
+
className: l(t.header, e),
|
|
89
97
|
...r
|
|
90
|
-
}
|
|
98
|
+
},
|
|
99
|
+
void 0,
|
|
100
|
+
!1,
|
|
101
|
+
{
|
|
102
|
+
fileName: "/Users/wilianmolinari/repos/volt-ui-rollout/release/packages/experimental-griffel/src/components/card/card.tsx",
|
|
103
|
+
lineNumber: 115,
|
|
104
|
+
columnNumber: 7
|
|
105
|
+
},
|
|
106
|
+
this
|
|
91
107
|
);
|
|
92
108
|
}
|
|
93
|
-
),
|
|
94
|
-
function({ className:
|
|
95
|
-
const
|
|
96
|
-
return /* @__PURE__ */
|
|
109
|
+
), E = n.forwardRef(
|
|
110
|
+
function({ className: e, ...r }, a) {
|
|
111
|
+
const t = d();
|
|
112
|
+
return /* @__PURE__ */ s.jsxDEV(
|
|
97
113
|
"div",
|
|
98
114
|
{
|
|
99
115
|
ref: a,
|
|
100
116
|
"data-slot": "card-title",
|
|
101
|
-
[
|
|
102
|
-
className:
|
|
117
|
+
[i]: "card-title",
|
|
118
|
+
className: l(t.title, e),
|
|
103
119
|
...r
|
|
104
|
-
}
|
|
120
|
+
},
|
|
121
|
+
void 0,
|
|
122
|
+
!1,
|
|
123
|
+
{
|
|
124
|
+
fileName: "/Users/wilianmolinari/repos/volt-ui-rollout/release/packages/experimental-griffel/src/components/card/card.tsx",
|
|
125
|
+
lineNumber: 131,
|
|
126
|
+
columnNumber: 7
|
|
127
|
+
},
|
|
128
|
+
this
|
|
105
129
|
);
|
|
106
130
|
}
|
|
107
|
-
),
|
|
108
|
-
function({ className:
|
|
109
|
-
const
|
|
110
|
-
return /* @__PURE__ */
|
|
131
|
+
), T = n.forwardRef(
|
|
132
|
+
function({ className: e, ...r }, a) {
|
|
133
|
+
const t = d();
|
|
134
|
+
return /* @__PURE__ */ s.jsxDEV(
|
|
111
135
|
"div",
|
|
112
136
|
{
|
|
113
137
|
ref: a,
|
|
114
138
|
"data-slot": "card-description",
|
|
115
|
-
[
|
|
116
|
-
className:
|
|
139
|
+
[i]: "card-description",
|
|
140
|
+
className: l(t.description, e),
|
|
117
141
|
...r
|
|
118
|
-
}
|
|
142
|
+
},
|
|
143
|
+
void 0,
|
|
144
|
+
!1,
|
|
145
|
+
{
|
|
146
|
+
fileName: "/Users/wilianmolinari/repos/volt-ui-rollout/release/packages/experimental-griffel/src/components/card/card.tsx",
|
|
147
|
+
lineNumber: 147,
|
|
148
|
+
columnNumber: 7
|
|
149
|
+
},
|
|
150
|
+
this
|
|
119
151
|
);
|
|
120
152
|
}
|
|
121
|
-
),
|
|
122
|
-
function({ className:
|
|
123
|
-
const
|
|
124
|
-
return /* @__PURE__ */
|
|
153
|
+
), k = n.forwardRef(
|
|
154
|
+
function({ className: e, ...r }, a) {
|
|
155
|
+
const t = d();
|
|
156
|
+
return /* @__PURE__ */ s.jsxDEV(
|
|
125
157
|
"div",
|
|
126
158
|
{
|
|
127
159
|
ref: a,
|
|
128
160
|
"data-slot": "card-action",
|
|
129
|
-
[
|
|
130
|
-
className:
|
|
161
|
+
[i]: "card-action",
|
|
162
|
+
className: l(t.action, e),
|
|
131
163
|
...r
|
|
132
|
-
}
|
|
164
|
+
},
|
|
165
|
+
void 0,
|
|
166
|
+
!1,
|
|
167
|
+
{
|
|
168
|
+
fileName: "/Users/wilianmolinari/repos/volt-ui-rollout/release/packages/experimental-griffel/src/components/card/card.tsx",
|
|
169
|
+
lineNumber: 163,
|
|
170
|
+
columnNumber: 7
|
|
171
|
+
},
|
|
172
|
+
this
|
|
133
173
|
);
|
|
134
174
|
}
|
|
135
|
-
),
|
|
136
|
-
function({ className:
|
|
137
|
-
const
|
|
138
|
-
return /* @__PURE__ */
|
|
175
|
+
), V = n.forwardRef(
|
|
176
|
+
function({ className: e, ...r }, a) {
|
|
177
|
+
const t = d();
|
|
178
|
+
return /* @__PURE__ */ s.jsxDEV(
|
|
139
179
|
"div",
|
|
140
180
|
{
|
|
141
181
|
ref: a,
|
|
142
182
|
"data-slot": "card-content",
|
|
143
|
-
[
|
|
144
|
-
className:
|
|
183
|
+
[i]: "card-content",
|
|
184
|
+
className: l(t.content, e),
|
|
145
185
|
...r
|
|
146
|
-
}
|
|
186
|
+
},
|
|
187
|
+
void 0,
|
|
188
|
+
!1,
|
|
189
|
+
{
|
|
190
|
+
fileName: "/Users/wilianmolinari/repos/volt-ui-rollout/release/packages/experimental-griffel/src/components/card/card.tsx",
|
|
191
|
+
lineNumber: 179,
|
|
192
|
+
columnNumber: 7
|
|
193
|
+
},
|
|
194
|
+
this
|
|
147
195
|
);
|
|
148
196
|
}
|
|
149
|
-
),
|
|
150
|
-
function({ className:
|
|
151
|
-
const
|
|
152
|
-
return /* @__PURE__ */
|
|
197
|
+
), U = n.forwardRef(
|
|
198
|
+
function({ className: e, ...r }, a) {
|
|
199
|
+
const t = d();
|
|
200
|
+
return /* @__PURE__ */ s.jsxDEV(
|
|
153
201
|
"div",
|
|
154
202
|
{
|
|
155
203
|
ref: a,
|
|
156
204
|
"data-slot": "card-footer",
|
|
157
|
-
[
|
|
158
|
-
className:
|
|
205
|
+
[i]: "card-footer",
|
|
206
|
+
className: l(t.footer, e),
|
|
159
207
|
...r
|
|
160
|
-
}
|
|
208
|
+
},
|
|
209
|
+
void 0,
|
|
210
|
+
!1,
|
|
211
|
+
{
|
|
212
|
+
fileName: "/Users/wilianmolinari/repos/volt-ui-rollout/release/packages/experimental-griffel/src/components/card/card.tsx",
|
|
213
|
+
lineNumber: 195,
|
|
214
|
+
columnNumber: 7
|
|
215
|
+
},
|
|
216
|
+
this
|
|
161
217
|
);
|
|
162
218
|
}
|
|
163
219
|
);
|
|
164
220
|
export {
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
221
|
+
D as Card,
|
|
222
|
+
k as CardAction,
|
|
223
|
+
V as CardContent,
|
|
224
|
+
T as CardDescription,
|
|
225
|
+
U as CardFooter,
|
|
226
|
+
j as CardHeader,
|
|
227
|
+
E as CardTitle
|
|
172
228
|
};
|
|
173
229
|
//# sourceMappingURL=card.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card.js","sources":["../../../src/components/card/card.tsx"],"sourcesContent":["import * as React from \"react\"\n\nimport { mergeClasses, shorthands } from \"@epilot/volt-ui-runtime\"\n\nimport { SLOT_ATTR } from \"../../renderer/contract\"\nimport { makeVoltStyles } from \"../../styles/make-styles\"\nimport * as tokens from \"../../tokens\"\n\n/**\n * Card — the first compound component: ONE `makeVoltStyles` call for the whole family, one slot per\n * sub-component, and each sub-component reads its own slot. Callout, Breadcrumb and Table copy\n * this pattern.\n *\n * v1 expresses every sub-component as a Tailwind class string; here each class becomes atoms over\n * tokens. The header keeps v1's container-query behaviour: `@container/card-header` becomes\n * `containerType`/`containerName`, `has-data-[slot=card-action]` becomes a `:has()` rule keyed on\n * SLOT_ATTR (per CONVENTIONS rule 4, never on `data-slot`), and the `[.border-b]` / `[.border-t]`\n * arbitrary variants stay `:is()` selectors over the same class names v1 targeted.\n *\n * Two v1 values are literals because no token fits: the card root's box-shadow (Tailwind v4's\n * `shadow-sm`, the two-stop default; v2 has no shadow family) and `leading-none`'s line-height of\n * 1 (CONVENTIONS rule 1).\n *\n * `text-body-default` on the root is deliberately absent. v1 resolves that class to\n * `color: var(--color-body-default)`, a variable its own theme never defines, so in v1 the root's\n * colour is inherited — the declaration is a no-op. Omitting it reproduces that exactly, and the\n * rest of the family already sets its own colours (`gray-a11` here is a core token).\n */\n\nconst useStyles = makeVoltStyles({\n root: {\n backgroundColor: tokens.body,\n display: \"flex\",\n flexDirection: \"column\",\n ...shorthands.gap(tokens.spacingGroup2),\n ...shorthands.borderRadius(tokens.radiusXl),\n ...shorthands.border(\"1px\", \"solid\", \"transparent\"),\n paddingTop: tokens.spacingGroup2,\n paddingBottom: tokens.spacingGroup2,\n boxShadow: \"0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)\",\n },\n header: {\n containerType: \"inline-size\",\n containerName: \"card-header\",\n display: \"grid\",\n gridAutoRows: \"min-content\",\n gridTemplateRows: \"auto auto\",\n alignItems: \"start\",\n ...shorthands.gap(tokens.spacingElement2),\n paddingLeft: tokens.spacingGroup2,\n paddingRight: tokens.spacingGroup2,\n \"&:is(.border-b)\": {\n paddingBottom: tokens.spacingGroup2,\n },\n [`&:has([${SLOT_ATTR}=\"card-action\"])`]: {\n gridTemplateColumns: \"1fr auto\",\n },\n },\n title: {\n // v1 `leading-none` — a literal 1 because no token exists for it.\n lineHeight: 1,\n fontWeight: tokens.fontWeightSemibold,\n },\n description: {\n color: tokens.grayA11,\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n },\n action: {\n gridColumnStart: 2,\n gridRowStart: 1,\n gridRowEnd: \"span 2\",\n alignSelf: \"start\",\n justifySelf: \"end\",\n },\n content: {\n paddingLeft: tokens.spacingGroup2,\n paddingRight: tokens.spacingGroup2,\n },\n footer: {\n display: \"flex\",\n alignItems: \"center\",\n paddingLeft: tokens.spacingGroup2,\n paddingRight: tokens.spacingGroup2,\n \"&:is(.border-t)\": {\n paddingTop: tokens.spacingGroup2,\n },\n },\n})\n\nexport type CardProps = React.ComponentProps<\"div\">\n\nexport const Card = React.forwardRef<HTMLDivElement, CardProps>(function Card(\n { className, ...props },\n ref\n) {\n const styles = useStyles()\n\n return (\n <div\n ref={ref}\n data-slot=\"card\"\n {...{ [SLOT_ATTR]: \"card\" }}\n className={mergeClasses(styles.root, className)}\n {...props}\n />\n )\n})\n\nexport const CardHeader = React.forwardRef<HTMLDivElement, CardProps>(\n function CardHeader({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <div\n ref={ref}\n data-slot=\"card-header\"\n {...{ [SLOT_ATTR]: \"card-header\" }}\n className={mergeClasses(styles.header, className)}\n {...props}\n />\n )\n }\n)\n\nexport const CardTitle = React.forwardRef<HTMLDivElement, CardProps>(\n function CardTitle({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <div\n ref={ref}\n data-slot=\"card-title\"\n {...{ [SLOT_ATTR]: \"card-title\" }}\n className={mergeClasses(styles.title, className)}\n {...props}\n />\n )\n }\n)\n\nexport const CardDescription = React.forwardRef<HTMLDivElement, CardProps>(\n function CardDescription({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <div\n ref={ref}\n data-slot=\"card-description\"\n {...{ [SLOT_ATTR]: \"card-description\" }}\n className={mergeClasses(styles.description, className)}\n {...props}\n />\n )\n }\n)\n\nexport const CardAction = React.forwardRef<HTMLDivElement, CardProps>(\n function CardAction({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <div\n ref={ref}\n data-slot=\"card-action\"\n {...{ [SLOT_ATTR]: \"card-action\" }}\n className={mergeClasses(styles.action, className)}\n {...props}\n />\n )\n }\n)\n\nexport const CardContent = React.forwardRef<HTMLDivElement, CardProps>(\n function CardContent({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <div\n ref={ref}\n data-slot=\"card-content\"\n {...{ [SLOT_ATTR]: \"card-content\" }}\n className={mergeClasses(styles.content, className)}\n {...props}\n />\n )\n }\n)\n\nexport const CardFooter = React.forwardRef<HTMLDivElement, CardProps>(\n function CardFooter({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <div\n ref={ref}\n data-slot=\"card-footer\"\n {...{ [SLOT_ATTR]: \"card-footer\" }}\n className={mergeClasses(styles.footer, className)}\n {...props}\n />\n )\n }\n)\n"],"names":["useStyles","makeVoltStyles","tokens.body","shorthands","tokens.spacingGroup2","tokens.radiusXl","tokens.spacingElement2","SLOT_ATTR","tokens.fontWeightSemibold","tokens.grayA11","tokens.textSm","tokens.leadingSm","Card","React","className","props","ref","styles","jsx","mergeClasses","CardHeader","CardTitle","CardDescription","CardAction","CardContent","CardFooter"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"card.js","sources":["../../../src/components/card/card.tsx"],"sourcesContent":["import * as React from \"react\"\n\nimport { mergeClasses, shorthands } from \"@epilot/volt-ui-runtime\"\n\nimport { SLOT_ATTR } from \"../../renderer/contract\"\nimport { makeVoltStyles } from \"../../styles/make-styles\"\nimport * as tokens from \"../../tokens\"\n\n/**\n * Card — the first compound component: ONE `makeVoltStyles` call for the whole family, one slot per\n * sub-component, and each sub-component reads its own slot. Callout, Breadcrumb and Table copy\n * this pattern.\n *\n * v1 expresses every sub-component as a Tailwind class string; here each class becomes atoms over\n * tokens. The header keeps v1's container-query behaviour: `@container/card-header` becomes\n * `containerType`/`containerName`, `has-data-[slot=card-action]` becomes a `:has()` rule keyed on\n * SLOT_ATTR (per CONVENTIONS rule 4, never on `data-slot`), and the `[.border-b]` / `[.border-t]`\n * arbitrary variants stay `:is()` selectors over the same class names v1 targeted.\n *\n * Two v1 values are literals because no token fits: the card root's box-shadow (Tailwind v4's\n * `shadow-sm`, the two-stop default; v2 has no shadow family) and `leading-none`'s line-height of\n * 1 (CONVENTIONS rule 1).\n *\n * `text-body-default` on the root is deliberately absent. v1 resolves that class to\n * `color: var(--color-body-default)`, a variable its own theme never defines, so in v1 the root's\n * colour is inherited — the declaration is a no-op. Omitting it reproduces that exactly, and the\n * rest of the family already sets its own colours (`gray-a11` here is a core token).\n */\n\nconst useStyles = makeVoltStyles({\n root: {\n backgroundColor: tokens.body,\n display: \"flex\",\n flexDirection: \"column\",\n ...shorthands.gap(tokens.spacingGroup2),\n ...shorthands.borderRadius(tokens.radiusXl),\n ...shorthands.border(\"1px\", \"solid\", \"transparent\"),\n paddingTop: tokens.spacingGroup2,\n paddingBottom: tokens.spacingGroup2,\n boxShadow: \"0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)\",\n },\n header: {\n containerType: \"inline-size\",\n containerName: \"card-header\",\n display: \"grid\",\n gridAutoRows: \"min-content\",\n gridTemplateRows: \"auto auto\",\n alignItems: \"start\",\n ...shorthands.gap(tokens.spacingElement2),\n paddingLeft: tokens.spacingGroup2,\n paddingRight: tokens.spacingGroup2,\n \"&:is(.border-b)\": {\n paddingBottom: tokens.spacingGroup2,\n },\n [`&:has([${SLOT_ATTR}=\"card-action\"])`]: {\n gridTemplateColumns: \"1fr auto\",\n },\n },\n title: {\n // v1 `leading-none` — a literal 1 because no token exists for it.\n lineHeight: 1,\n fontWeight: tokens.fontWeightSemibold,\n },\n description: {\n color: tokens.grayA11,\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n },\n action: {\n gridColumnStart: 2,\n gridRowStart: 1,\n gridRowEnd: \"span 2\",\n alignSelf: \"start\",\n justifySelf: \"end\",\n },\n content: {\n paddingLeft: tokens.spacingGroup2,\n paddingRight: tokens.spacingGroup2,\n },\n footer: {\n display: \"flex\",\n alignItems: \"center\",\n paddingLeft: tokens.spacingGroup2,\n paddingRight: tokens.spacingGroup2,\n \"&:is(.border-t)\": {\n paddingTop: tokens.spacingGroup2,\n },\n },\n})\n\nexport type CardProps = React.ComponentProps<\"div\">\n\nexport const Card = React.forwardRef<HTMLDivElement, CardProps>(function Card(\n { className, ...props },\n ref\n) {\n const styles = useStyles()\n\n return (\n <div\n ref={ref}\n data-slot=\"card\"\n {...{ [SLOT_ATTR]: \"card\" }}\n className={mergeClasses(styles.root, className)}\n {...props}\n />\n )\n})\n\nexport const CardHeader = React.forwardRef<HTMLDivElement, CardProps>(\n function CardHeader({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <div\n ref={ref}\n data-slot=\"card-header\"\n {...{ [SLOT_ATTR]: \"card-header\" }}\n className={mergeClasses(styles.header, className)}\n {...props}\n />\n )\n }\n)\n\nexport const CardTitle = React.forwardRef<HTMLDivElement, CardProps>(\n function CardTitle({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <div\n ref={ref}\n data-slot=\"card-title\"\n {...{ [SLOT_ATTR]: \"card-title\" }}\n className={mergeClasses(styles.title, className)}\n {...props}\n />\n )\n }\n)\n\nexport const CardDescription = React.forwardRef<HTMLDivElement, CardProps>(\n function CardDescription({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <div\n ref={ref}\n data-slot=\"card-description\"\n {...{ [SLOT_ATTR]: \"card-description\" }}\n className={mergeClasses(styles.description, className)}\n {...props}\n />\n )\n }\n)\n\nexport const CardAction = React.forwardRef<HTMLDivElement, CardProps>(\n function CardAction({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <div\n ref={ref}\n data-slot=\"card-action\"\n {...{ [SLOT_ATTR]: \"card-action\" }}\n className={mergeClasses(styles.action, className)}\n {...props}\n />\n )\n }\n)\n\nexport const CardContent = React.forwardRef<HTMLDivElement, CardProps>(\n function CardContent({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <div\n ref={ref}\n data-slot=\"card-content\"\n {...{ [SLOT_ATTR]: \"card-content\" }}\n className={mergeClasses(styles.content, className)}\n {...props}\n />\n )\n }\n)\n\nexport const CardFooter = React.forwardRef<HTMLDivElement, CardProps>(\n function CardFooter({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <div\n ref={ref}\n data-slot=\"card-footer\"\n {...{ [SLOT_ATTR]: \"card-footer\" }}\n className={mergeClasses(styles.footer, className)}\n {...props}\n />\n )\n }\n)\n"],"names":["useStyles","makeVoltStyles","tokens.body","shorthands","tokens.spacingGroup2","tokens.radiusXl","tokens.spacingElement2","SLOT_ATTR","tokens.fontWeightSemibold","tokens.grayA11","tokens.textSm","tokens.leadingSm","Card","React","className","props","ref","styles","jsxDEV","mergeClasses","CardHeader","CardTitle","CardDescription","CardAction","CardContent","CardFooter"],"mappings":"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"}
|