@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.
Files changed (170) hide show
  1. package/ADOPTING.md +416 -0
  2. package/README.md +96 -17
  3. package/dist/_virtual/jsx-dev-runtime.js +5 -0
  4. package/dist/_virtual/jsx-dev-runtime.js.map +1 -0
  5. package/dist/_virtual/react-jsx-dev-runtime.development.js +5 -0
  6. package/dist/_virtual/react-jsx-dev-runtime.development.js.map +1 -0
  7. package/dist/_virtual/react-jsx-dev-runtime.production.js +5 -0
  8. package/dist/_virtual/react-jsx-dev-runtime.production.js.map +1 -0
  9. package/dist/components/accordion/accordion.js +126 -66
  10. package/dist/components/accordion/accordion.js.map +1 -1
  11. package/dist/components/alert-dialog/alert-dialog.js +239 -137
  12. package/dist/components/alert-dialog/alert-dialog.js.map +1 -1
  13. package/dist/components/avatar/avatar-group.js +102 -47
  14. package/dist/components/avatar/avatar-group.js.map +1 -1
  15. package/dist/components/avatar/avatar.js +99 -76
  16. package/dist/components/avatar/avatar.js.map +1 -1
  17. package/dist/components/badge/badge.js +56 -40
  18. package/dist/components/badge/badge.js.map +1 -1
  19. package/dist/components/breadcrumb/breadcrumb.js +97 -49
  20. package/dist/components/breadcrumb/breadcrumb.js.map +1 -1
  21. package/dist/components/button/button.js +89 -78
  22. package/dist/components/button/button.js.map +1 -1
  23. package/dist/components/button-group/button-group.js +57 -33
  24. package/dist/components/button-group/button-group.js.map +1 -1
  25. package/dist/components/callout/callout.js +288 -164
  26. package/dist/components/callout/callout.js.map +1 -1
  27. package/dist/components/card/card.js +138 -82
  28. package/dist/components/card/card.js.map +1 -1
  29. package/dist/components/checkbox/checkbox.js +100 -49
  30. package/dist/components/checkbox/checkbox.js.map +1 -1
  31. package/dist/components/collapsible-sidebar/collapsible-sidebar.js +155 -107
  32. package/dist/components/collapsible-sidebar/collapsible-sidebar.js.map +1 -1
  33. package/dist/components/command/command.js +295 -156
  34. package/dist/components/command/command.js.map +1 -1
  35. package/dist/components/data-table/data-table-body.js +114 -54
  36. package/dist/components/data-table/data-table-body.js.map +1 -1
  37. package/dist/components/data-table/data-table-column-header.js +117 -45
  38. package/dist/components/data-table/data-table-column-header.js.map +1 -1
  39. package/dist/components/data-table/data-table-column-visibility.js +98 -39
  40. package/dist/components/data-table/data-table-column-visibility.js.map +1 -1
  41. package/dist/components/data-table/data-table-content.js +90 -58
  42. package/dist/components/data-table/data-table-content.js.map +1 -1
  43. package/dist/components/data-table/data-table-error.js +86 -42
  44. package/dist/components/data-table/data-table-error.js.map +1 -1
  45. package/dist/components/data-table/data-table-header.js +88 -54
  46. package/dist/components/data-table/data-table-header.js.map +1 -1
  47. package/dist/components/data-table/data-table-loading.js +30 -18
  48. package/dist/components/data-table/data-table-loading.js.map +1 -1
  49. package/dist/components/data-table/data-table-pagination.js +27 -19
  50. package/dist/components/data-table/data-table-pagination.js.map +1 -1
  51. package/dist/components/data-table/data-table-row.js +87 -64
  52. package/dist/components/data-table/data-table-row.js.map +1 -1
  53. package/dist/components/data-table/data-table-toolbar.js +24 -16
  54. package/dist/components/data-table/data-table-toolbar.js.map +1 -1
  55. package/dist/components/data-table/data-table.js +182 -145
  56. package/dist/components/data-table/data-table.js.map +1 -1
  57. package/dist/components/date-range-picker/date-range-picker.js +342 -214
  58. package/dist/components/date-range-picker/date-range-picker.js.map +1 -1
  59. package/dist/components/date-range-picker/range-calendar.js +132 -92
  60. package/dist/components/date-range-picker/range-calendar.js.map +1 -1
  61. package/dist/components/date-time-picker/calendar.js +507 -323
  62. package/dist/components/date-time-picker/calendar.js.map +1 -1
  63. package/dist/components/date-time-picker/date-time-picker-context.js +64 -60
  64. package/dist/components/date-time-picker/date-time-picker-context.js.map +1 -1
  65. package/dist/components/date-time-picker/date-time-picker-input.js +249 -149
  66. package/dist/components/date-time-picker/date-time-picker-input.js.map +1 -1
  67. package/dist/components/date-time-picker/date-time-picker-panel.js +270 -156
  68. package/dist/components/date-time-picker/date-time-picker-panel.js.map +1 -1
  69. package/dist/components/date-time-picker/date-time-picker-popover.js +22 -14
  70. package/dist/components/date-time-picker/date-time-picker-popover.js.map +1 -1
  71. package/dist/components/date-time-picker/date-time-picker.js +118 -70
  72. package/dist/components/date-time-picker/date-time-picker.js.map +1 -1
  73. package/dist/components/date-time-picker/time-picker.js +204 -132
  74. package/dist/components/date-time-picker/time-picker.js.map +1 -1
  75. package/dist/components/density-provider/density-provider.js +48 -0
  76. package/dist/components/density-provider/density-provider.js.map +1 -0
  77. package/dist/components/dialog/dialog.js +281 -151
  78. package/dist/components/dialog/dialog.js.map +1 -1
  79. package/dist/components/drawer/drawer.js +272 -162
  80. package/dist/components/drawer/drawer.js.map +1 -1
  81. package/dist/components/dropdown-menu/dropdown-menu.js +376 -193
  82. package/dist/components/dropdown-menu/dropdown-menu.js.map +1 -1
  83. package/dist/components/field/field-combobox.js +447 -240
  84. package/dist/components/field/field-combobox.js.map +1 -1
  85. package/dist/components/field/field-select.js +23 -19
  86. package/dist/components/field/field-select.js.map +1 -1
  87. package/dist/components/field/field.js +315 -206
  88. package/dist/components/field/field.js.map +1 -1
  89. package/dist/components/label/label.js +24 -16
  90. package/dist/components/label/label.js.map +1 -1
  91. package/dist/components/list/list.js +623 -369
  92. package/dist/components/list/list.js.map +1 -1
  93. package/dist/components/option-card/option-card.js +323 -159
  94. package/dist/components/option-card/option-card.js.map +1 -1
  95. package/dist/components/pill/pill.js +91 -72
  96. package/dist/components/pill/pill.js.map +1 -1
  97. package/dist/components/popover/popover.js +99 -54
  98. package/dist/components/popover/popover.js.map +1 -1
  99. package/dist/components/radio/radio.js +92 -49
  100. package/dist/components/radio/radio.js.map +1 -1
  101. package/dist/components/scroll-overflow/scroll-overflow.js +349 -197
  102. package/dist/components/scroll-overflow/scroll-overflow.js.map +1 -1
  103. package/dist/components/segmented-control/segmented-control.js +141 -97
  104. package/dist/components/segmented-control/segmented-control.js.map +1 -1
  105. package/dist/components/select/select.js +452 -227
  106. package/dist/components/select/select.js.map +1 -1
  107. package/dist/components/separator/separator.js +24 -16
  108. package/dist/components/separator/separator.js.map +1 -1
  109. package/dist/components/skeleton/skeleton.js +78 -38
  110. package/dist/components/skeleton/skeleton.js.map +1 -1
  111. package/dist/components/spinner/spinner.js +44 -20
  112. package/dist/components/spinner/spinner.js.map +1 -1
  113. package/dist/components/switch/switch.js +163 -86
  114. package/dist/components/switch/switch.js.map +1 -1
  115. package/dist/components/table/table-pagination.js +468 -210
  116. package/dist/components/table/table-pagination.js.map +1 -1
  117. package/dist/components/table/table.js +212 -144
  118. package/dist/components/table/table.js.map +1 -1
  119. package/dist/components/tabs/tabs.js +94 -58
  120. package/dist/components/tabs/tabs.js.map +1 -1
  121. package/dist/components/text/text.js +40 -32
  122. package/dist/components/text/text.js.map +1 -1
  123. package/dist/components/toast/toast.js +189 -113
  124. package/dist/components/toast/toast.js.map +1 -1
  125. package/dist/components/toggle/toggle-group.js +40 -24
  126. package/dist/components/toggle/toggle-group.js.map +1 -1
  127. package/dist/components/toggle/toggle.js +50 -42
  128. package/dist/components/toggle/toggle.js.map +1 -1
  129. package/dist/components/tooltip/tooltip.js +101 -55
  130. package/dist/components/tooltip/tooltip.js.map +1 -1
  131. package/dist/index.d.ts +1675 -1068
  132. package/dist/index.js +286 -280
  133. package/dist/index.js.map +1 -1
  134. package/dist/lib/clear-button.js +27 -15
  135. package/dist/lib/clear-button.js.map +1 -1
  136. package/dist/lib/icons.js +18 -6
  137. package/dist/lib/icons.js.map +1 -1
  138. package/dist/packages/volt-runtime/dist/sheet.js +27 -10
  139. package/dist/packages/volt-runtime/dist/sheet.js.map +1 -1
  140. package/dist/packages/volt-runtime/dist/styles/recipe.js +76 -0
  141. package/dist/packages/volt-runtime/dist/styles/recipe.js.map +1 -0
  142. package/dist/styles/document-context.js +12 -0
  143. package/dist/styles/document-context.js.map +1 -0
  144. package/dist/styles/make-styles.js +18 -10
  145. package/dist/styles/make-styles.js.map +1 -1
  146. package/dist/tokens/core.generated.js +1239 -1153
  147. package/dist/tokens/core.generated.js.map +1 -1
  148. package/dist/tokens/index.d.ts +1103 -1054
  149. package/dist/tokens/index.js +1045 -996
  150. package/dist/tokens/index.js.map +1 -1
  151. package/dist/tokens/install.js +25 -9
  152. package/dist/tokens/install.js.map +1 -1
  153. package/dist/tokens/palette.generated.js +1323 -1293
  154. package/dist/tokens/palette.generated.js.map +1 -1
  155. package/dist/tokens/use-palette-tokens.js +20 -0
  156. package/dist/tokens/use-palette-tokens.js.map +1 -0
  157. package/dist/tokens.json +127 -2
  158. package/dist/vendor/react/cjs/react-jsx-dev-runtime.development.js +236 -0
  159. package/dist/vendor/react/cjs/react-jsx-dev-runtime.development.js.map +1 -0
  160. package/dist/vendor/react/cjs/react-jsx-dev-runtime.production.js +21 -0
  161. package/dist/vendor/react/cjs/react-jsx-dev-runtime.production.js.map +1 -0
  162. package/dist/vendor/react/jsx-dev-runtime.js +9 -0
  163. package/dist/vendor/react/jsx-dev-runtime.js.map +1 -0
  164. package/package.json +17 -4
  165. package/scripts/migration-diagnostics-core.mjs +859 -0
  166. package/scripts/migration-diagnostics.mjs +353 -0
  167. package/scripts/migration-sweep.mjs +179 -0
  168. package/testing/jest-preset.cjs +64 -0
  169. package/dist/packages/volt-runtime/dist/styles/make-styles.js +0 -22
  170. package/dist/packages/volt-runtime/dist/styles/make-styles.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-menu.js","sources":["../../../src/components/dropdown-menu/dropdown-menu.tsx"],"sourcesContent":["import * as React from \"react\"\n\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\"\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\nconst CheckIcon = (props: React.SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"16px\"\n viewBox=\"0 -960 960 960\"\n width=\"16px\"\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 ChevronRightIcon = (props: React.SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"16px\"\n viewBox=\"0 -960 960 960\"\n width=\"16px\"\n fill=\"currentColor\"\n {...props}\n >\n <path d=\"M504-480 348-636q-11-11-11-28t11-28q11-11 28-11t28 11l184 184q6 6 8.5 13t2.5 15q0 8-2.5 15t-8.5 13L404-268q-11 11-28 11t-28-11q-11-11-11-28t11-28l156-156Z\" />\n </svg>\n)\n\nconst CircleIcon = (props: React.SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"8px\"\n viewBox=\"0 -960 960 960\"\n width=\"8px\"\n fill=\"currentColor\"\n {...props}\n >\n <path d=\"M480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Z\" />\n </svg>\n)\n\nconst useStyles = makeVoltStyles({\n trigger: {\n color: tokens.accentA11,\n },\n portal: {\n display: \"contents\",\n },\n popup: {\n backgroundColor: tokens.body,\n color: tokens.grayA12,\n minWidth: \"10rem\",\n overflow: \"hidden\",\n ...shorthands.borderRadius(tokens.radiusXl),\n ...shorthands.padding(tokens.spacingElement1),\n // v1 shadow-lg\n boxShadow: \"0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a\",\n outlineStyle: \"none\",\n zIndex: 50,\n transformOrigin: \"var(--radix-dropdown-menu-content-transform-origin)\",\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 item: {\n position: \"relative\",\n display: \"flex\",\n cursor: \"pointer\",\n userSelect: \"none\",\n alignItems: \"center\",\n ...shorthands.gap(tokens.spacingElement2),\n ...shorthands.borderRadius(tokens.radiusMd),\n paddingLeft: tokens.spacingElement2,\n paddingRight: tokens.spacingElement2,\n paddingTop: \"0.375rem\",\n paddingBottom: \"0.375rem\",\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n outlineStyle: \"none\",\n transitionProperty:\n \"color, background-color, border-color, text-decoration-color, fill, stroke\",\n transitionDuration: \"150ms\",\n transitionTimingFunction: \"cubic-bezier(0.4, 0, 0.2, 1)\",\n \":hover\": {\n backgroundColor: tokens.semAccentSoft,\n },\n \":focus-visible\": {\n backgroundColor: tokens.semAccentSoft,\n },\n \"&[data-highlighted]\": {\n backgroundColor: tokens.semAccentSoft,\n },\n \"&[data-disabled]\": {\n pointerEvents: \"none\",\n opacity: 0.5,\n },\n \"& svg\": {\n pointerEvents: \"none\",\n width: \"1rem\",\n height: \"1rem\",\n flexShrink: 0,\n },\n },\n itemInset: {\n paddingLeft: \"2rem\",\n },\n itemDestructive: {\n color: tokens.errorA11,\n \":hover\": {\n backgroundColor: tokens.semErrorSoft,\n },\n \":focus-visible\": {\n backgroundColor: tokens.semErrorSoft,\n outlineWidth: \"2px\",\n outlineStyle: \"solid\",\n outlineColor: tokens.errorA8,\n },\n \"&[data-highlighted]\": {\n backgroundColor: tokens.semErrorSoft,\n },\n },\n itemCheckboxRadio: {\n paddingLeft: \"2rem\",\n paddingRight: tokens.spacingElement2,\n },\n itemIndicatorWrapper: {\n position: \"absolute\",\n left: tokens.spacingElement2,\n display: \"flex\",\n height: \"0.875rem\",\n width: \"0.875rem\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n itemIndicator: {\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n subTrigger: {\n \"&[data-state='open']\": {\n backgroundColor: tokens.semAccentSoft,\n },\n },\n subTriggerChevron: {\n marginLeft: \"auto\",\n width: \"1rem\",\n height: \"1rem\",\n flexShrink: 0,\n pointerEvents: \"none\",\n },\n label: {\n paddingLeft: tokens.spacingElement2,\n paddingRight: tokens.spacingElement2,\n paddingTop: \"0.375rem\",\n paddingBottom: \"0.375rem\",\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n fontWeight: tokens.fontWeightSemibold,\n },\n separator: {\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.grayA3,\n },\n shortcut: {\n marginLeft: \"auto\",\n fontSize: tokens.textXs,\n lineHeight: tokens.leadingXs,\n letterSpacing: \"0.1em\",\n color: tokens.grayA11,\n },\n})\n\nexport type DropdownMenuProps = React.ComponentProps<\n typeof DropdownMenuPrimitive.Root\n>\n\nexport const DropdownMenu = React.forwardRef<HTMLElement, DropdownMenuProps>(\n function DropdownMenu(props, _ref) {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />\n }\n)\n\nexport type DropdownMenuTriggerProps = React.ComponentProps<\n typeof DropdownMenuPrimitive.Trigger\n>\n\nexport const DropdownMenuTrigger = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Trigger>,\n DropdownMenuTriggerProps\n>(function DropdownMenuTrigger({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <DropdownMenuPrimitive.Trigger\n ref={ref}\n data-slot=\"dropdown-menu-trigger\"\n {...{ [SLOT_ATTR]: \"dropdown-menu-trigger\" }}\n className={mergeClasses(styles.trigger, className)}\n {...props}\n />\n )\n})\n\nexport type DropdownMenuGroupProps = React.ComponentProps<\n typeof DropdownMenuPrimitive.Group\n>\n\nexport const DropdownMenuGroup = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Group>,\n DropdownMenuGroupProps\n>(function DropdownMenuGroup({ className, ...props }, ref) {\n return (\n <DropdownMenuPrimitive.Group\n ref={ref}\n data-slot=\"dropdown-menu-group\"\n {...{ [SLOT_ATTR]: \"dropdown-menu-group\" }}\n className={className}\n {...props}\n />\n )\n})\n\nexport type DropdownMenuPortalProps = React.ComponentProps<\n typeof DropdownMenuPrimitive.Portal\n>\n\nexport const DropdownMenuPortal = React.forwardRef<\n HTMLElement,\n DropdownMenuPortalProps\n>(function DropdownMenuPortal(props, _ref) {\n return (\n <DropdownMenuPrimitive.Portal\n data-slot=\"dropdown-menu-portal\"\n {...{ [SLOT_ATTR]: \"dropdown-menu-portal\" }}\n {...props}\n />\n )\n})\n\nexport type DropdownMenuSubProps = React.ComponentProps<\n typeof DropdownMenuPrimitive.Sub\n>\n\nexport const DropdownMenuSub = React.forwardRef<\n HTMLElement,\n DropdownMenuSubProps\n>(function DropdownMenuSub(props, _ref) {\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />\n})\n\nexport type DropdownMenuRadioGroupProps = React.ComponentProps<\n typeof DropdownMenuPrimitive.RadioGroup\n>\n\nexport const DropdownMenuRadioGroup = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.RadioGroup>,\n DropdownMenuRadioGroupProps\n>(function DropdownMenuRadioGroup({ className, ...props }, ref) {\n return (\n <DropdownMenuPrimitive.RadioGroup\n ref={ref}\n data-slot=\"dropdown-menu-radio-group\"\n {...{ [SLOT_ATTR]: \"dropdown-menu-radio-group\" }}\n className={className}\n {...props}\n />\n )\n})\n\nexport type DropdownMenuSubTriggerProps = React.ComponentProps<\n typeof DropdownMenuPrimitive.SubTrigger\n> & {\n inset?: boolean\n}\n\nexport const DropdownMenuSubTrigger = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>,\n DropdownMenuSubTriggerProps\n>(function DropdownMenuSubTrigger(\n { className, inset, children, ...props },\n ref\n) {\n const styles = useStyles()\n\n return (\n <DropdownMenuPrimitive.SubTrigger\n ref={ref}\n data-slot=\"dropdown-menu-sub-trigger\"\n {...{ [SLOT_ATTR]: \"dropdown-menu-sub-trigger\" }}\n className={mergeClasses(\n styles.item,\n styles.subTrigger,\n inset && styles.itemInset,\n className\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className={styles.subTriggerChevron} />\n </DropdownMenuPrimitive.SubTrigger>\n )\n})\n\nexport type DropdownMenuSubContentProps = React.ComponentProps<\n typeof DropdownMenuPrimitive.SubContent\n>\n\nexport const DropdownMenuSubContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubContent>,\n DropdownMenuSubContentProps\n>(function DropdownMenuSubContent({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <DropdownMenuPrimitive.SubContent\n ref={ref}\n data-slot=\"dropdown-menu-sub-content\"\n {...{ [SLOT_ATTR]: \"dropdown-menu-sub-content\" }}\n className={mergeClasses(styles.popup, className)}\n {...props}\n />\n )\n})\n\nexport type DropdownMenuContentProps = React.ComponentProps<\n typeof DropdownMenuPrimitive.Content\n> & {\n container?: React.ComponentProps<\n typeof DropdownMenuPrimitive.Portal\n >[\"container\"]\n}\n\nexport const DropdownMenuContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Content>,\n DropdownMenuContentProps\n>(function DropdownMenuContent(\n { className, sideOffset = 4, container, ...props },\n ref\n) {\n const styles = useStyles()\n\n return (\n <DropdownMenuPrimitive.Portal container={container}>\n <DropdownMenuPrimitive.Content\n ref={ref}\n data-slot=\"dropdown-menu-content\"\n {...{ [SLOT_ATTR]: \"dropdown-menu-content\" }}\n sideOffset={sideOffset}\n className={mergeClasses(styles.popup, className)}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n )\n})\n\nexport type DropdownMenuItemProps = React.ComponentProps<\n typeof DropdownMenuPrimitive.Item\n> & {\n inset?: boolean\n destructive?: boolean\n}\n\nexport const DropdownMenuItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Item>,\n DropdownMenuItemProps\n>(function DropdownMenuItem({ className, inset, destructive, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <DropdownMenuPrimitive.Item\n ref={ref}\n data-slot=\"dropdown-menu-item\"\n {...{ [SLOT_ATTR]: \"dropdown-menu-item\" }}\n className={mergeClasses(\n styles.item,\n inset && styles.itemInset,\n destructive && styles.itemDestructive,\n className\n )}\n {...props}\n />\n )\n})\n\nexport type DropdownMenuCheckboxItemProps = React.ComponentProps<\n typeof DropdownMenuPrimitive.CheckboxItem\n>\n\nexport const DropdownMenuCheckboxItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n DropdownMenuCheckboxItemProps\n>(function DropdownMenuCheckboxItem(\n { className, children, checked, ...props },\n ref\n) {\n const styles = useStyles()\n\n return (\n <DropdownMenuPrimitive.CheckboxItem\n ref={ref}\n data-slot=\"dropdown-menu-checkbox-item\"\n {...{ [SLOT_ATTR]: \"dropdown-menu-checkbox-item\" }}\n className={mergeClasses(styles.item, styles.itemCheckboxRadio, className)}\n checked={checked}\n {...props}\n >\n <span className={styles.itemIndicatorWrapper}>\n <DropdownMenuPrimitive.ItemIndicator className={styles.itemIndicator}>\n <CheckIcon />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n )\n})\n\nexport type DropdownMenuRadioItemProps = React.ComponentProps<\n typeof DropdownMenuPrimitive.RadioItem\n>\n\nexport const DropdownMenuRadioItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\n DropdownMenuRadioItemProps\n>(function DropdownMenuRadioItem({ className, children, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <DropdownMenuPrimitive.RadioItem\n ref={ref}\n data-slot=\"dropdown-menu-radio-item\"\n {...{ [SLOT_ATTR]: \"dropdown-menu-radio-item\" }}\n className={mergeClasses(styles.item, styles.itemCheckboxRadio, className)}\n {...props}\n >\n <span className={styles.itemIndicatorWrapper}>\n <DropdownMenuPrimitive.ItemIndicator className={styles.itemIndicator}>\n <CircleIcon />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n )\n})\n\nexport type DropdownMenuLabelProps = React.ComponentProps<\n typeof DropdownMenuPrimitive.Label\n> & {\n inset?: boolean\n}\n\nexport const DropdownMenuLabel = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Label>,\n DropdownMenuLabelProps\n>(function DropdownMenuLabel({ className, inset, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <DropdownMenuPrimitive.Label\n ref={ref}\n data-slot=\"dropdown-menu-label\"\n {...{ [SLOT_ATTR]: \"dropdown-menu-label\" }}\n className={mergeClasses(\n styles.label,\n inset && styles.itemInset,\n className\n )}\n {...props}\n />\n )\n})\n\nexport type DropdownMenuSeparatorProps = React.ComponentProps<\n typeof DropdownMenuPrimitive.Separator\n>\n\nexport const DropdownMenuSeparator = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Separator>,\n DropdownMenuSeparatorProps\n>(function DropdownMenuSeparator({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <DropdownMenuPrimitive.Separator\n ref={ref}\n data-slot=\"dropdown-menu-separator\"\n {...{ [SLOT_ATTR]: \"dropdown-menu-separator\" }}\n className={mergeClasses(styles.separator, className)}\n {...props}\n />\n )\n})\n\nexport type DropdownMenuShortcutProps = React.ComponentProps<\"span\">\n\nexport const DropdownMenuShortcut = React.forwardRef<\n HTMLSpanElement,\n DropdownMenuShortcutProps\n>(function DropdownMenuShortcut({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <span\n ref={ref}\n data-slot=\"dropdown-menu-shortcut\"\n {...{ [SLOT_ATTR]: \"dropdown-menu-shortcut\" }}\n className={mergeClasses(styles.shortcut, className)}\n {...props}\n />\n )\n})\n"],"names":["CheckIcon","props","jsx","ChevronRightIcon","CircleIcon","useStyles","makeVoltStyles","tokens.accentA11","tokens.body","tokens.grayA12","shorthands","tokens.radiusXl","tokens.spacingElement1","tokens.spacingElement2","tokens.radiusMd","tokens.textSm","tokens.leadingSm","tokens.semAccentSoft","tokens.errorA11","tokens.semErrorSoft","tokens.errorA8","tokens.fontWeightSemibold","tokens.grayA3","tokens.textXs","tokens.leadingXs","tokens.grayA11","DropdownMenu","React","_ref","DropdownMenuPrimitive.Root","DropdownMenuTrigger","className","ref","styles","DropdownMenuPrimitive.Trigger","SLOT_ATTR","mergeClasses","DropdownMenuGroup","DropdownMenuPrimitive.Group","DropdownMenuPortal","DropdownMenuPrimitive.Portal","DropdownMenuSub","DropdownMenuPrimitive.Sub","DropdownMenuRadioGroup","DropdownMenuPrimitive.RadioGroup","DropdownMenuSubTrigger","inset","children","jsxs","DropdownMenuPrimitive.SubTrigger","DropdownMenuSubContent","DropdownMenuPrimitive.SubContent","DropdownMenuContent","sideOffset","container","DropdownMenuPrimitive.Content","DropdownMenuItem","destructive","DropdownMenuPrimitive.Item","DropdownMenuCheckboxItem","checked","DropdownMenuPrimitive.CheckboxItem","DropdownMenuPrimitive.ItemIndicator","DropdownMenuRadioItem","DropdownMenuPrimitive.RadioItem","DropdownMenuLabel","DropdownMenuPrimitive.Label","DropdownMenuSeparator","DropdownMenuPrimitive.Separator","DropdownMenuShortcut"],"mappings":"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"}
1
+ {"version":3,"file":"dropdown-menu.js","sources":["../../../src/components/dropdown-menu/dropdown-menu.tsx"],"sourcesContent":["import * as React from \"react\"\n\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\"\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 CheckIcon = (props: React.SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"16px\"\n viewBox=\"0 -960 960 960\"\n width=\"16px\"\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 ChevronRightIcon = (props: React.SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"16px\"\n viewBox=\"0 -960 960 960\"\n width=\"16px\"\n fill=\"currentColor\"\n {...props}\n >\n <path d=\"M504-480 348-636q-11-11-11-28t11-28q11-11 28-11t28 11l184 184q6 6 8.5 13t2.5 15q0 8-2.5 15t-8.5 13L404-268q-11 11-28 11t-28-11q-11-11-11-28t11-28l156-156Z\" />\n </svg>\n)\n\nconst CircleIcon = (props: React.SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"8px\"\n viewBox=\"0 -960 960 960\"\n width=\"8px\"\n fill=\"currentColor\"\n {...props}\n >\n <path d=\"M480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Z\" />\n </svg>\n)\n\nconst useStyles = makeVoltStyles({\n trigger: {\n color: tokens.accentA11,\n },\n portal: {\n display: \"contents\",\n },\n popup: {\n backgroundColor: tokens.body,\n color: tokens.grayA12,\n minWidth: \"10rem\",\n overflow: \"hidden\",\n ...shorthands.borderRadius(tokens.radiusXl),\n ...shorthands.padding(tokens.spacingElement1),\n // v1 shadow-lg\n boxShadow: \"0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a\",\n outlineStyle: \"none\",\n zIndex: 50,\n transformOrigin: \"var(--radix-dropdown-menu-content-transform-origin)\",\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 item: {\n position: \"relative\",\n display: \"flex\",\n cursor: \"pointer\",\n userSelect: \"none\",\n alignItems: \"center\",\n ...shorthands.gap(tokens.spacingElement2),\n ...shorthands.borderRadius(tokens.radiusMd),\n paddingLeft: tokens.spacingElement2,\n paddingRight: tokens.spacingElement2,\n paddingTop: \"0.375rem\",\n paddingBottom: \"0.375rem\",\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n outlineStyle: \"none\",\n transitionProperty:\n \"color, background-color, border-color, text-decoration-color, fill, stroke\",\n transitionDuration: \"150ms\",\n transitionTimingFunction: \"cubic-bezier(0.4, 0, 0.2, 1)\",\n \":hover\": {\n backgroundColor: tokens.semAccentSoft,\n },\n \":focus-visible\": {\n backgroundColor: tokens.semAccentSoft,\n },\n \"&[data-highlighted]\": {\n backgroundColor: tokens.semAccentSoft,\n },\n \"&[data-disabled]\": {\n pointerEvents: \"none\",\n opacity: 0.5,\n },\n \"& svg\": {\n pointerEvents: \"none\",\n width: \"1rem\",\n height: \"1rem\",\n flexShrink: 0,\n },\n },\n itemInset: {\n paddingLeft: \"2rem\",\n },\n itemDestructive: {\n color: tokens.errorA11,\n \":hover\": {\n backgroundColor: tokens.semErrorSoft,\n },\n \":focus-visible\": {\n backgroundColor: tokens.semErrorSoft,\n outlineWidth: \"2px\",\n outlineStyle: \"solid\",\n outlineColor: tokens.errorA8,\n },\n \"&[data-highlighted]\": {\n backgroundColor: tokens.semErrorSoft,\n },\n },\n itemCheckboxRadio: {\n paddingLeft: \"2rem\",\n paddingRight: tokens.spacingElement2,\n },\n itemIndicatorWrapper: {\n position: \"absolute\",\n left: tokens.spacingElement2,\n display: \"flex\",\n height: \"0.875rem\",\n width: \"0.875rem\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n itemIndicator: {\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n subTrigger: {\n \"&[data-state='open']\": {\n backgroundColor: tokens.semAccentSoft,\n },\n },\n subTriggerChevron: {\n marginLeft: \"auto\",\n width: \"1rem\",\n height: \"1rem\",\n flexShrink: 0,\n pointerEvents: \"none\",\n },\n label: {\n paddingLeft: tokens.spacingElement2,\n paddingRight: tokens.spacingElement2,\n paddingTop: \"0.375rem\",\n paddingBottom: \"0.375rem\",\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n fontWeight: tokens.fontWeightSemibold,\n },\n separator: {\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.grayA3,\n },\n shortcut: {\n marginLeft: \"auto\",\n fontSize: tokens.textXs,\n lineHeight: tokens.leadingXs,\n letterSpacing: \"0.1em\",\n color: tokens.grayA11,\n },\n})\n\nexport type DropdownMenuProps = React.ComponentProps<\n typeof DropdownMenuPrimitive.Root\n>\n\nexport const DropdownMenu = React.forwardRef<HTMLElement, DropdownMenuProps>(\n function DropdownMenu(props, _ref) {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />\n }\n)\n\nexport type DropdownMenuTriggerProps = React.ComponentProps<\n typeof DropdownMenuPrimitive.Trigger\n>\n\nexport const DropdownMenuTrigger = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Trigger>,\n DropdownMenuTriggerProps\n>(function DropdownMenuTrigger({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <DropdownMenuPrimitive.Trigger\n ref={ref}\n data-slot=\"dropdown-menu-trigger\"\n {...{ [SLOT_ATTR]: \"dropdown-menu-trigger\" }}\n className={mergeClasses(styles.trigger, className)}\n {...props}\n />\n )\n})\n\nexport type DropdownMenuGroupProps = React.ComponentProps<\n typeof DropdownMenuPrimitive.Group\n>\n\nexport const DropdownMenuGroup = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Group>,\n DropdownMenuGroupProps\n>(function DropdownMenuGroup({ className, ...props }, ref) {\n return (\n <DropdownMenuPrimitive.Group\n ref={ref}\n data-slot=\"dropdown-menu-group\"\n {...{ [SLOT_ATTR]: \"dropdown-menu-group\" }}\n className={className}\n {...props}\n />\n )\n})\n\nexport type DropdownMenuPortalProps = React.ComponentProps<\n typeof DropdownMenuPrimitive.Portal\n>\n\nexport const DropdownMenuPortal = React.forwardRef<\n HTMLElement,\n DropdownMenuPortalProps\n>(function DropdownMenuPortal(props, _ref) {\n return (\n <DropdownMenuPrimitive.Portal\n data-slot=\"dropdown-menu-portal\"\n {...{ [SLOT_ATTR]: \"dropdown-menu-portal\" }}\n {...props}\n />\n )\n})\n\nexport type DropdownMenuSubProps = React.ComponentProps<\n typeof DropdownMenuPrimitive.Sub\n>\n\nexport const DropdownMenuSub = React.forwardRef<\n HTMLElement,\n DropdownMenuSubProps\n>(function DropdownMenuSub(props, _ref) {\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />\n})\n\nexport type DropdownMenuRadioGroupProps = React.ComponentProps<\n typeof DropdownMenuPrimitive.RadioGroup\n>\n\nexport const DropdownMenuRadioGroup = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.RadioGroup>,\n DropdownMenuRadioGroupProps\n>(function DropdownMenuRadioGroup({ className, ...props }, ref) {\n return (\n <DropdownMenuPrimitive.RadioGroup\n ref={ref}\n data-slot=\"dropdown-menu-radio-group\"\n {...{ [SLOT_ATTR]: \"dropdown-menu-radio-group\" }}\n className={className}\n {...props}\n />\n )\n})\n\nexport type DropdownMenuSubTriggerProps = React.ComponentProps<\n typeof DropdownMenuPrimitive.SubTrigger\n> & {\n inset?: boolean\n}\n\nexport const DropdownMenuSubTrigger = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>,\n DropdownMenuSubTriggerProps\n>(function DropdownMenuSubTrigger(\n { className, inset, children, ...props },\n ref\n) {\n const styles = useStyles()\n\n return (\n <DropdownMenuPrimitive.SubTrigger\n ref={ref}\n data-slot=\"dropdown-menu-sub-trigger\"\n {...{ [SLOT_ATTR]: \"dropdown-menu-sub-trigger\" }}\n className={mergeClasses(\n styles.item,\n styles.subTrigger,\n inset && styles.itemInset,\n className\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className={styles.subTriggerChevron} />\n </DropdownMenuPrimitive.SubTrigger>\n )\n})\n\nexport type DropdownMenuSubContentProps = React.ComponentProps<\n typeof DropdownMenuPrimitive.SubContent\n>\n\nexport const DropdownMenuSubContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubContent>,\n DropdownMenuSubContentProps\n>(function DropdownMenuSubContent({ className, ...props }, ref) {\n const styles = useStyles()\n // DENSITY-SPEC.md §4.4 — portal content boundary; see dialog.tsx's identical comment. Radix's\n // `Menu.SubContent` does not self-portal (confirmed from `@radix-ui/react-menu`'s source: it\n // renders `MenuContentImpl` directly) — callers place it inside a `DropdownMenuPortal` alongside\n // top-level `DropdownMenuContent`, so it needs the same independent stamp.\n const override = useDensity()\n\n return (\n <DropdownMenuPrimitive.SubContent\n ref={ref}\n data-slot=\"dropdown-menu-sub-content\"\n {...{ [SLOT_ATTR]: \"dropdown-menu-sub-content\" }}\n {...(override !== undefined ? { \"data-density\": override } : {})}\n className={mergeClasses(styles.popup, className)}\n {...props}\n />\n )\n})\n\nexport type DropdownMenuContentProps = React.ComponentProps<\n typeof DropdownMenuPrimitive.Content\n> & {\n container?: React.ComponentProps<\n typeof DropdownMenuPrimitive.Portal\n >[\"container\"]\n}\n\nexport const DropdownMenuContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Content>,\n DropdownMenuContentProps\n>(function DropdownMenuContent(\n { className, sideOffset = 4, container, ...props },\n ref\n) {\n const styles = useStyles()\n // DENSITY-SPEC.md §4.4 — portal content boundary; see dialog.tsx's identical comment.\n const override = useDensity()\n\n return (\n <DropdownMenuPrimitive.Portal container={container}>\n <DropdownMenuPrimitive.Content\n ref={ref}\n data-slot=\"dropdown-menu-content\"\n {...{ [SLOT_ATTR]: \"dropdown-menu-content\" }}\n {...(override !== undefined ? { \"data-density\": override } : {})}\n sideOffset={sideOffset}\n className={mergeClasses(styles.popup, className)}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n )\n})\n\nexport type DropdownMenuItemProps = React.ComponentProps<\n typeof DropdownMenuPrimitive.Item\n> & {\n inset?: boolean\n destructive?: boolean\n}\n\nexport const DropdownMenuItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Item>,\n DropdownMenuItemProps\n>(function DropdownMenuItem({ className, inset, destructive, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <DropdownMenuPrimitive.Item\n ref={ref}\n data-slot=\"dropdown-menu-item\"\n {...{ [SLOT_ATTR]: \"dropdown-menu-item\" }}\n className={mergeClasses(\n styles.item,\n inset && styles.itemInset,\n destructive && styles.itemDestructive,\n className\n )}\n {...props}\n />\n )\n})\n\nexport type DropdownMenuCheckboxItemProps = React.ComponentProps<\n typeof DropdownMenuPrimitive.CheckboxItem\n>\n\nexport const DropdownMenuCheckboxItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n DropdownMenuCheckboxItemProps\n>(function DropdownMenuCheckboxItem(\n { className, children, checked, ...props },\n ref\n) {\n const styles = useStyles()\n\n return (\n <DropdownMenuPrimitive.CheckboxItem\n ref={ref}\n data-slot=\"dropdown-menu-checkbox-item\"\n {...{ [SLOT_ATTR]: \"dropdown-menu-checkbox-item\" }}\n className={mergeClasses(styles.item, styles.itemCheckboxRadio, className)}\n checked={checked}\n {...props}\n >\n <span className={styles.itemIndicatorWrapper}>\n <DropdownMenuPrimitive.ItemIndicator className={styles.itemIndicator}>\n <CheckIcon />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n )\n})\n\nexport type DropdownMenuRadioItemProps = React.ComponentProps<\n typeof DropdownMenuPrimitive.RadioItem\n>\n\nexport const DropdownMenuRadioItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\n DropdownMenuRadioItemProps\n>(function DropdownMenuRadioItem({ className, children, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <DropdownMenuPrimitive.RadioItem\n ref={ref}\n data-slot=\"dropdown-menu-radio-item\"\n {...{ [SLOT_ATTR]: \"dropdown-menu-radio-item\" }}\n className={mergeClasses(styles.item, styles.itemCheckboxRadio, className)}\n {...props}\n >\n <span className={styles.itemIndicatorWrapper}>\n <DropdownMenuPrimitive.ItemIndicator className={styles.itemIndicator}>\n <CircleIcon />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n )\n})\n\nexport type DropdownMenuLabelProps = React.ComponentProps<\n typeof DropdownMenuPrimitive.Label\n> & {\n inset?: boolean\n}\n\nexport const DropdownMenuLabel = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Label>,\n DropdownMenuLabelProps\n>(function DropdownMenuLabel({ className, inset, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <DropdownMenuPrimitive.Label\n ref={ref}\n data-slot=\"dropdown-menu-label\"\n {...{ [SLOT_ATTR]: \"dropdown-menu-label\" }}\n className={mergeClasses(\n styles.label,\n inset && styles.itemInset,\n className\n )}\n {...props}\n />\n )\n})\n\nexport type DropdownMenuSeparatorProps = React.ComponentProps<\n typeof DropdownMenuPrimitive.Separator\n>\n\nexport const DropdownMenuSeparator = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Separator>,\n DropdownMenuSeparatorProps\n>(function DropdownMenuSeparator({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <DropdownMenuPrimitive.Separator\n ref={ref}\n data-slot=\"dropdown-menu-separator\"\n {...{ [SLOT_ATTR]: \"dropdown-menu-separator\" }}\n className={mergeClasses(styles.separator, className)}\n {...props}\n />\n )\n})\n\nexport type DropdownMenuShortcutProps = React.ComponentProps<\"span\">\n\nexport const DropdownMenuShortcut = React.forwardRef<\n HTMLSpanElement,\n DropdownMenuShortcutProps\n>(function DropdownMenuShortcut({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <span\n ref={ref}\n data-slot=\"dropdown-menu-shortcut\"\n {...{ [SLOT_ATTR]: \"dropdown-menu-shortcut\" }}\n className={mergeClasses(styles.shortcut, className)}\n {...props}\n />\n )\n})\n"],"names":["CheckIcon","props","jsxDEV","this","ChevronRightIcon","CircleIcon","useStyles","makeVoltStyles","tokens.accentA11","tokens.body","tokens.grayA12","shorthands","tokens.radiusXl","tokens.spacingElement1","tokens.spacingElement2","tokens.radiusMd","tokens.textSm","tokens.leadingSm","tokens.semAccentSoft","tokens.errorA11","tokens.semErrorSoft","tokens.errorA8","tokens.fontWeightSemibold","tokens.grayA3","tokens.textXs","tokens.leadingXs","tokens.grayA11","DropdownMenu","React","_ref","DropdownMenuPrimitive.Root","DropdownMenuTrigger","className","ref","styles","DropdownMenuPrimitive.Trigger","SLOT_ATTR","mergeClasses","DropdownMenuGroup","DropdownMenuPrimitive.Group","DropdownMenuPortal","DropdownMenuPrimitive.Portal","DropdownMenuSub","DropdownMenuPrimitive.Sub","DropdownMenuRadioGroup","DropdownMenuPrimitive.RadioGroup","DropdownMenuSubTrigger","inset","children","DropdownMenuPrimitive.SubTrigger","DropdownMenuSubContent","override","useDensity","DropdownMenuPrimitive.SubContent","DropdownMenuContent","sideOffset","container","DropdownMenuPrimitive.Content","DropdownMenuItem","destructive","DropdownMenuPrimitive.Item","DropdownMenuCheckboxItem","checked","DropdownMenuPrimitive.CheckboxItem","DropdownMenuPrimitive.ItemIndicator","DropdownMenuRadioItem","DropdownMenuPrimitive.RadioItem","DropdownMenuLabel","DropdownMenuPrimitive.Label","DropdownMenuSeparator","DropdownMenuPrimitive.Separator","DropdownMenuShortcut"],"mappings":"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"}