@epilot/volt-ui-experimental-griffel 0.3.0 → 0.3.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.
Files changed (140) hide show
  1. package/dist/components/accordion/accordion.js +66 -126
  2. package/dist/components/accordion/accordion.js.map +1 -1
  3. package/dist/components/alert-dialog/alert-dialog.js +138 -238
  4. package/dist/components/alert-dialog/alert-dialog.js.map +1 -1
  5. package/dist/components/avatar/avatar-group.js +47 -102
  6. package/dist/components/avatar/avatar-group.js.map +1 -1
  7. package/dist/components/avatar/avatar.js +72 -96
  8. package/dist/components/avatar/avatar.js.map +1 -1
  9. package/dist/components/badge/badge.js +48 -56
  10. package/dist/components/badge/badge.js.map +1 -1
  11. package/dist/components/breadcrumb/breadcrumb.js +49 -97
  12. package/dist/components/breadcrumb/breadcrumb.js.map +1 -1
  13. package/dist/components/button/button.js +49 -57
  14. package/dist/components/button/button.js.map +1 -1
  15. package/dist/components/button-group/button-group.js +31 -55
  16. package/dist/components/button-group/button-group.js.map +1 -1
  17. package/dist/components/callout/callout.js +164 -288
  18. package/dist/components/callout/callout.js.map +1 -1
  19. package/dist/components/card/card.js +81 -137
  20. package/dist/components/card/card.js.map +1 -1
  21. package/dist/components/checkbox/checkbox.js +48 -96
  22. package/dist/components/checkbox/checkbox.js.map +1 -1
  23. package/dist/components/collapsible-sidebar/collapsible-sidebar.js +107 -155
  24. package/dist/components/collapsible-sidebar/collapsible-sidebar.js.map +1 -1
  25. package/dist/components/command/command.js +161 -285
  26. package/dist/components/command/command.js.map +1 -1
  27. package/dist/components/data-table/data-table-body.js +54 -114
  28. package/dist/components/data-table/data-table-body.js.map +1 -1
  29. package/dist/components/data-table/data-table-column-header.js +45 -117
  30. package/dist/components/data-table/data-table-column-header.js.map +1 -1
  31. package/dist/components/data-table/data-table-column-visibility.js +39 -98
  32. package/dist/components/data-table/data-table-column-visibility.js.map +1 -1
  33. package/dist/components/data-table/data-table-content.js +58 -90
  34. package/dist/components/data-table/data-table-content.js.map +1 -1
  35. package/dist/components/data-table/data-table-error.js +39 -83
  36. package/dist/components/data-table/data-table-error.js.map +1 -1
  37. package/dist/components/data-table/data-table-header.js +54 -88
  38. package/dist/components/data-table/data-table-header.js.map +1 -1
  39. package/dist/components/data-table/data-table-loading.js +15 -27
  40. package/dist/components/data-table/data-table-loading.js.map +1 -1
  41. package/dist/components/data-table/data-table-pagination.js +19 -27
  42. package/dist/components/data-table/data-table-pagination.js.map +1 -1
  43. package/dist/components/data-table/data-table-row.js +64 -87
  44. package/dist/components/data-table/data-table-row.js.map +1 -1
  45. package/dist/components/data-table/data-table-toolbar.js +16 -24
  46. package/dist/components/data-table/data-table-toolbar.js.map +1 -1
  47. package/dist/components/data-table/data-table.js +145 -181
  48. package/dist/components/data-table/data-table.js.map +1 -1
  49. package/dist/components/date-range-picker/date-range-picker.js +214 -342
  50. package/dist/components/date-range-picker/date-range-picker.js.map +1 -1
  51. package/dist/components/date-range-picker/range-calendar.js +92 -132
  52. package/dist/components/date-range-picker/range-calendar.js.map +1 -1
  53. package/dist/components/date-time-picker/calendar.js +317 -501
  54. package/dist/components/date-time-picker/calendar.js.map +1 -1
  55. package/dist/components/date-time-picker/date-time-picker-context.js +60 -64
  56. package/dist/components/date-time-picker/date-time-picker-context.js.map +1 -1
  57. package/dist/components/date-time-picker/date-time-picker-input.js +149 -249
  58. package/dist/components/date-time-picker/date-time-picker-input.js.map +1 -1
  59. package/dist/components/date-time-picker/date-time-picker-panel.js +165 -273
  60. package/dist/components/date-time-picker/date-time-picker-panel.js.map +1 -1
  61. package/dist/components/date-time-picker/date-time-picker-popover.js +14 -22
  62. package/dist/components/date-time-picker/date-time-picker-popover.js.map +1 -1
  63. package/dist/components/date-time-picker/date-time-picker.js +90 -134
  64. package/dist/components/date-time-picker/date-time-picker.js.map +1 -1
  65. package/dist/components/date-time-picker/time-picker.js +132 -198
  66. package/dist/components/date-time-picker/time-picker.js.map +1 -1
  67. package/dist/components/density-provider/density-provider.js +19 -39
  68. package/dist/components/density-provider/density-provider.js.map +1 -1
  69. package/dist/components/dialog/dialog.js +145 -253
  70. package/dist/components/dialog/dialog.js.map +1 -1
  71. package/dist/components/drawer/drawer.js +164 -272
  72. package/dist/components/drawer/drawer.js.map +1 -1
  73. package/dist/components/dropdown-menu/dropdown-menu.js +204 -384
  74. package/dist/components/dropdown-menu/dropdown-menu.js.map +1 -1
  75. package/dist/components/field/field-combobox.js +243 -435
  76. package/dist/components/field/field-combobox.js.map +1 -1
  77. package/dist/components/field/field-select.js +19 -23
  78. package/dist/components/field/field-select.js.map +1 -1
  79. package/dist/components/field/field.js +189 -297
  80. package/dist/components/field/field.js.map +1 -1
  81. package/dist/components/label/label.js +19 -27
  82. package/dist/components/label/label.js.map +1 -1
  83. package/dist/components/list/list.js +315 -595
  84. package/dist/components/list/list.js.map +1 -1
  85. package/dist/components/option-card/option-card.js +159 -323
  86. package/dist/components/option-card/option-card.js.map +1 -1
  87. package/dist/components/pill/pill.js +68 -84
  88. package/dist/components/pill/pill.js.map +1 -1
  89. package/dist/components/popover/popover.js +48 -84
  90. package/dist/components/popover/popover.js.map +1 -1
  91. package/dist/components/radio/radio.js +49 -89
  92. package/dist/components/radio/radio.js.map +1 -1
  93. package/dist/components/scroll-overflow/scroll-overflow.js +198 -350
  94. package/dist/components/scroll-overflow/scroll-overflow.js.map +1 -1
  95. package/dist/components/segmented-control/segmented-control.js +97 -141
  96. package/dist/components/segmented-control/segmented-control.js.map +1 -1
  97. package/dist/components/select/select.js +200 -396
  98. package/dist/components/select/select.js.map +1 -1
  99. package/dist/components/separator/separator.js +16 -24
  100. package/dist/components/separator/separator.js.map +1 -1
  101. package/dist/components/skeleton/skeleton.js +43 -83
  102. package/dist/components/skeleton/skeleton.js.map +1 -1
  103. package/dist/components/spinner/spinner.js +20 -44
  104. package/dist/components/spinner/spinner.js.map +1 -1
  105. package/dist/components/switch/switch.js +83 -155
  106. package/dist/components/switch/switch.js.map +1 -1
  107. package/dist/components/table/table-pagination.js +210 -468
  108. package/dist/components/table/table-pagination.js.map +1 -1
  109. package/dist/components/table/table.js +131 -211
  110. package/dist/components/table/table.js.map +1 -1
  111. package/dist/components/tabs/tabs.js +58 -94
  112. package/dist/components/tabs/tabs.js.map +1 -1
  113. package/dist/components/text/text.js +32 -40
  114. package/dist/components/text/text.js.map +1 -1
  115. package/dist/components/toast/toast.js +111 -187
  116. package/dist/components/toast/toast.js.map +1 -1
  117. package/dist/components/toggle/toggle-group.js +24 -40
  118. package/dist/components/toggle/toggle-group.js.map +1 -1
  119. package/dist/components/toggle/toggle.js +39 -47
  120. package/dist/components/toggle/toggle.js.map +1 -1
  121. package/dist/components/tooltip/tooltip.js +62 -106
  122. package/dist/components/tooltip/tooltip.js.map +1 -1
  123. package/dist/lib/clear-button.js +15 -27
  124. package/dist/lib/clear-button.js.map +1 -1
  125. package/dist/lib/icons.js +6 -18
  126. package/dist/lib/icons.js.map +1 -1
  127. package/dist/tokens.json +1 -1
  128. package/package.json +1 -1
  129. package/dist/_virtual/jsx-dev-runtime.js +0 -5
  130. package/dist/_virtual/jsx-dev-runtime.js.map +0 -1
  131. package/dist/_virtual/react-jsx-dev-runtime.development.js +0 -5
  132. package/dist/_virtual/react-jsx-dev-runtime.development.js.map +0 -1
  133. package/dist/_virtual/react-jsx-dev-runtime.production.js +0 -5
  134. package/dist/_virtual/react-jsx-dev-runtime.production.js.map +0 -1
  135. package/dist/vendor/react/cjs/react-jsx-dev-runtime.development.js +0 -236
  136. package/dist/vendor/react/cjs/react-jsx-dev-runtime.development.js.map +0 -1
  137. package/dist/vendor/react/cjs/react-jsx-dev-runtime.production.js +0 -21
  138. package/dist/vendor/react/cjs/react-jsx-dev-runtime.production.js.map +0 -1
  139. package/dist/vendor/react/jsx-dev-runtime.js +0 -9
  140. package/dist/vendor/react/jsx-dev-runtime.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"select.js","sources":["../../../src/components/select/select.tsx"],"sourcesContent":["import * as React from \"react\"\n\nimport * as SelectPrimitive from \"@radix-ui/react-select\"\nimport { mergeClasses, shorthands } from \"@epilot/volt-ui-runtime\"\n\nimport { useDensity } from \"../density-provider/density-provider\"\nimport { SLOT_ATTR } from \"../../renderer/contract\"\nimport { makeVoltStyles } from \"../../styles/make-styles\"\nimport * as tokens from \"../../tokens\"\n\nconst XIcon = (props: React.SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24px\"\n viewBox=\"0 -960 960 960\"\n width=\"24px\"\n fill=\"currentColor\"\n {...props}\n >\n <path d=\"M480-424 284-228q-11 11-28 11t-28-11q-11-11-11-28t11-28l196-196-196-196q-11-11-11-28t11-28q11-11 28-11t28 11l196 196 196-196q11-11 28-11t28 11q11 11 11 28t-11 28L536-480l196 196q11 11 11 28t-11 28q-11 11-28 11t-28-11L480-424Z\" />\n </svg>\n)\n\nconst CheckIcon = (props: React.SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24px\"\n viewBox=\"0 -960 960 960\"\n width=\"24px\"\n fill=\"currentColor\"\n {...props}\n >\n <path d=\"m382-354 339-339q12-12 28-12t28 12q12 12 12 28.5T777-636L410-268q-12 12-28 12t-28-12L182-440q-12-12-11.5-28.5T183-497q12-12 28.5-12t28.5 12l142 143Z\" />\n </svg>\n)\n\nconst ChevronDownIcon = (props: React.SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24px\"\n viewBox=\"0 -960 960 960\"\n width=\"24px\"\n fill=\"currentColor\"\n {...props}\n >\n <path d=\"M459-381 314-526q-3-3-4.5-6.5T308-540q0-8 5.5-14t14.5-6h304q9 0 14.5 6t5.5 14q0 2-6 14L501-381q-5 5-10 7t-11 2q-6 0-11-2t-10-7Z\" />\n </svg>\n)\n\nconst ChevronUpIcon = (props: React.SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24px\"\n viewBox=\"0 -960 960 960\"\n width=\"24px\"\n fill=\"currentColor\"\n {...props}\n >\n <path d=\"M480-528 324-372q-11 11-28 11t-28-11q-11-11-11-28t11-28l184-184q12-12 28-12t28 12l184 184q11 11 11 28t-11 28q-11 11-28 11t-28-11L480-528Z\" />\n </svg>\n)\n\nconst useStyles = makeVoltStyles({\n trigger: {\n display: \"flex\",\n width: \"100%\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n ...shorthands.gap(tokens.spacingElement2),\n ...shorthands.borderRadius(tokens.radiusLg),\n backgroundColor: \"transparent\",\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n outlineStyle: \"none\",\n whiteSpace: \"normal\",\n textAlign: \"left\",\n cursor: \"pointer\",\n transitionProperty: \"color, box-shadow\",\n transitionDuration: \"150ms\",\n transitionTimingFunction: \"cubic-bezier(0.4, 0, 0.2, 1)\",\n \"@media (prefers-reduced-motion: reduce)\": {\n transitionDuration: \"0.01ms\",\n },\n \":focus-visible\": {\n outlineWidth: \"2px\",\n outlineStyle: \"solid\",\n outlineOffset: \"2px\",\n outlineColor: tokens.semFocusRing,\n },\n \":disabled\": {\n cursor: \"not-allowed\",\n opacity: 0.5,\n },\n \"&[data-placeholder]\": {\n color: tokens.grayA8,\n },\n \"& svg\": {\n pointerEvents: \"none\",\n flexShrink: 0,\n },\n [`& [${SLOT_ATTR}=\"select-value\"]`]: {\n display: \"flex\",\n alignItems: \"center\",\n ...shorthands.gap(tokens.spacingElement2),\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n },\n\n // The open-state chevron rotation is declared HERE, on the trigger that carries the state\n // attribute, reaching the icon by SLOT_ATTR.\n [`&[data-state='open'] [${SLOT_ATTR}=\"select-icon\"] svg`]: {\n transform: \"rotate(180deg)\",\n },\n [`&[data-state='open'] [${SLOT_ATTR}=\"select-icon\"]`]: {\n transform: \"rotate(180deg)\",\n },\n [`&[data-open] [${SLOT_ATTR}=\"select-icon\"] svg`]: {\n transform: \"rotate(180deg)\",\n },\n [`&[data-popup-open] [${SLOT_ATTR}=\"select-icon\"] svg`]: {\n transform: \"rotate(180deg)\",\n },\n },\n triggerIconWrapper: {\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n flexShrink: 0,\n },\n triggerIcon: {\n width: \"1.5rem\",\n height: \"1.5rem\",\n color: tokens.grayA11,\n transitionProperty: \"transform\",\n transitionDuration: \"150ms\",\n transitionTimingFunction: \"cubic-bezier(0.4, 0, 0.2, 1)\",\n \"@media (prefers-reduced-motion: reduce)\": {\n transitionDuration: \"0.01ms\",\n },\n },\n triggerClear: {\n position: \"absolute\",\n right: \"2.75rem\",\n paddingTop: \"0.125rem\",\n paddingBottom: \"0.125rem\",\n paddingLeft: \"0.125rem\",\n paddingRight: \"0.125rem\",\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n backgroundColor: \"transparent\",\n color: tokens.accentA11,\n cursor: \"pointer\",\n ...shorthands.borderRadius(tokens.radiusMd),\n \":hover\": {\n backgroundColor: tokens.semAccentSoft,\n },\n \":focus-visible\": {\n outlineColor: tokens.semFocusRing,\n outlineWidth: \"2px\",\n outlineStyle: \"solid\",\n outlineOffset: \"2px\",\n },\n },\n triggerClearIcon: {\n width: \"1.25rem\",\n height: \"1.25rem\",\n color: tokens.accentA11,\n },\n popup: {\n backgroundColor: tokens.body,\n // DENSITY-SPEC.md §2.3 — popup padding/gap only; the slide-in animation offsets a few lines\n // below deliberately keep the plain (non-density) `spacingElement2` value: they are not in the\n // approved matrix, and re-using the same primitive for two unrelated purposes doesn't make the\n // animation distance a density lever too.\n ...shorthands.padding(tokens.selectContentPadding),\n ...shorthands.gap(tokens.selectContentGap),\n color: tokens.grayA12,\n position: \"relative\",\n zIndex: 50,\n transformOrigin: \"var(--radix-select-content-transform-origin)\",\n overflowX: \"hidden\",\n overflowY: \"auto\",\n ...shorthands.borderRadius(tokens.radius2xl),\n ...shorthands.border(\"1px\", \"solid\", \"transparent\"),\n // v1 shadow-md\n boxShadow: \"0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a\",\n outlineStyle: \"none\",\n maxHeight: \"var(--radix-popper-available-height, 20rem)\",\n \"@media (prefers-reduced-motion: reduce)\": {\n animationDuration: \"0.01ms\",\n animationIterationCount: \"1\",\n \"&[data-state='open']\": {\n animationDuration: \"0.01ms\",\n },\n },\n \"&[data-state='open']\": {\n animationName: {\n from: { opacity: 0, transform: \"scale(0.95)\" },\n to: { opacity: 1, transform: \"scale(1)\" },\n },\n animationDuration: \"150ms\",\n animationTimingFunction: \"cubic-bezier(0.4, 0, 0.2, 1)\",\n },\n \"&[data-state='open'][data-side='bottom']\": {\n animationName: {\n from: {\n opacity: 0,\n transform: `translateY(-${tokens.spacingElement2}) scale(0.95)`,\n },\n to: { opacity: 1, transform: \"translateY(0) scale(1)\" },\n },\n },\n \"&[data-state='open'][data-side='left']\": {\n animationName: {\n from: {\n opacity: 0,\n transform: `translateX(${tokens.spacingElement2}) scale(0.95)`,\n },\n to: { opacity: 1, transform: \"translateX(0) scale(1)\" },\n },\n },\n \"&[data-state='open'][data-side='right']\": {\n animationName: {\n from: {\n opacity: 0,\n transform: `translateX(-${tokens.spacingElement2}) scale(0.95)`,\n },\n to: { opacity: 1, transform: \"translateX(0) scale(1)\" },\n },\n },\n \"&[data-state='open'][data-side='top']\": {\n animationName: {\n from: {\n opacity: 0,\n transform: `translateY(${tokens.spacingElement2}) scale(0.95)`,\n },\n to: { opacity: 1, transform: \"translateY(0) scale(1)\" },\n },\n },\n \"&[data-state='closed']\": {\n animationName: {\n from: { opacity: 1, transform: \"scale(1)\" },\n to: { opacity: 0, transform: \"scale(0.95)\" },\n },\n animationDuration: \"100ms\",\n animationTimingFunction: \"cubic-bezier(0.4, 0, 1, 1)\",\n },\n },\n viewport: {\n width: \"100%\",\n minWidth: \"var(--radix-select-trigger-width)\",\n scrollMarginTop: tokens.spacingElement1,\n scrollMarginBottom: tokens.spacingElement1,\n },\n item: {\n position: \"relative\",\n display: \"flex\",\n width: \"100%\",\n cursor: \"default\",\n userSelect: \"none\",\n alignItems: \"center\",\n ...shorthands.gap(tokens.spacingElement2),\n ...shorthands.borderRadius(tokens.radiusMd),\n // DENSITY-SPEC.md §2.3 — left padding and vertical padding are density levers; right padding\n // stays a fixed 32px at every tier (reserves the check-indicator's space, not modeled in\n // density.yaml).\n paddingLeft: tokens.selectItemPaddingLeft,\n paddingRight: \"2rem\",\n paddingTop: tokens.selectItemPaddingY,\n paddingBottom: tokens.selectItemPaddingY,\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n color: tokens.grayA12,\n outlineStyle: \"none\",\n \":not(:first-child)\": {\n marginTop: \"0.125rem\",\n },\n \"&[data-highlighted]\": {\n backgroundColor: tokens.accentA3,\n },\n \"&[data-state='checked']\": {\n backgroundColor: tokens.accentA3,\n },\n \"&[data-disabled]\": {\n pointerEvents: \"none\",\n opacity: 0.5,\n },\n \"& svg\": {\n pointerEvents: \"none\",\n flexShrink: 0,\n },\n \"& svg:not([class*='text-'])\": {\n color: tokens.grayA11,\n },\n },\n itemIndicatorWrapper: {\n position: \"absolute\",\n right: tokens.spacingElement2,\n display: \"flex\",\n width: \"1rem\",\n height: \"1rem\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n itemIndicatorIcon: {\n width: \"1rem\",\n height: \"1rem\",\n color: tokens.grayA11,\n },\n label: {\n paddingLeft: tokens.spacingElement2,\n paddingRight: tokens.spacingElement2,\n paddingTop: \"0.375rem\",\n paddingBottom: \"0.375rem\",\n fontSize: tokens.textXs,\n lineHeight: tokens.leadingXs,\n fontWeight: tokens.fontWeightSemibold,\n color: tokens.gray11,\n },\n separator: {\n pointerEvents: \"none\",\n marginLeft: `calc(-1 * ${tokens.spacingElement1})`,\n marginRight: `calc(-1 * ${tokens.spacingElement1})`,\n marginTop: tokens.spacingElement1,\n marginBottom: tokens.spacingElement1,\n height: \"1px\",\n backgroundColor: tokens.semGraySoft,\n },\n scrollArrow: {\n display: \"flex\",\n cursor: \"default\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n scrollArrowUp: {\n paddingBottom: tokens.spacingElement1,\n },\n scrollArrowDown: {\n paddingTop: tokens.spacingElement1,\n },\n scrollArrowIcon: {\n width: \"1.5rem\",\n height: \"1.5rem\",\n },\n scrollArrowDownIcon: {\n transform: \"rotate(180deg)\",\n },\n})\n\nexport type SelectProps = React.ComponentProps<typeof SelectPrimitive.Root>\n\nexport const Select: React.ForwardRefExoticComponent<\n SelectProps & React.RefAttributes<HTMLElement>\n> = React.forwardRef<HTMLElement, SelectProps>(function Select(props, _ref) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />\n})\n\nexport type SelectGroupProps = React.ComponentProps<\n typeof SelectPrimitive.Group\n>\n\nexport const SelectGroup = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Group>,\n SelectGroupProps\n>(function SelectGroup({ className, ...props }, ref) {\n return (\n <SelectPrimitive.Group\n ref={ref}\n data-slot=\"select-group\"\n {...{ [SLOT_ATTR]: \"select-group\" }}\n className={className}\n {...props}\n />\n )\n})\n\nexport type SelectValueProps = React.ComponentProps<\n typeof SelectPrimitive.Value\n>\n\nexport const SelectValue = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Value>,\n SelectValueProps\n>(function SelectValue({ className, ...props }, ref) {\n return (\n <SelectPrimitive.Value\n ref={ref}\n data-slot=\"select-value\"\n {...{ [SLOT_ATTR]: \"select-value\" }}\n className={className}\n {...props}\n />\n )\n})\n\nexport type SelectTriggerProps = React.ComponentProps<\n typeof SelectPrimitive.Trigger\n>\n\nexport const SelectTrigger = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Trigger>,\n SelectTriggerProps\n>(function SelectTrigger({ className, children, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <SelectPrimitive.Trigger\n ref={ref}\n data-slot=\"select-trigger\"\n {...{ [SLOT_ATTR]: \"select-trigger\" }}\n className={mergeClasses(styles.trigger, className)}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon\n asChild\n data-slot=\"select-icon\"\n {...{ [SLOT_ATTR]: \"select-icon\" }}\n className={styles.triggerIconWrapper}\n >\n <ChevronDownIcon className={styles.triggerIcon} />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n )\n})\n\nexport type SelectTriggerClearProps = React.ComponentProps<\"span\">\n\nexport const SelectTriggerClear = React.forwardRef<\n HTMLSpanElement,\n SelectTriggerClearProps\n>(function SelectTriggerClear({ className, onClick, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <span\n ref={ref}\n role=\"button\"\n tabIndex={0}\n data-slot=\"select-trigger-clear\"\n {...{ [SLOT_ATTR]: \"select-trigger-clear\" }}\n className={mergeClasses(styles.triggerClear, className)}\n onPointerDown={(event) => {\n event.preventDefault()\n event.stopPropagation()\n }}\n onClick={(event: React.MouseEvent<HTMLSpanElement>) => {\n event.preventDefault()\n event.stopPropagation()\n onClick?.(event)\n }}\n {...props}\n >\n <XIcon className={styles.triggerClearIcon} />\n </span>\n )\n})\n\nexport type SelectContentProps = React.ComponentProps<\n typeof SelectPrimitive.Content\n> & {\n container?: React.ComponentProps<typeof SelectPrimitive.Portal>[\"container\"]\n}\n\nexport const SelectContent = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Content>,\n SelectContentProps\n>(function SelectContent(\n {\n className,\n children,\n position = \"popper\",\n align = \"center\",\n container,\n ...props\n },\n ref\n) {\n const styles = useStyles()\n // DENSITY-SPEC.md §4.4 — SelectContent is a portal root: stamp the explicit override ONLY when\n // one exists in the React tree, so an ambient shell default (which already reaches this portal\n // via ordinary DOM inheritance, since the portal container is still a descendant of `<html>`)\n // isn't masked by a stale/default value.\n const override = useDensity()\n\n return (\n <SelectPrimitive.Portal container={container}>\n <SelectPrimitive.Content\n ref={ref}\n data-slot=\"select-content\"\n {...{ [SLOT_ATTR]: \"select-content\" }}\n {...(override !== undefined ? { \"data-density\": override } : {})}\n position={position}\n align={align}\n className={mergeClasses(styles.popup, className)}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n data-slot=\"select-viewport\"\n {...{ [SLOT_ATTR]: \"select-viewport\" }}\n className={styles.viewport}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n )\n})\n\nexport type SelectLabelProps = React.ComponentProps<\n typeof SelectPrimitive.Label\n>\n\nexport const SelectLabel = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Label>,\n SelectLabelProps\n>(function SelectLabel({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <SelectPrimitive.Label\n ref={ref}\n data-slot=\"select-label\"\n {...{ [SLOT_ATTR]: \"select-label\" }}\n className={mergeClasses(styles.label, className)}\n {...props}\n />\n )\n})\n\nexport type SelectItemProps = React.ComponentProps<typeof SelectPrimitive.Item>\n\nexport const SelectItem = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Item>,\n SelectItemProps\n>(function SelectItem({ className, children, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <SelectPrimitive.Item\n ref={ref}\n data-slot=\"select-item\"\n {...{ [SLOT_ATTR]: \"select-item\" }}\n className={mergeClasses(styles.item, className)}\n {...props}\n >\n <span className={styles.itemIndicatorWrapper}>\n <SelectPrimitive.ItemIndicator>\n <CheckIcon className={styles.itemIndicatorIcon} />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n )\n})\n\nexport type SelectSeparatorProps = React.ComponentProps<\n typeof SelectPrimitive.Separator\n>\n\nexport const SelectSeparator = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Separator>,\n SelectSeparatorProps\n>(function SelectSeparator({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <SelectPrimitive.Separator\n ref={ref}\n data-slot=\"select-separator\"\n {...{ [SLOT_ATTR]: \"select-separator\" }}\n className={mergeClasses(styles.separator, className)}\n {...props}\n />\n )\n})\n\nexport type SelectScrollUpButtonProps = React.ComponentProps<\n typeof SelectPrimitive.ScrollUpButton\n>\n\nexport const SelectScrollUpButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollUpButton>,\n SelectScrollUpButtonProps\n>(function SelectScrollUpButton({ className, children, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <SelectPrimitive.ScrollUpButton\n ref={ref}\n data-slot=\"select-scroll-up-button\"\n {...{ [SLOT_ATTR]: \"select-scroll-up-button\" }}\n className={mergeClasses(\n styles.scrollArrow,\n styles.scrollArrowUp,\n className\n )}\n {...props}\n >\n {children ?? <ChevronUpIcon className={styles.scrollArrowIcon} />}\n </SelectPrimitive.ScrollUpButton>\n )\n})\n\nexport type SelectScrollDownButtonProps = React.ComponentProps<\n typeof SelectPrimitive.ScrollDownButton\n>\n\nexport const SelectScrollDownButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollDownButton>,\n SelectScrollDownButtonProps\n>(function SelectScrollDownButton({ className, children, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <SelectPrimitive.ScrollDownButton\n ref={ref}\n data-slot=\"select-scroll-down-button\"\n {...{ [SLOT_ATTR]: \"select-scroll-down-button\" }}\n className={mergeClasses(\n styles.scrollArrow,\n styles.scrollArrowDown,\n className\n )}\n {...props}\n >\n {children ?? (\n <ChevronUpIcon\n className={mergeClasses(\n styles.scrollArrowIcon,\n styles.scrollArrowDownIcon\n )}\n />\n )}\n </SelectPrimitive.ScrollDownButton>\n )\n})\n"],"names":["XIcon","props","jsxDEV","this","CheckIcon","ChevronDownIcon","ChevronUpIcon","useStyles","makeVoltStyles","shorthands","tokens.spacingElement2","tokens.radiusLg","tokens.textSm","tokens.leadingSm","tokens.semFocusRing","tokens.grayA8","SLOT_ATTR","tokens.grayA11","tokens.accentA11","tokens.radiusMd","tokens.semAccentSoft","tokens.body","tokens.selectContentPadding","tokens.selectContentGap","tokens.grayA12","tokens.radius2xl","tokens.spacingElement1","tokens.selectItemPaddingLeft","tokens.selectItemPaddingY","tokens.accentA3","tokens.textXs","tokens.leadingXs","tokens.fontWeightSemibold","tokens.gray11","tokens.semGraySoft","Select","React","_ref","SelectPrimitive.Root","SelectGroup","className","ref","SelectPrimitive.Group","SelectValue","SelectPrimitive.Value","SelectTrigger","children","styles","SelectPrimitive.Trigger","mergeClasses","SelectPrimitive.Icon","SelectTriggerClear","onClick","event","SelectContent","position","align","container","override","useDensity","SelectPrimitive.Portal","SelectPrimitive.Content","SelectScrollUpButton","SelectPrimitive.Viewport","SelectScrollDownButton","SelectLabel","SelectPrimitive.Label","SelectItem","SelectPrimitive.Item","SelectPrimitive.ItemIndicator","SelectPrimitive.ItemText","SelectSeparator","SelectPrimitive.Separator","SelectPrimitive.ScrollUpButton","SelectPrimitive.ScrollDownButton"],"mappings":"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"}
1
+ {"version":3,"file":"select.js","sources":["../../../src/components/select/select.tsx"],"sourcesContent":["import * as React from \"react\"\n\nimport * as SelectPrimitive from \"@radix-ui/react-select\"\nimport { mergeClasses, shorthands } from \"@epilot/volt-ui-runtime\"\n\nimport { useDensity } from \"../density-provider/density-provider\"\nimport { SLOT_ATTR } from \"../../renderer/contract\"\nimport { makeVoltStyles } from \"../../styles/make-styles\"\nimport * as tokens from \"../../tokens\"\n\nconst XIcon = (props: React.SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24px\"\n viewBox=\"0 -960 960 960\"\n width=\"24px\"\n fill=\"currentColor\"\n {...props}\n >\n <path d=\"M480-424 284-228q-11 11-28 11t-28-11q-11-11-11-28t11-28l196-196-196-196q-11-11-11-28t11-28q11-11 28-11t28 11l196 196 196-196q11-11 28-11t28 11q11 11 11 28t-11 28L536-480l196 196q11 11 11 28t-11 28q-11 11-28 11t-28-11L480-424Z\" />\n </svg>\n)\n\nconst CheckIcon = (props: React.SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24px\"\n viewBox=\"0 -960 960 960\"\n width=\"24px\"\n fill=\"currentColor\"\n {...props}\n >\n <path d=\"m382-354 339-339q12-12 28-12t28 12q12 12 12 28.5T777-636L410-268q-12 12-28 12t-28-12L182-440q-12-12-11.5-28.5T183-497q12-12 28.5-12t28.5 12l142 143Z\" />\n </svg>\n)\n\nconst ChevronDownIcon = (props: React.SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24px\"\n viewBox=\"0 -960 960 960\"\n width=\"24px\"\n fill=\"currentColor\"\n {...props}\n >\n <path d=\"M459-381 314-526q-3-3-4.5-6.5T308-540q0-8 5.5-14t14.5-6h304q9 0 14.5 6t5.5 14q0 2-6 14L501-381q-5 5-10 7t-11 2q-6 0-11-2t-10-7Z\" />\n </svg>\n)\n\nconst ChevronUpIcon = (props: React.SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24px\"\n viewBox=\"0 -960 960 960\"\n width=\"24px\"\n fill=\"currentColor\"\n {...props}\n >\n <path d=\"M480-528 324-372q-11 11-28 11t-28-11q-11-11-11-28t11-28l184-184q12-12 28-12t28 12l184 184q11 11 11 28t-11 28q-11 11-28 11t-28-11L480-528Z\" />\n </svg>\n)\n\nconst useStyles = makeVoltStyles({\n trigger: {\n display: \"flex\",\n width: \"100%\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n ...shorthands.gap(tokens.spacingElement2),\n ...shorthands.borderRadius(tokens.radiusLg),\n backgroundColor: \"transparent\",\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n outlineStyle: \"none\",\n whiteSpace: \"normal\",\n textAlign: \"left\",\n cursor: \"pointer\",\n transitionProperty: \"color, box-shadow\",\n transitionDuration: \"150ms\",\n transitionTimingFunction: \"cubic-bezier(0.4, 0, 0.2, 1)\",\n \"@media (prefers-reduced-motion: reduce)\": {\n transitionDuration: \"0.01ms\",\n },\n \":focus-visible\": {\n outlineWidth: \"2px\",\n outlineStyle: \"solid\",\n outlineOffset: \"2px\",\n outlineColor: tokens.semFocusRing,\n },\n \":disabled\": {\n cursor: \"not-allowed\",\n opacity: 0.5,\n },\n \"&[data-placeholder]\": {\n color: tokens.grayA8,\n },\n \"& svg\": {\n pointerEvents: \"none\",\n flexShrink: 0,\n },\n [`& [${SLOT_ATTR}=\"select-value\"]`]: {\n display: \"flex\",\n alignItems: \"center\",\n ...shorthands.gap(tokens.spacingElement2),\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n },\n\n // The open-state chevron rotation is declared HERE, on the trigger that carries the state\n // attribute, reaching the icon by SLOT_ATTR.\n [`&[data-state='open'] [${SLOT_ATTR}=\"select-icon\"] svg`]: {\n transform: \"rotate(180deg)\",\n },\n [`&[data-state='open'] [${SLOT_ATTR}=\"select-icon\"]`]: {\n transform: \"rotate(180deg)\",\n },\n [`&[data-open] [${SLOT_ATTR}=\"select-icon\"] svg`]: {\n transform: \"rotate(180deg)\",\n },\n [`&[data-popup-open] [${SLOT_ATTR}=\"select-icon\"] svg`]: {\n transform: \"rotate(180deg)\",\n },\n },\n triggerIconWrapper: {\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n flexShrink: 0,\n },\n triggerIcon: {\n width: \"1.5rem\",\n height: \"1.5rem\",\n color: tokens.grayA11,\n transitionProperty: \"transform\",\n transitionDuration: \"150ms\",\n transitionTimingFunction: \"cubic-bezier(0.4, 0, 0.2, 1)\",\n \"@media (prefers-reduced-motion: reduce)\": {\n transitionDuration: \"0.01ms\",\n },\n },\n triggerClear: {\n position: \"absolute\",\n right: \"2.75rem\",\n paddingTop: \"0.125rem\",\n paddingBottom: \"0.125rem\",\n paddingLeft: \"0.125rem\",\n paddingRight: \"0.125rem\",\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n backgroundColor: \"transparent\",\n color: tokens.accentA11,\n cursor: \"pointer\",\n ...shorthands.borderRadius(tokens.radiusMd),\n \":hover\": {\n backgroundColor: tokens.semAccentSoft,\n },\n \":focus-visible\": {\n outlineColor: tokens.semFocusRing,\n outlineWidth: \"2px\",\n outlineStyle: \"solid\",\n outlineOffset: \"2px\",\n },\n },\n triggerClearIcon: {\n width: \"1.25rem\",\n height: \"1.25rem\",\n color: tokens.accentA11,\n },\n popup: {\n backgroundColor: tokens.body,\n // DENSITY-SPEC.md §2.3 — popup padding/gap only; the slide-in animation offsets a few lines\n // below deliberately keep the plain (non-density) `spacingElement2` value: they are not in the\n // approved matrix, and re-using the same primitive for two unrelated purposes doesn't make the\n // animation distance a density lever too.\n ...shorthands.padding(tokens.selectContentPadding),\n ...shorthands.gap(tokens.selectContentGap),\n color: tokens.grayA12,\n position: \"relative\",\n zIndex: 50,\n transformOrigin: \"var(--radix-select-content-transform-origin)\",\n overflowX: \"hidden\",\n overflowY: \"auto\",\n ...shorthands.borderRadius(tokens.radius2xl),\n ...shorthands.border(\"1px\", \"solid\", \"transparent\"),\n // v1 shadow-md\n boxShadow: \"0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a\",\n outlineStyle: \"none\",\n maxHeight: \"var(--radix-popper-available-height, 20rem)\",\n \"@media (prefers-reduced-motion: reduce)\": {\n animationDuration: \"0.01ms\",\n animationIterationCount: \"1\",\n \"&[data-state='open']\": {\n animationDuration: \"0.01ms\",\n },\n },\n \"&[data-state='open']\": {\n animationName: {\n from: { opacity: 0, transform: \"scale(0.95)\" },\n to: { opacity: 1, transform: \"scale(1)\" },\n },\n animationDuration: \"150ms\",\n animationTimingFunction: \"cubic-bezier(0.4, 0, 0.2, 1)\",\n },\n \"&[data-state='open'][data-side='bottom']\": {\n animationName: {\n from: {\n opacity: 0,\n transform: `translateY(-${tokens.spacingElement2}) scale(0.95)`,\n },\n to: { opacity: 1, transform: \"translateY(0) scale(1)\" },\n },\n },\n \"&[data-state='open'][data-side='left']\": {\n animationName: {\n from: {\n opacity: 0,\n transform: `translateX(${tokens.spacingElement2}) scale(0.95)`,\n },\n to: { opacity: 1, transform: \"translateX(0) scale(1)\" },\n },\n },\n \"&[data-state='open'][data-side='right']\": {\n animationName: {\n from: {\n opacity: 0,\n transform: `translateX(-${tokens.spacingElement2}) scale(0.95)`,\n },\n to: { opacity: 1, transform: \"translateX(0) scale(1)\" },\n },\n },\n \"&[data-state='open'][data-side='top']\": {\n animationName: {\n from: {\n opacity: 0,\n transform: `translateY(${tokens.spacingElement2}) scale(0.95)`,\n },\n to: { opacity: 1, transform: \"translateY(0) scale(1)\" },\n },\n },\n \"&[data-state='closed']\": {\n animationName: {\n from: { opacity: 1, transform: \"scale(1)\" },\n to: { opacity: 0, transform: \"scale(0.95)\" },\n },\n animationDuration: \"100ms\",\n animationTimingFunction: \"cubic-bezier(0.4, 0, 1, 1)\",\n },\n },\n viewport: {\n width: \"100%\",\n minWidth: \"var(--radix-select-trigger-width)\",\n scrollMarginTop: tokens.spacingElement1,\n scrollMarginBottom: tokens.spacingElement1,\n },\n item: {\n position: \"relative\",\n display: \"flex\",\n width: \"100%\",\n cursor: \"default\",\n userSelect: \"none\",\n alignItems: \"center\",\n ...shorthands.gap(tokens.spacingElement2),\n ...shorthands.borderRadius(tokens.radiusMd),\n // DENSITY-SPEC.md §2.3 — left padding and vertical padding are density levers; right padding\n // stays a fixed 32px at every tier (reserves the check-indicator's space, not modeled in\n // density.yaml).\n paddingLeft: tokens.selectItemPaddingLeft,\n paddingRight: \"2rem\",\n paddingTop: tokens.selectItemPaddingY,\n paddingBottom: tokens.selectItemPaddingY,\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n color: tokens.grayA12,\n outlineStyle: \"none\",\n \":not(:first-child)\": {\n marginTop: \"0.125rem\",\n },\n \"&[data-highlighted]\": {\n backgroundColor: tokens.accentA3,\n },\n \"&[data-state='checked']\": {\n backgroundColor: tokens.accentA3,\n },\n \"&[data-disabled]\": {\n pointerEvents: \"none\",\n opacity: 0.5,\n },\n \"& svg\": {\n pointerEvents: \"none\",\n flexShrink: 0,\n },\n \"& svg:not([class*='text-'])\": {\n color: tokens.grayA11,\n },\n },\n itemIndicatorWrapper: {\n position: \"absolute\",\n right: tokens.spacingElement2,\n display: \"flex\",\n width: \"1rem\",\n height: \"1rem\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n itemIndicatorIcon: {\n width: \"1rem\",\n height: \"1rem\",\n color: tokens.grayA11,\n },\n label: {\n paddingLeft: tokens.spacingElement2,\n paddingRight: tokens.spacingElement2,\n paddingTop: \"0.375rem\",\n paddingBottom: \"0.375rem\",\n fontSize: tokens.textXs,\n lineHeight: tokens.leadingXs,\n fontWeight: tokens.fontWeightSemibold,\n color: tokens.gray11,\n },\n separator: {\n pointerEvents: \"none\",\n marginLeft: `calc(-1 * ${tokens.spacingElement1})`,\n marginRight: `calc(-1 * ${tokens.spacingElement1})`,\n marginTop: tokens.spacingElement1,\n marginBottom: tokens.spacingElement1,\n height: \"1px\",\n backgroundColor: tokens.semGraySoft,\n },\n scrollArrow: {\n display: \"flex\",\n cursor: \"default\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n scrollArrowUp: {\n paddingBottom: tokens.spacingElement1,\n },\n scrollArrowDown: {\n paddingTop: tokens.spacingElement1,\n },\n scrollArrowIcon: {\n width: \"1.5rem\",\n height: \"1.5rem\",\n },\n scrollArrowDownIcon: {\n transform: \"rotate(180deg)\",\n },\n})\n\nexport type SelectProps = React.ComponentProps<typeof SelectPrimitive.Root>\n\nexport const Select: React.ForwardRefExoticComponent<\n SelectProps & React.RefAttributes<HTMLElement>\n> = React.forwardRef<HTMLElement, SelectProps>(function Select(props, _ref) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />\n})\n\nexport type SelectGroupProps = React.ComponentProps<\n typeof SelectPrimitive.Group\n>\n\nexport const SelectGroup = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Group>,\n SelectGroupProps\n>(function SelectGroup({ className, ...props }, ref) {\n return (\n <SelectPrimitive.Group\n ref={ref}\n data-slot=\"select-group\"\n {...{ [SLOT_ATTR]: \"select-group\" }}\n className={className}\n {...props}\n />\n )\n})\n\nexport type SelectValueProps = React.ComponentProps<\n typeof SelectPrimitive.Value\n>\n\nexport const SelectValue = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Value>,\n SelectValueProps\n>(function SelectValue({ className, ...props }, ref) {\n return (\n <SelectPrimitive.Value\n ref={ref}\n data-slot=\"select-value\"\n {...{ [SLOT_ATTR]: \"select-value\" }}\n className={className}\n {...props}\n />\n )\n})\n\nexport type SelectTriggerProps = React.ComponentProps<\n typeof SelectPrimitive.Trigger\n>\n\nexport const SelectTrigger = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Trigger>,\n SelectTriggerProps\n>(function SelectTrigger({ className, children, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <SelectPrimitive.Trigger\n ref={ref}\n data-slot=\"select-trigger\"\n {...{ [SLOT_ATTR]: \"select-trigger\" }}\n className={mergeClasses(styles.trigger, className)}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon\n asChild\n data-slot=\"select-icon\"\n {...{ [SLOT_ATTR]: \"select-icon\" }}\n className={styles.triggerIconWrapper}\n >\n <ChevronDownIcon className={styles.triggerIcon} />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n )\n})\n\nexport type SelectTriggerClearProps = React.ComponentProps<\"span\">\n\nexport const SelectTriggerClear = React.forwardRef<\n HTMLSpanElement,\n SelectTriggerClearProps\n>(function SelectTriggerClear({ className, onClick, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <span\n ref={ref}\n role=\"button\"\n tabIndex={0}\n data-slot=\"select-trigger-clear\"\n {...{ [SLOT_ATTR]: \"select-trigger-clear\" }}\n className={mergeClasses(styles.triggerClear, className)}\n onPointerDown={(event) => {\n event.preventDefault()\n event.stopPropagation()\n }}\n onClick={(event: React.MouseEvent<HTMLSpanElement>) => {\n event.preventDefault()\n event.stopPropagation()\n onClick?.(event)\n }}\n {...props}\n >\n <XIcon className={styles.triggerClearIcon} />\n </span>\n )\n})\n\nexport type SelectContentProps = React.ComponentProps<\n typeof SelectPrimitive.Content\n> & {\n container?: React.ComponentProps<typeof SelectPrimitive.Portal>[\"container\"]\n}\n\nexport const SelectContent = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Content>,\n SelectContentProps\n>(function SelectContent(\n {\n className,\n children,\n position = \"popper\",\n align = \"center\",\n container,\n ...props\n },\n ref\n) {\n const styles = useStyles()\n // DENSITY-SPEC.md §4.4 — SelectContent is a portal root: stamp the explicit override ONLY when\n // one exists in the React tree, so an ambient shell default (which already reaches this portal\n // via ordinary DOM inheritance, since the portal container is still a descendant of `<html>`)\n // isn't masked by a stale/default value.\n const override = useDensity()\n\n return (\n <SelectPrimitive.Portal container={container}>\n <SelectPrimitive.Content\n ref={ref}\n data-slot=\"select-content\"\n {...{ [SLOT_ATTR]: \"select-content\" }}\n {...(override !== undefined ? { \"data-density\": override } : {})}\n position={position}\n align={align}\n className={mergeClasses(styles.popup, className)}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n data-slot=\"select-viewport\"\n {...{ [SLOT_ATTR]: \"select-viewport\" }}\n className={styles.viewport}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n )\n})\n\nexport type SelectLabelProps = React.ComponentProps<\n typeof SelectPrimitive.Label\n>\n\nexport const SelectLabel = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Label>,\n SelectLabelProps\n>(function SelectLabel({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <SelectPrimitive.Label\n ref={ref}\n data-slot=\"select-label\"\n {...{ [SLOT_ATTR]: \"select-label\" }}\n className={mergeClasses(styles.label, className)}\n {...props}\n />\n )\n})\n\nexport type SelectItemProps = React.ComponentProps<typeof SelectPrimitive.Item>\n\nexport const SelectItem = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Item>,\n SelectItemProps\n>(function SelectItem({ className, children, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <SelectPrimitive.Item\n ref={ref}\n data-slot=\"select-item\"\n {...{ [SLOT_ATTR]: \"select-item\" }}\n className={mergeClasses(styles.item, className)}\n {...props}\n >\n <span className={styles.itemIndicatorWrapper}>\n <SelectPrimitive.ItemIndicator>\n <CheckIcon className={styles.itemIndicatorIcon} />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n )\n})\n\nexport type SelectSeparatorProps = React.ComponentProps<\n typeof SelectPrimitive.Separator\n>\n\nexport const SelectSeparator = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Separator>,\n SelectSeparatorProps\n>(function SelectSeparator({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <SelectPrimitive.Separator\n ref={ref}\n data-slot=\"select-separator\"\n {...{ [SLOT_ATTR]: \"select-separator\" }}\n className={mergeClasses(styles.separator, className)}\n {...props}\n />\n )\n})\n\nexport type SelectScrollUpButtonProps = React.ComponentProps<\n typeof SelectPrimitive.ScrollUpButton\n>\n\nexport const SelectScrollUpButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollUpButton>,\n SelectScrollUpButtonProps\n>(function SelectScrollUpButton({ className, children, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <SelectPrimitive.ScrollUpButton\n ref={ref}\n data-slot=\"select-scroll-up-button\"\n {...{ [SLOT_ATTR]: \"select-scroll-up-button\" }}\n className={mergeClasses(\n styles.scrollArrow,\n styles.scrollArrowUp,\n className\n )}\n {...props}\n >\n {children ?? <ChevronUpIcon className={styles.scrollArrowIcon} />}\n </SelectPrimitive.ScrollUpButton>\n )\n})\n\nexport type SelectScrollDownButtonProps = React.ComponentProps<\n typeof SelectPrimitive.ScrollDownButton\n>\n\nexport const SelectScrollDownButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollDownButton>,\n SelectScrollDownButtonProps\n>(function SelectScrollDownButton({ className, children, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <SelectPrimitive.ScrollDownButton\n ref={ref}\n data-slot=\"select-scroll-down-button\"\n {...{ [SLOT_ATTR]: \"select-scroll-down-button\" }}\n className={mergeClasses(\n styles.scrollArrow,\n styles.scrollArrowDown,\n className\n )}\n {...props}\n >\n {children ?? (\n <ChevronUpIcon\n className={mergeClasses(\n styles.scrollArrowIcon,\n styles.scrollArrowDownIcon\n )}\n />\n )}\n </SelectPrimitive.ScrollDownButton>\n )\n})\n"],"names":["XIcon","props","jsx","CheckIcon","ChevronDownIcon","ChevronUpIcon","useStyles","makeVoltStyles","shorthands","tokens.spacingElement2","tokens.radiusLg","tokens.textSm","tokens.leadingSm","tokens.semFocusRing","tokens.grayA8","SLOT_ATTR","tokens.grayA11","tokens.accentA11","tokens.radiusMd","tokens.semAccentSoft","tokens.body","tokens.selectContentPadding","tokens.selectContentGap","tokens.grayA12","tokens.radius2xl","tokens.spacingElement1","tokens.selectItemPaddingLeft","tokens.selectItemPaddingY","tokens.accentA3","tokens.textXs","tokens.leadingXs","tokens.fontWeightSemibold","tokens.gray11","tokens.semGraySoft","Select","React","_ref","SelectPrimitive.Root","SelectGroup","className","ref","SelectPrimitive.Group","SelectValue","SelectPrimitive.Value","SelectTrigger","children","styles","jsxs","SelectPrimitive.Trigger","mergeClasses","SelectPrimitive.Icon","SelectTriggerClear","onClick","event","SelectContent","position","align","container","override","useDensity","SelectPrimitive.Portal","SelectPrimitive.Content","SelectScrollUpButton","SelectPrimitive.Viewport","SelectScrollDownButton","SelectLabel","SelectPrimitive.Label","SelectItem","SelectPrimitive.Item","SelectPrimitive.ItemIndicator","SelectPrimitive.ItemText","SelectSeparator","SelectPrimitive.Separator","SelectPrimitive.ScrollUpButton","SelectPrimitive.ScrollDownButton"],"mappings":"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"}
@@ -1,50 +1,42 @@
1
- import { j as m } from "../../vendor/react/jsx-dev-runtime.js";
1
+ import { jsx as m } from "react/jsx-runtime";
2
2
  import * as n from "react";
3
3
  import { SLOT_ATTR as p } from "../../packages/volt-runtime/dist/renderer/contract.js";
4
- import { mergeClasses as f } from "../../packages/volt-runtime/dist/vendor/@griffel/core/src/mergeClasses.js";
5
- import { makeVoltStyles as u } from "../../styles/make-styles.js";
6
- import { grayA5 as e } from "../../tokens/index.js";
7
- const c = u({
4
+ import { mergeClasses as d } from "../../packages/volt-runtime/dist/vendor/@griffel/core/src/mergeClasses.js";
5
+ import { makeVoltStyles as f } from "../../styles/make-styles.js";
6
+ import { grayA5 as t } from "../../tokens/index.js";
7
+ const h = f({
8
8
  horizontal: {
9
- backgroundColor: e,
9
+ backgroundColor: t,
10
10
  flexShrink: 0,
11
11
  height: "1px",
12
12
  width: "100%"
13
13
  },
14
14
  vertical: {
15
- backgroundColor: e,
15
+ backgroundColor: t,
16
16
  flexShrink: 0,
17
17
  height: "100%",
18
18
  width: "1px"
19
19
  }
20
- }), k = n.forwardRef(
21
- function({ className: t, orientation: r = "horizontal", decorative: o = !0, ...s }, i) {
22
- const l = c(), a = !o;
23
- return /* @__PURE__ */ m.jsxDEV(
20
+ }), y = n.forwardRef(
21
+ function({ className: e, orientation: r = "horizontal", decorative: o = !0, ...i }, s) {
22
+ const l = h(), a = !o;
23
+ return /* @__PURE__ */ m(
24
24
  "div",
25
25
  {
26
- ref: i,
26
+ ref: s,
27
27
  "data-slot": "separator",
28
28
  [p]: "separator",
29
29
  "data-orientation": r,
30
30
  role: a ? "separator" : void 0,
31
31
  "aria-orientation": a ? r : void 0,
32
32
  "aria-hidden": o ? "true" : void 0,
33
- className: f(l[r], t),
34
- ...s
35
- },
36
- void 0,
37
- !1,
38
- {
39
- fileName: "/Users/wilianmolinari/repos/volt-ui-rollout/release/packages/experimental-griffel/src/components/separator/separator.tsx",
40
- lineNumber: 65,
41
- columnNumber: 7
42
- },
43
- this
33
+ className: d(l[r], e),
34
+ ...i
35
+ }
44
36
  );
45
37
  }
46
38
  );
47
39
  export {
48
- k as Separator
40
+ y as Separator
49
41
  };
50
42
  //# sourceMappingURL=separator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"separator.js","sources":["../../../src/components/separator/separator.tsx"],"sourcesContent":["import * as React from \"react\"\n\nimport { mergeClasses } 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 * Separator — v1's `@radix-ui/react-separator` ported to Griffel atoms with no Radix dependency.\n *\n * A separator needs no behaviour beyond correct semantics, so it is a plain `<div>`. The two\n * orientation variants are separate style slots selected in JS from the `orientation` prop — we\n * deliberately do NOT style off a `data-[orientation=...]` attribute, like v1 does. v1 keyed its\n * sizing on `data-[orientation=horizontal]`; doing that here would either key on `data-slot`-style\n * selectors (whose values are shared with v1, so the rule also matches v1-rendered DOM) or on the\n * custom-property slot marker. Two slots in the style object is simpler and cheaper. We still emit\n * `data-orientation` as a plain attribute — for diagnostics and for consumers — we just never style\n * off it.\n *\n * The accessibility surface is the whole point of the component, so it gets the full treatment:\n * - `decorative` (default `true`): the divider is purely presentational, so it is hidden from\n * assistive technology with `aria-hidden=\"true\"` and carries no `role`.\n * - `decorative={false}`: a meaningful separator, so it gets `role=\"separator\"` and\n * `aria-orientation` matching the `orientation` prop.\n */\n\nexport type SeparatorOrientation = \"horizontal\" | \"vertical\"\n\nconst useStyles = makeVoltStyles({\n horizontal: {\n backgroundColor: tokens.grayA5,\n flexShrink: 0,\n height: \"1px\",\n width: \"100%\",\n },\n vertical: {\n backgroundColor: tokens.grayA5,\n flexShrink: 0,\n height: \"100%\",\n width: \"1px\",\n },\n})\n\nexport type SeparatorProps = React.ComponentProps<\"div\"> & {\n orientation?: SeparatorOrientation\n /**\n * When `true` the separator is purely decorative and is hidden from assistive technology\n * (`aria-hidden=\"true\"`, no `role`). When `false` it is a meaningful separator and gets\n * `role=\"separator\"` plus `aria-orientation`.\n */\n decorative?: boolean\n}\n\nexport const Separator = React.forwardRef<HTMLDivElement, SeparatorProps>(\n function Separator(\n { className, orientation = \"horizontal\", decorative = true, ...props },\n ref\n ) {\n const styles = useStyles()\n\n const meaningful = !decorative\n\n return (\n <div\n ref={ref}\n data-slot=\"separator\"\n {...{ [SLOT_ATTR]: \"separator\" }}\n data-orientation={orientation}\n role={meaningful ? \"separator\" : undefined}\n aria-orientation={meaningful ? orientation : undefined}\n aria-hidden={decorative ? \"true\" : undefined}\n className={mergeClasses(styles[orientation], className)}\n {...props}\n />\n )\n }\n)\n"],"names":["useStyles","makeVoltStyles","tokens.grayA5","Separator","React","className","orientation","decorative","props","ref","styles","meaningful","jsxDEV","SLOT_ATTR","mergeClasses"],"mappings":";;;;;;AA6BA,MAAMA,IAAYC,EAAe;AAAA,EAC/B,YAAY;AAAA,IACV,iBAAiBC;AAAAA,IACjB,YAAY;AAAA,IACZ,QAAQ;AAAA,IACR,OAAO;AAAA,EAAA;AAAA,EAET,UAAU;AAAA,IACR,iBAAiBA;AAAAA,IACjB,YAAY;AAAA,IACZ,QAAQ;AAAA,IACR,OAAO;AAAA,EAAA;AAEX,CAAC,GAYYC,IAAYC,EAAM;AAAA,EAC7B,SACE,EAAE,WAAAC,GAAW,aAAAC,IAAc,cAAc,YAAAC,IAAa,IAAM,GAAGC,EAAA,GAC/DC,GACA;AACA,UAAMC,IAASV,EAAA,GAETW,IAAa,CAACJ;AAEpB,WACEK,gBAAAA,EAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAH;AAAA,QACA,aAAU;AAAA,QACJ,CAACI,CAAS,GAAG;AAAA,QACnB,oBAAkBP;AAAA,QAClB,MAAMK,IAAa,cAAc;AAAA,QACjC,oBAAkBA,IAAaL,IAAc;AAAA,QAC7C,eAAaC,IAAa,SAAS;AAAA,QACnC,WAAWO,EAAaJ,EAAOJ,CAAW,GAAGD,CAAS;AAAA,QACrD,GAAGG;AAAA,MAAA;AAAA,MATN;AAAA,MAAA;AAAA,MAAA;AAAA,QAAA,UAAA;AAAA,QAAA,YAAA;AAAA,QAAA,cAAA;AAAA,MAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAYJ;AACF;"}
1
+ {"version":3,"file":"separator.js","sources":["../../../src/components/separator/separator.tsx"],"sourcesContent":["import * as React from \"react\"\n\nimport { mergeClasses } 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 * Separator — v1's `@radix-ui/react-separator` ported to Griffel atoms with no Radix dependency.\n *\n * A separator needs no behaviour beyond correct semantics, so it is a plain `<div>`. The two\n * orientation variants are separate style slots selected in JS from the `orientation` prop — we\n * deliberately do NOT style off a `data-[orientation=...]` attribute, like v1 does. v1 keyed its\n * sizing on `data-[orientation=horizontal]`; doing that here would either key on `data-slot`-style\n * selectors (whose values are shared with v1, so the rule also matches v1-rendered DOM) or on the\n * custom-property slot marker. Two slots in the style object is simpler and cheaper. We still emit\n * `data-orientation` as a plain attribute — for diagnostics and for consumers — we just never style\n * off it.\n *\n * The accessibility surface is the whole point of the component, so it gets the full treatment:\n * - `decorative` (default `true`): the divider is purely presentational, so it is hidden from\n * assistive technology with `aria-hidden=\"true\"` and carries no `role`.\n * - `decorative={false}`: a meaningful separator, so it gets `role=\"separator\"` and\n * `aria-orientation` matching the `orientation` prop.\n */\n\nexport type SeparatorOrientation = \"horizontal\" | \"vertical\"\n\nconst useStyles = makeVoltStyles({\n horizontal: {\n backgroundColor: tokens.grayA5,\n flexShrink: 0,\n height: \"1px\",\n width: \"100%\",\n },\n vertical: {\n backgroundColor: tokens.grayA5,\n flexShrink: 0,\n height: \"100%\",\n width: \"1px\",\n },\n})\n\nexport type SeparatorProps = React.ComponentProps<\"div\"> & {\n orientation?: SeparatorOrientation\n /**\n * When `true` the separator is purely decorative and is hidden from assistive technology\n * (`aria-hidden=\"true\"`, no `role`). When `false` it is a meaningful separator and gets\n * `role=\"separator\"` plus `aria-orientation`.\n */\n decorative?: boolean\n}\n\nexport const Separator = React.forwardRef<HTMLDivElement, SeparatorProps>(\n function Separator(\n { className, orientation = \"horizontal\", decorative = true, ...props },\n ref\n ) {\n const styles = useStyles()\n\n const meaningful = !decorative\n\n return (\n <div\n ref={ref}\n data-slot=\"separator\"\n {...{ [SLOT_ATTR]: \"separator\" }}\n data-orientation={orientation}\n role={meaningful ? \"separator\" : undefined}\n aria-orientation={meaningful ? orientation : undefined}\n aria-hidden={decorative ? \"true\" : undefined}\n className={mergeClasses(styles[orientation], className)}\n {...props}\n />\n )\n }\n)\n"],"names":["useStyles","makeVoltStyles","tokens.grayA5","Separator","React","className","orientation","decorative","props","ref","styles","meaningful","jsx","SLOT_ATTR","mergeClasses"],"mappings":";;;;;;AA6BA,MAAMA,IAAYC,EAAe;AAAA,EAC/B,YAAY;AAAA,IACV,iBAAiBC;AAAAA,IACjB,YAAY;AAAA,IACZ,QAAQ;AAAA,IACR,OAAO;AAAA,EAAA;AAAA,EAET,UAAU;AAAA,IACR,iBAAiBA;AAAAA,IACjB,YAAY;AAAA,IACZ,QAAQ;AAAA,IACR,OAAO;AAAA,EAAA;AAEX,CAAC,GAYYC,IAAYC,EAAM;AAAA,EAC7B,SACE,EAAE,WAAAC,GAAW,aAAAC,IAAc,cAAc,YAAAC,IAAa,IAAM,GAAGC,EAAA,GAC/DC,GACA;AACA,UAAMC,IAASV,EAAA,GAETW,IAAa,CAACJ;AAEpB,WACE,gBAAAK;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAH;AAAA,QACA,aAAU;AAAA,QACJ,CAACI,CAAS,GAAG;AAAA,QACnB,oBAAkBP;AAAA,QAClB,MAAMK,IAAa,cAAc;AAAA,QACjC,oBAAkBA,IAAaL,IAAc;AAAA,QAC7C,eAAaC,IAAa,SAAS;AAAA,QACnC,WAAWO,EAAaJ,EAAOJ,CAAW,GAAGD,CAAS;AAAA,QACrD,GAAGG;AAAA,MAAA;AAAA,IAAA;AAAA,EAGV;AACF;"}
@@ -1,15 +1,15 @@
1
- import { j as a } from "../../vendor/react/jsx-dev-runtime.js";
2
- import * as c from "react";
3
- import { shorthands as n } from "../../packages/volt-runtime/dist/vendor/@griffel/core/src/index.js";
4
- import { SLOT_ATTR as m } from "../../packages/volt-runtime/dist/renderer/contract.js";
1
+ import { jsxs as c, jsx as n } from "react/jsx-runtime";
2
+ import * as d from "react";
3
+ import { shorthands as i } from "../../packages/volt-runtime/dist/vendor/@griffel/core/src/index.js";
4
+ import { SLOT_ATTR as l } from "../../packages/volt-runtime/dist/renderer/contract.js";
5
5
  import { mergeClasses as t } from "../../packages/volt-runtime/dist/vendor/@griffel/core/src/mergeClasses.js";
6
6
  import { makeVoltStyles as p } from "../../styles/make-styles.js";
7
- import { radiusMd as u, indigoA4 as f, pinkA4 as d, purpleA4 as g, gray3 as k, gray4 as N } from "../../tokens/index.js";
8
- import { useVoltPaletteTokensWhen as b } from "../../tokens/use-palette-tokens.js";
9
- const x = p({
7
+ import { radiusMd as u, indigoA4 as f, pinkA4 as g, purpleA4 as k, gray3 as b, gray4 as y } from "../../tokens/index.js";
8
+ import { useVoltPaletteTokensWhen as N } from "../../tokens/use-palette-tokens.js";
9
+ const T = p({
10
10
  default: {
11
- backgroundColor: N,
12
- ...n.borderRadius(u),
11
+ backgroundColor: y,
12
+ ...i.borderRadius(u),
13
13
  animationName: {
14
14
  "0%,100%": { opacity: 1 },
15
15
  "50%": { opacity: 0.5 }
@@ -19,21 +19,21 @@ const x = p({
19
19
  animationIterationCount: "infinite"
20
20
  },
21
21
  ai: {
22
- backgroundColor: k,
23
- ...n.borderRadius(u),
22
+ backgroundColor: b,
23
+ ...i.borderRadius(u),
24
24
  position: "relative",
25
- ...n.overflow("hidden")
25
+ ...i.overflow("hidden")
26
26
  },
27
27
  spot: {
28
28
  position: "absolute",
29
29
  inset: "-50%",
30
- ...n.borderRadius("50%"),
30
+ ...i.borderRadius("50%"),
31
31
  opacity: 0.6,
32
32
  filter: "blur(18px)",
33
33
  pointerEvents: "none"
34
34
  },
35
35
  spot1: {
36
- backgroundImage: `radial-gradient(circle, ${g} 0%, transparent 65%)`,
36
+ backgroundImage: `radial-gradient(circle, ${k} 0%, transparent 65%)`,
37
37
  animationName: {
38
38
  "0%,100%": { transform: "translate(-20%, 0%) scale(1)" },
39
39
  "33%": { transform: "translate(40%, -25%) scale(1.2)" },
@@ -44,7 +44,7 @@ const x = p({
44
44
  animationIterationCount: "infinite"
45
45
  },
46
46
  spot2: {
47
- backgroundImage: `radial-gradient(circle, ${d} 0%, transparent 65%)`,
47
+ backgroundImage: `radial-gradient(circle, ${g} 0%, transparent 65%)`,
48
48
  animationName: {
49
49
  "0%,100%": { transform: "translate(20%, 0%) scale(1.1)" },
50
50
  "33%": { transform: "translate(-35%, 25%) scale(0.9)" },
@@ -65,97 +65,57 @@ const x = p({
65
65
  animationTimingFunction: "ease-in-out",
66
66
  animationIterationCount: "infinite"
67
67
  }
68
- }), E = c.forwardRef(
69
- function({ variant: i = "default", className: o, children: s, ...r }, l) {
70
- b(i === "ai");
71
- const e = x();
72
- return i === "ai" ? /* @__PURE__ */ a.jsxDEV(
68
+ }), D = d.forwardRef(
69
+ function({ variant: o = "default", className: e, children: r, ...s }, m) {
70
+ N(o === "ai");
71
+ const a = T();
72
+ return o === "ai" ? /* @__PURE__ */ c(
73
73
  "div",
74
74
  {
75
- ref: l,
75
+ ref: m,
76
76
  "data-slot": "skeleton",
77
- [m]: "skeleton",
78
- className: t(e.ai, o),
79
- ...r,
77
+ [l]: "skeleton",
78
+ className: t(a.ai, e),
79
+ ...s,
80
80
  children: [
81
- /* @__PURE__ */ a.jsxDEV(
81
+ /* @__PURE__ */ n(
82
82
  "span",
83
83
  {
84
84
  "aria-hidden": "true",
85
- className: t(e.spot, e.spot1)
86
- },
87
- void 0,
88
- !1,
89
- {
90
- fileName: "/Users/wilianmolinari/repos/volt-ui-rollout/release/packages/experimental-griffel/src/components/skeleton/skeleton.tsx",
91
- lineNumber: 119,
92
- columnNumber: 11
93
- },
94
- this
85
+ className: t(a.spot, a.spot1)
86
+ }
95
87
  ),
96
- /* @__PURE__ */ a.jsxDEV(
88
+ /* @__PURE__ */ n(
97
89
  "span",
98
90
  {
99
91
  "aria-hidden": "true",
100
- className: t(e.spot, e.spot2)
101
- },
102
- void 0,
103
- !1,
104
- {
105
- fileName: "/Users/wilianmolinari/repos/volt-ui-rollout/release/packages/experimental-griffel/src/components/skeleton/skeleton.tsx",
106
- lineNumber: 123,
107
- columnNumber: 11
108
- },
109
- this
92
+ className: t(a.spot, a.spot2)
93
+ }
110
94
  ),
111
- /* @__PURE__ */ a.jsxDEV(
95
+ /* @__PURE__ */ n(
112
96
  "span",
113
97
  {
114
98
  "aria-hidden": "true",
115
- className: t(e.spot, e.spot3)
116
- },
117
- void 0,
118
- !1,
119
- {
120
- fileName: "/Users/wilianmolinari/repos/volt-ui-rollout/release/packages/experimental-griffel/src/components/skeleton/skeleton.tsx",
121
- lineNumber: 127,
122
- columnNumber: 11
123
- },
124
- this
99
+ className: t(a.spot, a.spot3)
100
+ }
125
101
  ),
126
- s
102
+ r
127
103
  ]
128
- },
129
- void 0,
130
- !0,
131
- {
132
- fileName: "/Users/wilianmolinari/repos/volt-ui-rollout/release/packages/experimental-griffel/src/components/skeleton/skeleton.tsx",
133
- lineNumber: 112,
134
- columnNumber: 9
135
- },
136
- this
137
- ) : /* @__PURE__ */ a.jsxDEV(
104
+ }
105
+ ) : /* @__PURE__ */ n(
138
106
  "div",
139
107
  {
140
- ref: l,
108
+ ref: m,
141
109
  "data-slot": "skeleton",
142
- [m]: "skeleton",
143
- className: t(e.default, o),
144
- ...r,
145
- children: s
146
- },
147
- void 0,
148
- !1,
149
- {
150
- fileName: "/Users/wilianmolinari/repos/volt-ui-rollout/release/packages/experimental-griffel/src/components/skeleton/skeleton.tsx",
151
- lineNumber: 137,
152
- columnNumber: 7
153
- },
154
- this
110
+ [l]: "skeleton",
111
+ className: t(a.default, e),
112
+ ...s,
113
+ children: r
114
+ }
155
115
  );
156
116
  }
157
117
  );
158
118
  export {
159
- E as Skeleton
119
+ D as Skeleton
160
120
  };
161
121
  //# sourceMappingURL=skeleton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skeleton.js","sources":["../../../src/components/skeleton/skeleton.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\"\nimport { useVoltPaletteTokensWhen } from \"../../tokens/use-palette-tokens\"\n\n/**\n * Skeleton — v1's loading placeholder ported to Griffel atoms.\n *\n * Two variants, `default` and `ai`. `default` is a gray block that pulses; `ai` is a gray field\n * that renders three decorative colour spots drifting behind the content. The spots are ported from\n * v1's global `skeleton-ai-spot-*` classes in `styles/utilities.css`, including their exact\n * gradients, durations (10s / 12s / 14s) and easing.\n *\n * The keyframes are the object form, so Griffel hashes each one from its content — a hand-authored\n * global `@keyframes` would collide across two co-resident copies of this package. The pulse is a\n * single three-stop animation; each spot carries its own.\n *\n * The spots are `purple-a4`, `pink-a4` and `indigo-a4`, none of which is a core token family\n * (accent / gray / error / warning / success / info ship in the core sheet; everything else lives\n * in the palette sheet, which is not loaded by default). `ai` therefore calls\n * `ensurePaletteTokens()` — CONVENTIONS rule 3. There is no `color` prop, so no inline custom\n * properties: the spot colours are constant and live inside the style objects.\n */\n\nexport type SkeletonVariant = \"default\" | \"ai\"\n\nconst useStyles = makeVoltStyles({\n default: {\n backgroundColor: tokens.gray4,\n ...shorthands.borderRadius(tokens.radiusMd),\n animationName: {\n \"0%,100%\": { opacity: 1 },\n \"50%\": { opacity: 0.5 },\n },\n animationDuration: \"2s\",\n animationTimingFunction: \"cubic-bezier(0.4,0,0.6,1)\",\n animationIterationCount: \"infinite\",\n },\n ai: {\n backgroundColor: tokens.gray3,\n ...shorthands.borderRadius(tokens.radiusMd),\n position: \"relative\",\n ...shorthands.overflow(\"hidden\"),\n },\n spot: {\n position: \"absolute\",\n inset: \"-50%\",\n ...shorthands.borderRadius(\"50%\"),\n opacity: 0.6,\n filter: \"blur(18px)\",\n pointerEvents: \"none\",\n },\n spot1: {\n backgroundImage: `radial-gradient(circle, ${tokens.purpleA4} 0%, transparent 65%)`,\n animationName: {\n \"0%,100%\": { transform: \"translate(-20%, 0%) scale(1)\" },\n \"33%\": { transform: \"translate(40%, -25%) scale(1.2)\" },\n \"66%\": { transform: \"translate(-10%, 30%) scale(0.9)\" },\n },\n animationDuration: \"10s\",\n animationTimingFunction: \"ease-in-out\",\n animationIterationCount: \"infinite\",\n },\n spot2: {\n backgroundImage: `radial-gradient(circle, ${tokens.pinkA4} 0%, transparent 65%)`,\n animationName: {\n \"0%,100%\": { transform: \"translate(20%, 0%) scale(1.1)\" },\n \"33%\": { transform: \"translate(-35%, 25%) scale(0.9)\" },\n \"66%\": { transform: \"translate(30%, -20%) scale(1.3)\" },\n },\n animationDuration: \"12s\",\n animationTimingFunction: \"ease-in-out\",\n animationIterationCount: \"infinite\",\n },\n spot3: {\n backgroundImage: `radial-gradient(circle, ${tokens.indigoA4} 0%, transparent 65%)`,\n animationName: {\n \"0%,100%\": { transform: \"translate(0%, 20%) scale(1)\" },\n \"33%\": { transform: \"translate(25%, -30%) scale(1.2)\" },\n \"66%\": { transform: \"translate(-30%, 10%) scale(0.8)\" },\n },\n animationDuration: \"14s\",\n animationTimingFunction: \"ease-in-out\",\n animationIterationCount: \"infinite\",\n },\n})\n\nexport type SkeletonProps = React.ComponentProps<\"div\"> & {\n variant?: SkeletonVariant\n}\n\nexport const Skeleton = React.forwardRef<HTMLDivElement, SkeletonProps>(\n function Skeleton(\n { variant = \"default\", className, children, ...props },\n ref\n ) {\n // The decorative families live in the palette sheet, which is not installed by default\n // (CONVENTIONS rule 3). Only the `ai` variant paints them — purple-a4, pink-a4, indigo-a4.\n // The hook is called unconditionally every render (WP2B2 — hook order); the `variant === \"ai\"`\n // branch lives inside its commit-phase effect, not around this call, so the default variant\n // still installs nothing it never reads.\n useVoltPaletteTokensWhen(variant === \"ai\")\n\n const styles = useStyles()\n\n if (variant === \"ai\") {\n return (\n <div\n ref={ref}\n data-slot=\"skeleton\"\n {...{ [SLOT_ATTR]: \"skeleton\" }}\n className={mergeClasses(styles.ai, className)}\n {...props}\n >\n <span\n aria-hidden=\"true\"\n className={mergeClasses(styles.spot, styles.spot1)}\n />\n <span\n aria-hidden=\"true\"\n className={mergeClasses(styles.spot, styles.spot2)}\n />\n <span\n aria-hidden=\"true\"\n className={mergeClasses(styles.spot, styles.spot3)}\n />\n {children}\n </div>\n )\n }\n\n return (\n <div\n ref={ref}\n data-slot=\"skeleton\"\n {...{ [SLOT_ATTR]: \"skeleton\" }}\n className={mergeClasses(styles.default, className)}\n {...props}\n >\n {children}\n </div>\n )\n }\n)\n"],"names":["useStyles","makeVoltStyles","tokens.gray4","shorthands","tokens.radiusMd","tokens.gray3","tokens.purpleA4","tokens.pinkA4","tokens.indigoA4","Skeleton","React","variant","className","children","props","ref","useVoltPaletteTokensWhen","styles","jsxDEV","SLOT_ATTR","mergeClasses"],"mappings":"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"}
1
+ {"version":3,"file":"skeleton.js","sources":["../../../src/components/skeleton/skeleton.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\"\nimport { useVoltPaletteTokensWhen } from \"../../tokens/use-palette-tokens\"\n\n/**\n * Skeleton — v1's loading placeholder ported to Griffel atoms.\n *\n * Two variants, `default` and `ai`. `default` is a gray block that pulses; `ai` is a gray field\n * that renders three decorative colour spots drifting behind the content. The spots are ported from\n * v1's global `skeleton-ai-spot-*` classes in `styles/utilities.css`, including their exact\n * gradients, durations (10s / 12s / 14s) and easing.\n *\n * The keyframes are the object form, so Griffel hashes each one from its content — a hand-authored\n * global `@keyframes` would collide across two co-resident copies of this package. The pulse is a\n * single three-stop animation; each spot carries its own.\n *\n * The spots are `purple-a4`, `pink-a4` and `indigo-a4`, none of which is a core token family\n * (accent / gray / error / warning / success / info ship in the core sheet; everything else lives\n * in the palette sheet, which is not loaded by default). `ai` therefore calls\n * `ensurePaletteTokens()` — CONVENTIONS rule 3. There is no `color` prop, so no inline custom\n * properties: the spot colours are constant and live inside the style objects.\n */\n\nexport type SkeletonVariant = \"default\" | \"ai\"\n\nconst useStyles = makeVoltStyles({\n default: {\n backgroundColor: tokens.gray4,\n ...shorthands.borderRadius(tokens.radiusMd),\n animationName: {\n \"0%,100%\": { opacity: 1 },\n \"50%\": { opacity: 0.5 },\n },\n animationDuration: \"2s\",\n animationTimingFunction: \"cubic-bezier(0.4,0,0.6,1)\",\n animationIterationCount: \"infinite\",\n },\n ai: {\n backgroundColor: tokens.gray3,\n ...shorthands.borderRadius(tokens.radiusMd),\n position: \"relative\",\n ...shorthands.overflow(\"hidden\"),\n },\n spot: {\n position: \"absolute\",\n inset: \"-50%\",\n ...shorthands.borderRadius(\"50%\"),\n opacity: 0.6,\n filter: \"blur(18px)\",\n pointerEvents: \"none\",\n },\n spot1: {\n backgroundImage: `radial-gradient(circle, ${tokens.purpleA4} 0%, transparent 65%)`,\n animationName: {\n \"0%,100%\": { transform: \"translate(-20%, 0%) scale(1)\" },\n \"33%\": { transform: \"translate(40%, -25%) scale(1.2)\" },\n \"66%\": { transform: \"translate(-10%, 30%) scale(0.9)\" },\n },\n animationDuration: \"10s\",\n animationTimingFunction: \"ease-in-out\",\n animationIterationCount: \"infinite\",\n },\n spot2: {\n backgroundImage: `radial-gradient(circle, ${tokens.pinkA4} 0%, transparent 65%)`,\n animationName: {\n \"0%,100%\": { transform: \"translate(20%, 0%) scale(1.1)\" },\n \"33%\": { transform: \"translate(-35%, 25%) scale(0.9)\" },\n \"66%\": { transform: \"translate(30%, -20%) scale(1.3)\" },\n },\n animationDuration: \"12s\",\n animationTimingFunction: \"ease-in-out\",\n animationIterationCount: \"infinite\",\n },\n spot3: {\n backgroundImage: `radial-gradient(circle, ${tokens.indigoA4} 0%, transparent 65%)`,\n animationName: {\n \"0%,100%\": { transform: \"translate(0%, 20%) scale(1)\" },\n \"33%\": { transform: \"translate(25%, -30%) scale(1.2)\" },\n \"66%\": { transform: \"translate(-30%, 10%) scale(0.8)\" },\n },\n animationDuration: \"14s\",\n animationTimingFunction: \"ease-in-out\",\n animationIterationCount: \"infinite\",\n },\n})\n\nexport type SkeletonProps = React.ComponentProps<\"div\"> & {\n variant?: SkeletonVariant\n}\n\nexport const Skeleton = React.forwardRef<HTMLDivElement, SkeletonProps>(\n function Skeleton(\n { variant = \"default\", className, children, ...props },\n ref\n ) {\n // The decorative families live in the palette sheet, which is not installed by default\n // (CONVENTIONS rule 3). Only the `ai` variant paints them — purple-a4, pink-a4, indigo-a4.\n // The hook is called unconditionally every render (WP2B2 — hook order); the `variant === \"ai\"`\n // branch lives inside its commit-phase effect, not around this call, so the default variant\n // still installs nothing it never reads.\n useVoltPaletteTokensWhen(variant === \"ai\")\n\n const styles = useStyles()\n\n if (variant === \"ai\") {\n return (\n <div\n ref={ref}\n data-slot=\"skeleton\"\n {...{ [SLOT_ATTR]: \"skeleton\" }}\n className={mergeClasses(styles.ai, className)}\n {...props}\n >\n <span\n aria-hidden=\"true\"\n className={mergeClasses(styles.spot, styles.spot1)}\n />\n <span\n aria-hidden=\"true\"\n className={mergeClasses(styles.spot, styles.spot2)}\n />\n <span\n aria-hidden=\"true\"\n className={mergeClasses(styles.spot, styles.spot3)}\n />\n {children}\n </div>\n )\n }\n\n return (\n <div\n ref={ref}\n data-slot=\"skeleton\"\n {...{ [SLOT_ATTR]: \"skeleton\" }}\n className={mergeClasses(styles.default, className)}\n {...props}\n >\n {children}\n </div>\n )\n }\n)\n"],"names":["useStyles","makeVoltStyles","tokens.gray4","shorthands","tokens.radiusMd","tokens.gray3","tokens.purpleA4","tokens.pinkA4","tokens.indigoA4","Skeleton","React","variant","className","children","props","ref","useVoltPaletteTokensWhen","styles","jsxs","SLOT_ATTR","mergeClasses","jsx"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import { j as e } from "../../vendor/react/jsx-dev-runtime.js";
1
+ import { jsx as e, jsxs as s } from "react/jsx-runtime";
2
2
  import * as o from "react";
3
- import { SLOT_ATTR as a } from "../../packages/volt-runtime/dist/renderer/contract.js";
4
- import { mergeClasses as l } from "../../packages/volt-runtime/dist/vendor/@griffel/core/src/mergeClasses.js";
5
- import { makeVoltStyles as m } from "../../styles/make-styles.js";
6
- const c = m({
3
+ import { SLOT_ATTR as m } from "../../packages/volt-runtime/dist/renderer/contract.js";
4
+ import { mergeClasses as h } from "../../packages/volt-runtime/dist/vendor/@griffel/core/src/mergeClasses.js";
5
+ import { makeVoltStyles as c } from "../../styles/make-styles.js";
6
+ const l = c({
7
7
  sm: {
8
8
  width: "1rem",
9
9
  height: "1rem"
@@ -52,13 +52,13 @@ const c = m({
52
52
  animationTimingFunction: "ease-in-out",
53
53
  animationIterationCount: "infinite"
54
54
  }
55
- }), x = o.forwardRef(
56
- function({ size: r = "base", className: s, ...n }, t) {
57
- const i = c();
58
- return /* @__PURE__ */ e.jsxDEV(
55
+ }), w = o.forwardRef(
56
+ function({ size: i = "base", className: r, ...n }, a) {
57
+ const t = l();
58
+ return /* @__PURE__ */ e(
59
59
  "svg",
60
60
  {
61
- ref: t,
61
+ ref: a,
62
62
  xmlns: "http://www.w3.org/2000/svg",
63
63
  width: "24",
64
64
  height: "24",
@@ -67,53 +67,29 @@ const c = m({
67
67
  stroke: "currentColor",
68
68
  role: "status",
69
69
  "data-slot": "spinner",
70
- [a]: "spinner",
71
- className: l(i[r], s),
70
+ [m]: "spinner",
71
+ className: h(t[i], r),
72
72
  ...n,
73
- children: /* @__PURE__ */ e.jsxDEV("g", { className: i.spin, children: [
74
- /* @__PURE__ */ e.jsxDEV("circle", { cx: "12", cy: "12", r: "9.5", strokeWidth: "3", opacity: "0.1" }, void 0, !1, {
75
- fileName: "/Users/wilianmolinari/repos/volt-ui-rollout/release/packages/experimental-griffel/src/components/spinner/spinner.tsx",
76
- lineNumber: 105,
77
- columnNumber: 11
78
- }, this),
79
- /* @__PURE__ */ e.jsxDEV(
73
+ children: /* @__PURE__ */ s("g", { className: t.spin, children: [
74
+ /* @__PURE__ */ e("circle", { cx: "12", cy: "12", r: "9.5", strokeWidth: "3", opacity: "0.1" }),
75
+ /* @__PURE__ */ e(
80
76
  "circle",
81
77
  {
82
- className: i.dash,
78
+ className: t.dash,
83
79
  cx: "12",
84
80
  cy: "12",
85
81
  r: "9.5",
86
82
  strokeWidth: "3",
87
83
  strokeLinecap: "round",
88
84
  fill: "none"
89
- },
90
- void 0,
91
- !1,
92
- {
93
- fileName: "/Users/wilianmolinari/repos/volt-ui-rollout/release/packages/experimental-griffel/src/components/spinner/spinner.tsx",
94
- lineNumber: 106,
95
- columnNumber: 11
96
- },
97
- this
85
+ }
98
86
  )
99
- ] }, void 0, !0, {
100
- fileName: "/Users/wilianmolinari/repos/volt-ui-rollout/release/packages/experimental-griffel/src/components/spinner/spinner.tsx",
101
- lineNumber: 104,
102
- columnNumber: 9
103
- }, this)
104
- },
105
- void 0,
106
- !1,
107
- {
108
- fileName: "/Users/wilianmolinari/repos/volt-ui-rollout/release/packages/experimental-griffel/src/components/spinner/spinner.tsx",
109
- lineNumber: 90,
110
- columnNumber: 7
111
- },
112
- this
87
+ ] })
88
+ }
113
89
  );
114
90
  }
115
91
  );
116
92
  export {
117
- x as Spinner
93
+ w as Spinner
118
94
  };
119
95
  //# sourceMappingURL=spinner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"spinner.js","sources":["../../../src/components/spinner/spinner.tsx"],"sourcesContent":["import * as React from \"react\"\n\nimport { mergeClasses } from \"@epilot/volt-ui-runtime\"\n\nimport { SLOT_ATTR } from \"../../renderer/contract\"\nimport { makeVoltStyles } from \"../../styles/make-styles\"\n\n/**\n * Spinner — v1's SVG spinner ported to a size-driven style object.\n *\n * v1 sizes this with Tailwind `size-*` utilities and deprecated the `size` prop in favour of a\n * `className` like `size-4`. There is no Tailwind here, so that escape hatch does not exist: `size`\n * is the supported API and the `@deprecated` tag is dropped (CONVENTIONS rule 9).\n *\n * The SVG markup, `viewBox` and stroke attributes are copied exactly from v1. Both animations are\n * the object form per CONVENTIONS rule 8: the outer `<g>` spins from a single `100%` stop, and the\n * dash sweep carries all three of v1's keyframe stops (`0%`, `47.5%`, `95%,100%`) from\n * `styles/animations.css`. The only mechanical changes are stylistic: sizes become width/height\n * atoms and the two `animate-*` classes become `animationName` + duration + timing + iteration.\n *\n * The five dimensions (1rem / 1.5rem / 2.5rem / 4rem / 6rem) are v1's Tailwind `size-N` values;\n * the v2 token set has no size or width/height family, so they are literals (CONVENTIONS rule 1).\n *\n * v1 also exposes a `variant` prop (`circle` | `line`) whose branches are both empty strings — it\n * produces no styles at all, so it is omitted here.\n */\n\nexport type SpinnerSize = \"sm\" | \"base\" | \"lg\" | \"xl\" | \"2xl\"\n\nconst useStyles = makeVoltStyles({\n sm: {\n width: \"1rem\",\n height: \"1rem\",\n },\n base: {\n width: \"1.5rem\",\n height: \"1.5rem\",\n },\n lg: {\n width: \"2.5rem\",\n height: \"2.5rem\",\n },\n xl: {\n width: \"4rem\",\n height: \"4rem\",\n },\n \"2xl\": {\n width: \"6rem\",\n height: \"6rem\",\n },\n spin: {\n transformOrigin: \"center\",\n animationName: {\n \"100%\": { transform: \"rotate(360deg)\" },\n },\n animationDuration: \"2s\",\n animationTimingFunction: \"linear\",\n animationIterationCount: \"infinite\",\n },\n dash: {\n animationName: {\n \"0%\": {\n strokeDasharray: \"0 150\",\n strokeDashoffset: 0,\n },\n \"47.5%\": {\n strokeDasharray: \"42 150\",\n strokeDashoffset: -16,\n },\n \"95%,100%\": {\n strokeDasharray: \"42 150\",\n strokeDashoffset: -59,\n },\n },\n animationDuration: \"1.5s\",\n animationTimingFunction: \"ease-in-out\",\n animationIterationCount: \"infinite\",\n },\n})\n\nexport type SpinnerProps = React.ComponentProps<\"svg\"> & {\n size?: SpinnerSize\n}\n\nexport const Spinner = React.forwardRef<SVGSVGElement, SpinnerProps>(\n function Spinner({ size = \"base\", className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <svg\n ref={ref}\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n role=\"status\"\n data-slot=\"spinner\"\n {...{ [SLOT_ATTR]: \"spinner\" }}\n className={mergeClasses(styles[size], className)}\n {...props}\n >\n <g className={styles.spin}>\n <circle cx=\"12\" cy=\"12\" r=\"9.5\" strokeWidth=\"3\" opacity=\"0.1\" />\n <circle\n className={styles.dash}\n cx=\"12\"\n cy=\"12\"\n r=\"9.5\"\n strokeWidth=\"3\"\n strokeLinecap=\"round\"\n fill=\"none\"\n />\n </g>\n </svg>\n )\n }\n)\n"],"names":["useStyles","makeVoltStyles","Spinner","React","size","className","props","ref","styles","jsxDEV","SLOT_ATTR","mergeClasses"],"mappings":";;;;;AA6BA,MAAMA,IAAYC,EAAe;AAAA,EAC/B,IAAI;AAAA,IACF,OAAO;AAAA,IACP,QAAQ;AAAA,EAAA;AAAA,EAEV,MAAM;AAAA,IACJ,OAAO;AAAA,IACP,QAAQ;AAAA,EAAA;AAAA,EAEV,IAAI;AAAA,IACF,OAAO;AAAA,IACP,QAAQ;AAAA,EAAA;AAAA,EAEV,IAAI;AAAA,IACF,OAAO;AAAA,IACP,QAAQ;AAAA,EAAA;AAAA,EAEV,OAAO;AAAA,IACL,OAAO;AAAA,IACP,QAAQ;AAAA,EAAA;AAAA,EAEV,MAAM;AAAA,IACJ,iBAAiB;AAAA,IACjB,eAAe;AAAA,MACb,QAAQ,EAAE,WAAW,iBAAA;AAAA,IAAiB;AAAA,IAExC,mBAAmB;AAAA,IACnB,yBAAyB;AAAA,IACzB,yBAAyB;AAAA,EAAA;AAAA,EAE3B,MAAM;AAAA,IACJ,eAAe;AAAA,MACb,MAAM;AAAA,QACJ,iBAAiB;AAAA,QACjB,kBAAkB;AAAA,MAAA;AAAA,MAEpB,SAAS;AAAA,QACP,iBAAiB;AAAA,QACjB,kBAAkB;AAAA,MAAA;AAAA,MAEpB,YAAY;AAAA,QACV,iBAAiB;AAAA,QACjB,kBAAkB;AAAA,MAAA;AAAA,IACpB;AAAA,IAEF,mBAAmB;AAAA,IACnB,yBAAyB;AAAA,IACzB,yBAAyB;AAAA,EAAA;AAE7B,CAAC,GAMYC,IAAUC,EAAM;AAAA,EAC3B,SAAiB,EAAE,MAAAC,IAAO,QAAQ,WAAAC,GAAW,GAAGC,EAAA,GAASC,GAAK;AAC5D,UAAMC,IAASR,EAAA;AAEf,WACES,gBAAAA,EAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAF;AAAA,QACA,OAAM;AAAA,QACN,OAAM;AAAA,QACN,QAAO;AAAA,QACP,SAAQ;AAAA,QACR,MAAK;AAAA,QACL,QAAO;AAAA,QACP,MAAK;AAAA,QACL,aAAU;AAAA,QACJ,CAACG,CAAS,GAAG;AAAA,QACnB,WAAWC,EAAaH,EAAOJ,CAAI,GAAGC,CAAS;AAAA,QAC9C,GAAGC;AAAA,QAEJ,UAAAG,gBAAAA,EAAAA,OAAC,KAAA,EAAE,WAAWD,EAAO,MACnB,UAAA;AAAA,UAAAC,gBAAAA,EAAAA,OAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,OAAM,aAAY,KAAI,SAAQ,MAAA,GAAxD,QAAA,IAAA;AAAA,YAAA,UAAA;AAAA,YAAA,YAAA;AAAA,YAAA,cAAA;AAAA,UAAA,GAAA,IAA8D;AAAA,UAC9DA,gBAAAA,EAAAA;AAAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAWD,EAAO;AAAA,cAClB,IAAG;AAAA,cACH,IAAG;AAAA,cACH,GAAE;AAAA,cACF,aAAY;AAAA,cACZ,eAAc;AAAA,cACd,MAAK;AAAA,YAAA;AAAA,YAPP;AAAA,YAAA;AAAA,YAAA;AAAA,cAAA,UAAA;AAAA,cAAA,YAAA;AAAA,cAAA,cAAA;AAAA,YAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QAQA,EAAA,GAVF,QAAA,IAAA;AAAA,UAAA,UAAA;AAAA,UAAA,YAAA;AAAA,UAAA,cAAA;AAAA,QAAA,GAAA,IAWA;AAAA,MAAA;AAAA,MAzBF;AAAA,MAAA;AAAA,MAAA;AAAA,QAAA,UAAA;AAAA,QAAA,YAAA;AAAA,QAAA,cAAA;AAAA,MAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EA4BJ;AACF;"}
1
+ {"version":3,"file":"spinner.js","sources":["../../../src/components/spinner/spinner.tsx"],"sourcesContent":["import * as React from \"react\"\n\nimport { mergeClasses } from \"@epilot/volt-ui-runtime\"\n\nimport { SLOT_ATTR } from \"../../renderer/contract\"\nimport { makeVoltStyles } from \"../../styles/make-styles\"\n\n/**\n * Spinner — v1's SVG spinner ported to a size-driven style object.\n *\n * v1 sizes this with Tailwind `size-*` utilities and deprecated the `size` prop in favour of a\n * `className` like `size-4`. There is no Tailwind here, so that escape hatch does not exist: `size`\n * is the supported API and the `@deprecated` tag is dropped (CONVENTIONS rule 9).\n *\n * The SVG markup, `viewBox` and stroke attributes are copied exactly from v1. Both animations are\n * the object form per CONVENTIONS rule 8: the outer `<g>` spins from a single `100%` stop, and the\n * dash sweep carries all three of v1's keyframe stops (`0%`, `47.5%`, `95%,100%`) from\n * `styles/animations.css`. The only mechanical changes are stylistic: sizes become width/height\n * atoms and the two `animate-*` classes become `animationName` + duration + timing + iteration.\n *\n * The five dimensions (1rem / 1.5rem / 2.5rem / 4rem / 6rem) are v1's Tailwind `size-N` values;\n * the v2 token set has no size or width/height family, so they are literals (CONVENTIONS rule 1).\n *\n * v1 also exposes a `variant` prop (`circle` | `line`) whose branches are both empty strings — it\n * produces no styles at all, so it is omitted here.\n */\n\nexport type SpinnerSize = \"sm\" | \"base\" | \"lg\" | \"xl\" | \"2xl\"\n\nconst useStyles = makeVoltStyles({\n sm: {\n width: \"1rem\",\n height: \"1rem\",\n },\n base: {\n width: \"1.5rem\",\n height: \"1.5rem\",\n },\n lg: {\n width: \"2.5rem\",\n height: \"2.5rem\",\n },\n xl: {\n width: \"4rem\",\n height: \"4rem\",\n },\n \"2xl\": {\n width: \"6rem\",\n height: \"6rem\",\n },\n spin: {\n transformOrigin: \"center\",\n animationName: {\n \"100%\": { transform: \"rotate(360deg)\" },\n },\n animationDuration: \"2s\",\n animationTimingFunction: \"linear\",\n animationIterationCount: \"infinite\",\n },\n dash: {\n animationName: {\n \"0%\": {\n strokeDasharray: \"0 150\",\n strokeDashoffset: 0,\n },\n \"47.5%\": {\n strokeDasharray: \"42 150\",\n strokeDashoffset: -16,\n },\n \"95%,100%\": {\n strokeDasharray: \"42 150\",\n strokeDashoffset: -59,\n },\n },\n animationDuration: \"1.5s\",\n animationTimingFunction: \"ease-in-out\",\n animationIterationCount: \"infinite\",\n },\n})\n\nexport type SpinnerProps = React.ComponentProps<\"svg\"> & {\n size?: SpinnerSize\n}\n\nexport const Spinner = React.forwardRef<SVGSVGElement, SpinnerProps>(\n function Spinner({ size = \"base\", className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <svg\n ref={ref}\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n role=\"status\"\n data-slot=\"spinner\"\n {...{ [SLOT_ATTR]: \"spinner\" }}\n className={mergeClasses(styles[size], className)}\n {...props}\n >\n <g className={styles.spin}>\n <circle cx=\"12\" cy=\"12\" r=\"9.5\" strokeWidth=\"3\" opacity=\"0.1\" />\n <circle\n className={styles.dash}\n cx=\"12\"\n cy=\"12\"\n r=\"9.5\"\n strokeWidth=\"3\"\n strokeLinecap=\"round\"\n fill=\"none\"\n />\n </g>\n </svg>\n )\n }\n)\n"],"names":["useStyles","makeVoltStyles","Spinner","React","size","className","props","ref","styles","jsx","SLOT_ATTR","mergeClasses","jsxs"],"mappings":";;;;;AA6BA,MAAMA,IAAYC,EAAe;AAAA,EAC/B,IAAI;AAAA,IACF,OAAO;AAAA,IACP,QAAQ;AAAA,EAAA;AAAA,EAEV,MAAM;AAAA,IACJ,OAAO;AAAA,IACP,QAAQ;AAAA,EAAA;AAAA,EAEV,IAAI;AAAA,IACF,OAAO;AAAA,IACP,QAAQ;AAAA,EAAA;AAAA,EAEV,IAAI;AAAA,IACF,OAAO;AAAA,IACP,QAAQ;AAAA,EAAA;AAAA,EAEV,OAAO;AAAA,IACL,OAAO;AAAA,IACP,QAAQ;AAAA,EAAA;AAAA,EAEV,MAAM;AAAA,IACJ,iBAAiB;AAAA,IACjB,eAAe;AAAA,MACb,QAAQ,EAAE,WAAW,iBAAA;AAAA,IAAiB;AAAA,IAExC,mBAAmB;AAAA,IACnB,yBAAyB;AAAA,IACzB,yBAAyB;AAAA,EAAA;AAAA,EAE3B,MAAM;AAAA,IACJ,eAAe;AAAA,MACb,MAAM;AAAA,QACJ,iBAAiB;AAAA,QACjB,kBAAkB;AAAA,MAAA;AAAA,MAEpB,SAAS;AAAA,QACP,iBAAiB;AAAA,QACjB,kBAAkB;AAAA,MAAA;AAAA,MAEpB,YAAY;AAAA,QACV,iBAAiB;AAAA,QACjB,kBAAkB;AAAA,MAAA;AAAA,IACpB;AAAA,IAEF,mBAAmB;AAAA,IACnB,yBAAyB;AAAA,IACzB,yBAAyB;AAAA,EAAA;AAE7B,CAAC,GAMYC,IAAUC,EAAM;AAAA,EAC3B,SAAiB,EAAE,MAAAC,IAAO,QAAQ,WAAAC,GAAW,GAAGC,EAAA,GAASC,GAAK;AAC5D,UAAMC,IAASR,EAAA;AAEf,WACE,gBAAAS;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAF;AAAA,QACA,OAAM;AAAA,QACN,OAAM;AAAA,QACN,QAAO;AAAA,QACP,SAAQ;AAAA,QACR,MAAK;AAAA,QACL,QAAO;AAAA,QACP,MAAK;AAAA,QACL,aAAU;AAAA,QACJ,CAACG,CAAS,GAAG;AAAA,QACnB,WAAWC,EAAaH,EAAOJ,CAAI,GAAGC,CAAS;AAAA,QAC9C,GAAGC;AAAA,QAEJ,UAAA,gBAAAM,EAAC,KAAA,EAAE,WAAWJ,EAAO,MACnB,UAAA;AAAA,UAAA,gBAAAC,EAAC,UAAA,EAAO,IAAG,MAAK,IAAG,MAAK,GAAE,OAAM,aAAY,KAAI,SAAQ,MAAA,CAAM;AAAA,UAC9D,gBAAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAWD,EAAO;AAAA,cAClB,IAAG;AAAA,cACH,IAAG;AAAA,cACH,GAAE;AAAA,cACF,aAAY;AAAA,cACZ,eAAc;AAAA,cACd,MAAK;AAAA,YAAA;AAAA,UAAA;AAAA,QACP,EAAA,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN;AACF;"}