@react-spectrum/s2 3.0.0-nightly-a626c2596-240926 → 3.0.0-nightly-d57bd8d90-240927

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 (277) hide show
  1. package/dist/Accordion.cjs.map +1 -1
  2. package/dist/Accordion.css.map +1 -1
  3. package/dist/Accordion.mjs.map +1 -1
  4. package/dist/ActionButton.cjs.map +1 -1
  5. package/dist/ActionButton.css.map +1 -1
  6. package/dist/ActionButton.mjs.map +1 -1
  7. package/dist/AlertDialog.cjs.map +1 -1
  8. package/dist/AlertDialog.css.map +1 -1
  9. package/dist/AlertDialog.mjs.map +1 -1
  10. package/dist/Avatar.cjs.map +1 -1
  11. package/dist/Avatar.css.map +1 -1
  12. package/dist/Avatar.mjs.map +1 -1
  13. package/dist/AvatarGroup.cjs.map +1 -1
  14. package/dist/AvatarGroup.css.map +1 -1
  15. package/dist/AvatarGroup.mjs.map +1 -1
  16. package/dist/Badge.cjs.map +1 -1
  17. package/dist/Badge.css.map +1 -1
  18. package/dist/Badge.mjs.map +1 -1
  19. package/dist/Breadcrumbs.cjs.map +1 -1
  20. package/dist/Breadcrumbs.css.map +1 -1
  21. package/dist/Breadcrumbs.mjs.map +1 -1
  22. package/dist/Button.cjs +34 -4
  23. package/dist/Button.cjs.map +1 -1
  24. package/dist/Button.css +64 -0
  25. package/dist/Button.css.map +1 -1
  26. package/dist/Button.mjs +34 -4
  27. package/dist/Button.mjs.map +1 -1
  28. package/dist/ButtonGroup.cjs.map +1 -1
  29. package/dist/ButtonGroup.css.map +1 -1
  30. package/dist/ButtonGroup.mjs.map +1 -1
  31. package/dist/Card.cjs +1 -1
  32. package/dist/Card.cjs.map +1 -1
  33. package/dist/Card.css.map +1 -1
  34. package/dist/Card.mjs +1 -1
  35. package/dist/Card.mjs.map +1 -1
  36. package/dist/CardView.cjs.map +1 -1
  37. package/dist/CardView.css.map +1 -1
  38. package/dist/CardView.mjs.map +1 -1
  39. package/dist/CenterBaseline.cjs.map +1 -1
  40. package/dist/CenterBaseline.css.map +1 -1
  41. package/dist/CenterBaseline.mjs.map +1 -1
  42. package/dist/Checkbox.cjs.map +1 -1
  43. package/dist/Checkbox.css.map +1 -1
  44. package/dist/Checkbox.mjs.map +1 -1
  45. package/dist/CheckboxGroup.cjs.map +1 -1
  46. package/dist/CheckboxGroup.css.map +1 -1
  47. package/dist/CheckboxGroup.mjs.map +1 -1
  48. package/dist/ClearButton.cjs.map +1 -1
  49. package/dist/ClearButton.css.map +1 -1
  50. package/dist/ClearButton.mjs.map +1 -1
  51. package/dist/CloseButton.cjs.map +1 -1
  52. package/dist/CloseButton.css.map +1 -1
  53. package/dist/CloseButton.mjs.map +1 -1
  54. package/dist/ColorArea.cjs.map +1 -1
  55. package/dist/ColorArea.css.map +1 -1
  56. package/dist/ColorArea.mjs.map +1 -1
  57. package/dist/ColorField.cjs.map +1 -1
  58. package/dist/ColorField.css.map +1 -1
  59. package/dist/ColorField.mjs.map +1 -1
  60. package/dist/ColorHandle.cjs.map +1 -1
  61. package/dist/ColorHandle.css.map +1 -1
  62. package/dist/ColorHandle.mjs.map +1 -1
  63. package/dist/ColorSlider.cjs.map +1 -1
  64. package/dist/ColorSlider.css.map +1 -1
  65. package/dist/ColorSlider.mjs.map +1 -1
  66. package/dist/ColorSwatch.cjs.map +1 -1
  67. package/dist/ColorSwatch.css.map +1 -1
  68. package/dist/ColorSwatch.mjs.map +1 -1
  69. package/dist/ColorSwatchPicker.cjs.map +1 -1
  70. package/dist/ColorSwatchPicker.css.map +1 -1
  71. package/dist/ColorSwatchPicker.mjs.map +1 -1
  72. package/dist/ColorWheel.cjs.map +1 -1
  73. package/dist/ColorWheel.css.map +1 -1
  74. package/dist/ColorWheel.mjs.map +1 -1
  75. package/dist/ComboBox.cjs.map +1 -1
  76. package/dist/ComboBox.css.map +1 -1
  77. package/dist/ComboBox.mjs.map +1 -1
  78. package/dist/ContextualHelp.cjs.map +1 -1
  79. package/dist/ContextualHelp.css.map +1 -1
  80. package/dist/ContextualHelp.mjs.map +1 -1
  81. package/dist/Dialog.cjs.map +1 -1
  82. package/dist/Dialog.css.map +1 -1
  83. package/dist/Dialog.mjs.map +1 -1
  84. package/dist/Disclosure.cjs.map +1 -1
  85. package/dist/Disclosure.css.map +1 -1
  86. package/dist/Disclosure.mjs.map +1 -1
  87. package/dist/Divider.cjs.map +1 -1
  88. package/dist/Divider.css.map +1 -1
  89. package/dist/Divider.mjs.map +1 -1
  90. package/dist/DropZone.cjs.map +1 -1
  91. package/dist/DropZone.css.map +1 -1
  92. package/dist/DropZone.mjs.map +1 -1
  93. package/dist/Field.cjs.map +1 -1
  94. package/dist/Field.css.map +1 -1
  95. package/dist/Field.mjs.map +1 -1
  96. package/dist/Form.cjs.map +1 -1
  97. package/dist/Form.css.map +1 -1
  98. package/dist/Form.mjs.map +1 -1
  99. package/dist/IllustratedMessage.cjs.map +1 -1
  100. package/dist/IllustratedMessage.css.map +1 -1
  101. package/dist/IllustratedMessage.mjs.map +1 -1
  102. package/dist/Image.cjs.map +1 -1
  103. package/dist/Image.css.map +1 -1
  104. package/dist/Image.mjs.map +1 -1
  105. package/dist/InlineAlert.cjs.map +1 -1
  106. package/dist/InlineAlert.css.map +1 -1
  107. package/dist/InlineAlert.mjs.map +1 -1
  108. package/dist/Link.cjs.map +1 -1
  109. package/dist/Link.css.map +1 -1
  110. package/dist/Link.mjs.map +1 -1
  111. package/dist/Menu.cjs.map +1 -1
  112. package/dist/Menu.css.map +1 -1
  113. package/dist/Menu.mjs.map +1 -1
  114. package/dist/Meter.cjs.map +1 -1
  115. package/dist/Meter.css.map +1 -1
  116. package/dist/Meter.mjs.map +1 -1
  117. package/dist/Modal.cjs.map +1 -1
  118. package/dist/Modal.css.map +1 -1
  119. package/dist/Modal.mjs.map +1 -1
  120. package/dist/NumberField.cjs.map +1 -1
  121. package/dist/NumberField.css.map +1 -1
  122. package/dist/NumberField.mjs.map +1 -1
  123. package/dist/Picker.cjs.map +1 -1
  124. package/dist/Picker.css.map +1 -1
  125. package/dist/Picker.mjs.map +1 -1
  126. package/dist/Popover.cjs.map +1 -1
  127. package/dist/Popover.css.map +1 -1
  128. package/dist/Popover.mjs.map +1 -1
  129. package/dist/ProgressBar.cjs.map +1 -1
  130. package/dist/ProgressBar.css.map +1 -1
  131. package/dist/ProgressBar.mjs.map +1 -1
  132. package/dist/ProgressCircle.cjs +0 -1
  133. package/dist/ProgressCircle.cjs.map +1 -1
  134. package/dist/ProgressCircle.css +0 -4
  135. package/dist/ProgressCircle.css.map +1 -1
  136. package/dist/ProgressCircle.mjs +0 -1
  137. package/dist/ProgressCircle.mjs.map +1 -1
  138. package/dist/Provider.cjs.map +1 -1
  139. package/dist/Provider.css.map +1 -1
  140. package/dist/Provider.mjs.map +1 -1
  141. package/dist/Radio.cjs.map +1 -1
  142. package/dist/Radio.css.map +1 -1
  143. package/dist/Radio.mjs.map +1 -1
  144. package/dist/RadioGroup.cjs.map +1 -1
  145. package/dist/RadioGroup.css.map +1 -1
  146. package/dist/RadioGroup.mjs.map +1 -1
  147. package/dist/SearchField.cjs.map +1 -1
  148. package/dist/SearchField.css.map +1 -1
  149. package/dist/SearchField.mjs.map +1 -1
  150. package/dist/SegmentedControl.cjs +11 -8
  151. package/dist/SegmentedControl.cjs.map +1 -1
  152. package/dist/SegmentedControl.css.map +1 -1
  153. package/dist/SegmentedControl.mjs +11 -8
  154. package/dist/SegmentedControl.mjs.map +1 -1
  155. package/dist/SkeletonCollection.cjs.map +1 -1
  156. package/dist/SkeletonCollection.mjs.map +1 -1
  157. package/dist/Slider.cjs.map +1 -1
  158. package/dist/Slider.css.map +1 -1
  159. package/dist/Slider.mjs.map +1 -1
  160. package/dist/StatusLight.cjs.map +1 -1
  161. package/dist/StatusLight.css.map +1 -1
  162. package/dist/StatusLight.mjs.map +1 -1
  163. package/dist/Switch.cjs.map +1 -1
  164. package/dist/Switch.css.map +1 -1
  165. package/dist/Switch.mjs.map +1 -1
  166. package/dist/Table.cjs +61 -90
  167. package/dist/Table.cjs.map +1 -1
  168. package/dist/Table.css +36 -56
  169. package/dist/Table.css.map +1 -1
  170. package/dist/Table.mjs +61 -90
  171. package/dist/Table.mjs.map +1 -1
  172. package/dist/Tabs.cjs.map +1 -1
  173. package/dist/Tabs.css.map +1 -1
  174. package/dist/Tabs.mjs.map +1 -1
  175. package/dist/TagGroup.cjs.map +1 -1
  176. package/dist/TagGroup.css.map +1 -1
  177. package/dist/TagGroup.mjs.map +1 -1
  178. package/dist/TextField.cjs.map +1 -1
  179. package/dist/TextField.css.map +1 -1
  180. package/dist/TextField.mjs.map +1 -1
  181. package/dist/ToggleButton.cjs +2 -1
  182. package/dist/ToggleButton.cjs.map +1 -1
  183. package/dist/ToggleButton.css.map +1 -1
  184. package/dist/ToggleButton.mjs +2 -1
  185. package/dist/ToggleButton.mjs.map +1 -1
  186. package/dist/Tooltip.cjs.map +1 -1
  187. package/dist/Tooltip.css.map +1 -1
  188. package/dist/Tooltip.mjs.map +1 -1
  189. package/dist/main.cjs +3 -0
  190. package/dist/main.cjs.map +1 -1
  191. package/dist/module.mjs +3 -1
  192. package/dist/module.mjs.map +1 -1
  193. package/dist/types.d.ts +47 -30
  194. package/dist/types.d.ts.map +1 -1
  195. package/icons/Skeleton.cjs.map +1 -1
  196. package/icons/Skeleton.css.map +1 -1
  197. package/icons/Skeleton.mjs.map +1 -1
  198. package/package.json +17 -17
  199. package/src/Accordion.tsx +2 -2
  200. package/src/ActionButton.tsx +3 -3
  201. package/src/AlertDialog.tsx +1 -1
  202. package/src/Avatar.tsx +1 -1
  203. package/src/AvatarGroup.tsx +1 -1
  204. package/src/Badge.tsx +1 -1
  205. package/src/Breadcrumbs.tsx +2 -2
  206. package/src/Button.tsx +19 -5
  207. package/src/ButtonGroup.tsx +1 -1
  208. package/src/Card.tsx +6 -6
  209. package/src/CardView.tsx +2 -2
  210. package/src/CenterBaseline.tsx +1 -1
  211. package/src/Checkbox.tsx +2 -2
  212. package/src/CheckboxGroup.tsx +1 -1
  213. package/src/ClearButton.tsx +1 -1
  214. package/src/CloseButton.tsx +2 -2
  215. package/src/ColorArea.tsx +1 -1
  216. package/src/ColorField.tsx +1 -1
  217. package/src/ColorHandle.tsx +1 -1
  218. package/src/ColorSlider.tsx +1 -1
  219. package/src/ColorSwatch.tsx +3 -3
  220. package/src/ColorSwatchPicker.tsx +5 -5
  221. package/src/ColorWheel.tsx +1 -1
  222. package/src/ComboBox.tsx +4 -4
  223. package/src/ContextualHelp.tsx +1 -1
  224. package/src/Dialog.tsx +1 -1
  225. package/src/Disclosure.tsx +4 -4
  226. package/src/Divider.tsx +1 -1
  227. package/src/DropZone.tsx +1 -1
  228. package/src/Field.tsx +2 -2
  229. package/src/Form.tsx +1 -1
  230. package/src/IllustratedMessage.tsx +1 -1
  231. package/src/Image.tsx +1 -1
  232. package/src/InlineAlert.tsx +2 -2
  233. package/src/Link.tsx +2 -2
  234. package/src/Menu.tsx +2 -2
  235. package/src/Meter.tsx +1 -1
  236. package/src/Modal.tsx +1 -1
  237. package/src/NumberField.tsx +2 -2
  238. package/src/Picker.tsx +4 -4
  239. package/src/Popover.tsx +1 -1
  240. package/src/ProgressBar.tsx +1 -1
  241. package/src/ProgressCircle.tsx +7 -5
  242. package/src/Provider.tsx +1 -1
  243. package/src/Radio.tsx +2 -2
  244. package/src/RadioGroup.tsx +1 -1
  245. package/src/SearchField.tsx +1 -1
  246. package/src/SegmentedControl.tsx +32 -22
  247. package/src/Skeleton.tsx +4 -1
  248. package/src/SkeletonCollection.tsx +4 -0
  249. package/src/Slider.tsx +2 -2
  250. package/src/StatusLight.tsx +1 -1
  251. package/src/Switch.tsx +2 -2
  252. package/src/Table.tsx +39 -60
  253. package/src/Tabs.tsx +3 -3
  254. package/src/TagGroup.tsx +2 -2
  255. package/src/TextField.tsx +1 -1
  256. package/src/ToggleButton.tsx +3 -2
  257. package/src/Tooltip.tsx +1 -1
  258. package/src/index.ts +2 -0
  259. package/src/style-utils.ts +0 -10
  260. package/style/dist/main.cjs +18 -1964
  261. package/style/dist/main.cjs.map +1 -1
  262. package/style/dist/module.mjs +11 -1958
  263. package/style/dist/module.mjs.map +1 -1
  264. package/style/dist/spectrum-theme.cjs +1989 -0
  265. package/style/dist/spectrum-theme.cjs.map +1 -0
  266. package/style/dist/spectrum-theme.mjs +1978 -0
  267. package/style/dist/spectrum-theme.mjs.map +1 -0
  268. package/style/dist/style-macro.cjs +4 -3
  269. package/style/dist/style-macro.cjs.map +1 -1
  270. package/style/dist/style-macro.mjs +4 -4
  271. package/style/dist/style-macro.mjs.map +1 -1
  272. package/style/dist/types.d.ts +198 -187
  273. package/style/dist/types.d.ts.map +1 -1
  274. package/style/index.ts +24 -0
  275. package/style/spectrum-theme.ts +19 -13
  276. package/style/style-macro.ts +1 -1
  277. package/style/types.ts +2 -1
@@ -1 +1 @@
1
- {"mappings":";;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;;;;;;AAqCM,MAAM,0DAAgB,CAAA,GAAA,0BAAY,EAAkE;AAE3G,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCN,MAAM;;;;;;;;;;;;;;;;;;;;;;;AAeN,4FAA4F;AAC5F,MAAM,uCAAiB,CAAC,cAAC,UAAU,EAAoB,GAAM,CAAA;QAC3D,wHAAwH;QACxH,0GAA0G;QAC1G,8GAA8G;QAC9G,sHAAsH;QACtH,uHAAuH;QACvH,mDAAmD;QACnD,EAAE;QACF,qDAAqD;QACrD,EAAE;QACF,uFAAuF;QACvF,EAAE;QACF,6DAA6D;QAC7D,8DAA8D;QAC9D,EAAE;QACF,+FAA+F;QAC/F,EAAE;QACF,4CAA4C;QAC5C,mDAAmD;QACnD,WAAW,aAEP,wHACA;IACN,CAAA;AAEA,SAAS,6BAAO,KAAkB,EAAE,GAAmC;IACrE,CAAC,OAAO,IAAI,GAAG,CAAA,GAAA,iDAAsB,EAAE,OAAO,KAAK;IACnD,IAAI,YAAC,QAAQ,oBAAE,mBAAmB,kBAAI,YAAY,EAAC,GAAG;IACtD,IAAI,WAAW,CAAA,GAAA,mBAAK,EAA2B;IAC/C,IAAI,SAAS,CAAA,GAAA,yCAAc,EAAE,KAAK;IAClC,IAAI,YAAY,CAAA,GAAA,mBAAK,EAAE;IACvB,IAAI,WAAW,CAAC,CAAC,CAAA,GAAA,uBAAS,EAAE,CAAA,GAAA,qCAAU;IACtC,QAAQ,CAAA,GAAA,sCAAW,EAAE;IACrB,qBACE,gCAAC,CAAA,GAAA,iCAAS;QACP,GAAG,KAAK;QACT,KAAK;QACL,UAAU;QACV,OAAO;QACP,WAAW,CAAA,cAAe,mBAAmB,8BAAQ;gBAAC,GAAG,WAAW;0BAAE;gBAAU,MAAM,MAAM,IAAI,IAAI;YAAG,GAAG,MAAM,MAAM;kBACrH,CAAA,4BACC;;kCACE,gCAAC,CAAA,GAAA,wCAAa;kCACZ,cAAA,gCAAC;4BACC,WAAW,4BAAM;gCACf,GAAG,WAAW;gCACd,MAAM,MAAM,IAAI,IAAI;gCACpB,cAAc,MAAM,YAAY;4BAClC;sCACA,cAAA,gCAAC;gCACC,KAAK;gCACL,OAAO,CAAA,GAAA,oCAAS,EAAE,WAAW,sCAAgB;gCAC7C,WAAW,6BAAO;;;;oBAGvB;;;;AAKX;AAEA;;;CAGC,GACD,IAAI,4CAAU,WAAW,GAAG,CAAA,GAAA,uBAAS,EAAE","sources":["packages/@react-spectrum/s2/src/Switch.tsx"],"sourcesContent":["/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {\n Switch as AriaSwitch,\n SwitchProps as AriaSwitchProps,\n ContextValue,\n SwitchRenderProps\n} from 'react-aria-components';\nimport {baseColor, fontRelative, style} from '../style/spectrum-theme' with {type: 'macro'};\nimport {CenterBaseline} from './CenterBaseline';\nimport {createContext, forwardRef, ReactNode, useContext, useRef} from 'react';\nimport {FocusableRef, FocusableRefValue} from '@react-types/shared';\nimport {focusRing, getAllowedOverrides, StyleProps} from './style-utils' with {type: 'macro'};\nimport {FormContext, useFormProps} from './Form';\nimport {pressScale} from './pressScale';\nimport {useFocusableRef} from '@react-spectrum/utils';\nimport {useSpectrumContextProps} from './useSpectrumContextProps';\n\ninterface SwitchStyleProps {\n /**\n * The size of the Switch.\n *\n * @default 'M'\n */\n size?: 'S' | 'M' | 'L' | 'XL',\n /**\n * Whether the Switch should be displayed with an emphasized style.\n */\n isEmphasized?: boolean\n}\n\ninterface RenderProps extends SwitchRenderProps, SwitchStyleProps {}\n\nexport interface SwitchProps extends Omit<AriaSwitchProps, 'className' | 'style' | 'children' | 'onHover' | 'onHoverStart' | 'onHoverEnd' | 'onHoverChange'>, StyleProps, SwitchStyleProps {\n children?: ReactNode\n}\n\nexport const SwitchContext = createContext<ContextValue<SwitchProps, FocusableRefValue<HTMLLabelElement>>>(null);\n\nconst wrapper = style({\n display: 'flex',\n columnGap: 'text-to-control',\n alignItems: 'baseline',\n width: 'fit',\n font: 'control',\n transition: 'colors',\n color: {\n default: 'neutral',\n isDisabled: {\n default: 'disabled',\n forcedColors: 'GrayText'\n }\n },\n gridColumnStart: {\n isInForm: 'field'\n },\n disableTapHighlight: true\n}, getAllowedOverrides());\n\nconst track = style<RenderProps>({\n ...focusRing(),\n borderRadius: 'full',\n '--trackWidth': {\n type: 'width',\n value: fontRelative(26)\n },\n '--trackHeight': {\n type: 'height',\n value: 'control-sm'\n },\n width: '--trackWidth',\n height: '--trackHeight',\n boxSizing: 'border-box',\n borderWidth: 2,\n borderStyle: 'solid',\n transition: 'default',\n forcedColorAdjust: 'none',\n borderColor: {\n default: baseColor('gray-800'),\n forcedColors: 'ButtonBorder',\n isDisabled: {\n default: 'gray-400',\n forcedColors: 'GrayText'\n },\n isSelected: 'transparent'\n },\n backgroundColor: {\n default: 'gray-25',\n isSelected: {\n default: 'neutral',\n isEmphasized: baseColor('accent-900'),\n forcedColors: 'Highlight',\n isDisabled: {\n default: 'gray-400',\n forcedColors: 'GrayText'\n }\n }\n }\n});\n\nconst handle = style<RenderProps>({\n height: 'full',\n aspectRatio: 'square',\n borderRadius: 'full',\n backgroundColor: {\n default: 'neutral',\n isDisabled: {\n default: 'gray-400',\n forcedColors: 'GrayText'\n },\n isSelected: 'gray-25'\n },\n transition: 'default'\n});\n\n// Use an inline style to calculate the transform so we can combine it with the press scale.\nconst transformStyle = ({isSelected}: SwitchRenderProps) => ({\n // In the default state, the handle is 8px smaller than the track. When selected it grows to 6px smaller than the track.\n // Normally this could be calculated as a scale transform with (trackHeight - 8px) / trackHeight, however,\n // CSS does not allow division with units. To solve this we use a 3d perspective transform. Perspective is the\n // distance from the Z=0 plane to the viewer. Since we want to scale the handle by a fixed amount and we cannot divide\n // by a value with units, we can set the Z translation to a fixed amount and change the perspective in order to achieve\n // the desired effect. Given the following formula:\n //\n // scale = perspective / (perspective - translateZ)\n //\n // and desired scale factors (accounting for the 2px border on each side of the track):\n //\n // defaultScale = (trackHeight - 8px) / (trackHeight - 4px)\n // selectedScale = (trackHeight - 6px) / (trackHeight - 4px)\n //\n // we can solve for the perspective needed in each case where translateZ is hard coded to -4px:\n //\n // defaultPerspective = trackHeight - 8px\n // selectedPerspective = 2 * (trackHeight - 6px)\n transform: isSelected\n // The selected state also translates the X position to the end of the track (minus the borders).\n ? 'translateX(calc(var(--trackWidth) - 100% - 4px)) perspective(calc(2 * (var(--trackHeight) - 6px))) translateZ(-4px)'\n : 'perspective(calc(var(--trackHeight) - 8px)) translateZ(-4px)'\n});\n\nfunction Switch(props: SwitchProps, ref: FocusableRef<HTMLLabelElement>) {\n [props, ref] = useSpectrumContextProps(props, ref, SwitchContext);\n let {children, UNSAFE_className = '', UNSAFE_style} = props;\n let inputRef = useRef<HTMLInputElement | null>(null);\n let domRef = useFocusableRef(ref, inputRef);\n let handleRef = useRef(null);\n let isInForm = !!useContext(FormContext);\n props = useFormProps(props);\n return (\n <AriaSwitch\n {...props}\n ref={domRef}\n inputRef={inputRef}\n style={UNSAFE_style}\n className={renderProps => UNSAFE_className + wrapper({...renderProps, isInForm, size: props.size || 'M'}, props.styles)}>\n {renderProps => (\n <>\n <CenterBaseline>\n <div\n className={track({\n ...renderProps,\n size: props.size || 'M',\n isEmphasized: props.isEmphasized\n })}>\n <div\n ref={handleRef}\n style={pressScale(handleRef, transformStyle)(renderProps)}\n className={handle(renderProps)} />\n </div>\n </CenterBaseline>\n {children}\n </>\n )}\n </AriaSwitch>\n );\n}\n\n/**\n * Switches allow users to turn an individual option on or off.\n * They are usually used to activate or deactivate a specific setting.\n */\nlet _Switch = /*#__PURE__*/ forwardRef(Switch);\nexport {_Switch as Switch};\n"],"names":[],"version":3,"file":"Switch.cjs.map"}
1
+ {"mappings":";;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;;;;;;AAqCM,MAAM,0DAAgB,CAAA,GAAA,0BAAY,EAAkE;AAE3G,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCN,MAAM;;;;;;;;;;;;;;;;;;;;;;;AAeN,4FAA4F;AAC5F,MAAM,uCAAiB,CAAC,cAAC,UAAU,EAAoB,GAAM,CAAA;QAC3D,wHAAwH;QACxH,0GAA0G;QAC1G,8GAA8G;QAC9G,sHAAsH;QACtH,uHAAuH;QACvH,mDAAmD;QACnD,EAAE;QACF,qDAAqD;QACrD,EAAE;QACF,uFAAuF;QACvF,EAAE;QACF,6DAA6D;QAC7D,8DAA8D;QAC9D,EAAE;QACF,+FAA+F;QAC/F,EAAE;QACF,4CAA4C;QAC5C,mDAAmD;QACnD,WAAW,aAEP,wHACA;IACN,CAAA;AAEA,SAAS,6BAAO,KAAkB,EAAE,GAAmC;IACrE,CAAC,OAAO,IAAI,GAAG,CAAA,GAAA,iDAAsB,EAAE,OAAO,KAAK;IACnD,IAAI,YAAC,QAAQ,oBAAE,mBAAmB,kBAAI,YAAY,EAAC,GAAG;IACtD,IAAI,WAAW,CAAA,GAAA,mBAAK,EAA2B;IAC/C,IAAI,SAAS,CAAA,GAAA,yCAAc,EAAE,KAAK;IAClC,IAAI,YAAY,CAAA,GAAA,mBAAK,EAAE;IACvB,IAAI,WAAW,CAAC,CAAC,CAAA,GAAA,uBAAS,EAAE,CAAA,GAAA,qCAAU;IACtC,QAAQ,CAAA,GAAA,sCAAW,EAAE;IACrB,qBACE,gCAAC,CAAA,GAAA,iCAAS;QACP,GAAG,KAAK;QACT,KAAK;QACL,UAAU;QACV,OAAO;QACP,WAAW,CAAA,cAAe,mBAAmB,8BAAQ;gBAAC,GAAG,WAAW;0BAAE;gBAAU,MAAM,MAAM,IAAI,IAAI;YAAG,GAAG,MAAM,MAAM;kBACrH,CAAA,4BACC;;kCACE,gCAAC,CAAA,GAAA,wCAAa;kCACZ,cAAA,gCAAC;4BACC,WAAW,4BAAM;gCACf,GAAG,WAAW;gCACd,MAAM,MAAM,IAAI,IAAI;gCACpB,cAAc,MAAM,YAAY;4BAClC;sCACA,cAAA,gCAAC;gCACC,KAAK;gCACL,OAAO,CAAA,GAAA,oCAAS,EAAE,WAAW,sCAAgB;gCAC7C,WAAW,6BAAO;;;;oBAGvB;;;;AAKX;AAEA;;;CAGC,GACD,IAAI,4CAAU,WAAW,GAAG,CAAA,GAAA,uBAAS,EAAE","sources":["packages/@react-spectrum/s2/src/Switch.tsx"],"sourcesContent":["/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {\n Switch as AriaSwitch,\n SwitchProps as AriaSwitchProps,\n ContextValue,\n SwitchRenderProps\n} from 'react-aria-components';\nimport {baseColor, focusRing, fontRelative, style} from '../style' with {type: 'macro'};\nimport {CenterBaseline} from './CenterBaseline';\nimport {createContext, forwardRef, ReactNode, useContext, useRef} from 'react';\nimport {FocusableRef, FocusableRefValue} from '@react-types/shared';\nimport {FormContext, useFormProps} from './Form';\nimport {getAllowedOverrides, StyleProps} from './style-utils' with {type: 'macro'};\nimport {pressScale} from './pressScale';\nimport {useFocusableRef} from '@react-spectrum/utils';\nimport {useSpectrumContextProps} from './useSpectrumContextProps';\n\ninterface SwitchStyleProps {\n /**\n * The size of the Switch.\n *\n * @default 'M'\n */\n size?: 'S' | 'M' | 'L' | 'XL',\n /**\n * Whether the Switch should be displayed with an emphasized style.\n */\n isEmphasized?: boolean\n}\n\ninterface RenderProps extends SwitchRenderProps, SwitchStyleProps {}\n\nexport interface SwitchProps extends Omit<AriaSwitchProps, 'className' | 'style' | 'children' | 'onHover' | 'onHoverStart' | 'onHoverEnd' | 'onHoverChange'>, StyleProps, SwitchStyleProps {\n children?: ReactNode\n}\n\nexport const SwitchContext = createContext<ContextValue<SwitchProps, FocusableRefValue<HTMLLabelElement>>>(null);\n\nconst wrapper = style({\n display: 'flex',\n columnGap: 'text-to-control',\n alignItems: 'baseline',\n width: 'fit',\n font: 'control',\n transition: 'colors',\n color: {\n default: 'neutral',\n isDisabled: {\n default: 'disabled',\n forcedColors: 'GrayText'\n }\n },\n gridColumnStart: {\n isInForm: 'field'\n },\n disableTapHighlight: true\n}, getAllowedOverrides());\n\nconst track = style<RenderProps>({\n ...focusRing(),\n borderRadius: 'full',\n '--trackWidth': {\n type: 'width',\n value: fontRelative(26)\n },\n '--trackHeight': {\n type: 'height',\n value: 'control-sm'\n },\n width: '--trackWidth',\n height: '--trackHeight',\n boxSizing: 'border-box',\n borderWidth: 2,\n borderStyle: 'solid',\n transition: 'default',\n forcedColorAdjust: 'none',\n borderColor: {\n default: baseColor('gray-800'),\n forcedColors: 'ButtonBorder',\n isDisabled: {\n default: 'gray-400',\n forcedColors: 'GrayText'\n },\n isSelected: 'transparent'\n },\n backgroundColor: {\n default: 'gray-25',\n isSelected: {\n default: 'neutral',\n isEmphasized: baseColor('accent-900'),\n forcedColors: 'Highlight',\n isDisabled: {\n default: 'gray-400',\n forcedColors: 'GrayText'\n }\n }\n }\n});\n\nconst handle = style<RenderProps>({\n height: 'full',\n aspectRatio: 'square',\n borderRadius: 'full',\n backgroundColor: {\n default: 'neutral',\n isDisabled: {\n default: 'gray-400',\n forcedColors: 'GrayText'\n },\n isSelected: 'gray-25'\n },\n transition: 'default'\n});\n\n// Use an inline style to calculate the transform so we can combine it with the press scale.\nconst transformStyle = ({isSelected}: SwitchRenderProps) => ({\n // In the default state, the handle is 8px smaller than the track. When selected it grows to 6px smaller than the track.\n // Normally this could be calculated as a scale transform with (trackHeight - 8px) / trackHeight, however,\n // CSS does not allow division with units. To solve this we use a 3d perspective transform. Perspective is the\n // distance from the Z=0 plane to the viewer. Since we want to scale the handle by a fixed amount and we cannot divide\n // by a value with units, we can set the Z translation to a fixed amount and change the perspective in order to achieve\n // the desired effect. Given the following formula:\n //\n // scale = perspective / (perspective - translateZ)\n //\n // and desired scale factors (accounting for the 2px border on each side of the track):\n //\n // defaultScale = (trackHeight - 8px) / (trackHeight - 4px)\n // selectedScale = (trackHeight - 6px) / (trackHeight - 4px)\n //\n // we can solve for the perspective needed in each case where translateZ is hard coded to -4px:\n //\n // defaultPerspective = trackHeight - 8px\n // selectedPerspective = 2 * (trackHeight - 6px)\n transform: isSelected\n // The selected state also translates the X position to the end of the track (minus the borders).\n ? 'translateX(calc(var(--trackWidth) - 100% - 4px)) perspective(calc(2 * (var(--trackHeight) - 6px))) translateZ(-4px)'\n : 'perspective(calc(var(--trackHeight) - 8px)) translateZ(-4px)'\n});\n\nfunction Switch(props: SwitchProps, ref: FocusableRef<HTMLLabelElement>) {\n [props, ref] = useSpectrumContextProps(props, ref, SwitchContext);\n let {children, UNSAFE_className = '', UNSAFE_style} = props;\n let inputRef = useRef<HTMLInputElement | null>(null);\n let domRef = useFocusableRef(ref, inputRef);\n let handleRef = useRef(null);\n let isInForm = !!useContext(FormContext);\n props = useFormProps(props);\n return (\n <AriaSwitch\n {...props}\n ref={domRef}\n inputRef={inputRef}\n style={UNSAFE_style}\n className={renderProps => UNSAFE_className + wrapper({...renderProps, isInForm, size: props.size || 'M'}, props.styles)}>\n {renderProps => (\n <>\n <CenterBaseline>\n <div\n className={track({\n ...renderProps,\n size: props.size || 'M',\n isEmphasized: props.isEmphasized\n })}>\n <div\n ref={handleRef}\n style={pressScale(handleRef, transformStyle)(renderProps)}\n className={handle(renderProps)} />\n </div>\n </CenterBaseline>\n {children}\n </>\n )}\n </AriaSwitch>\n );\n}\n\n/**\n * Switches allow users to turn an individual option on or off.\n * They are usually used to activate or deactivate a specific setting.\n */\nlet _Switch = /*#__PURE__*/ forwardRef(Switch);\nexport {_Switch as Switch};\n"],"names":[],"version":3,"file":"Switch.cjs.map"}
@@ -1 +1 @@
1
- {"mappings":"ACiDgB;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAoBF;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAyCC;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;;AA7DC;EAAA;;;;EAAA;;;;;AAAA;EAAA;;;;;AAAA;EAAA;;;;;AAAA;EAAA;;;;;AAAA;EAAA;;;;;AAAA;EAAA;;;;;AAAA;EAAA;;;;;AAAA;;AAAA;EAAA;IAAA;;;;IAAA;;;;IAAA;;;;IAAA;;;;IAAA;;;;IAoBF;;;;IAAA;;;;IAAA;;;;IAAA;;;;;;AApBE;EAAA;IAAA;;;;IAoBF;;;;IAAA;;;;IAAA;;;;IAAA;;;;IAAA;;;;;;AAAA","sources":["dcb0a1e1b828d584","packages/@react-spectrum/s2/src/Switch.tsx"],"sourcesContent":["@import \"b4e99f1579042857\";\n@import \"8f3fcc7ad85a1ee6\";\n@import \"a22e7952bd491c56\";\n","/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {\n Switch as AriaSwitch,\n SwitchProps as AriaSwitchProps,\n ContextValue,\n SwitchRenderProps\n} from 'react-aria-components';\nimport {baseColor, fontRelative, style} from '../style/spectrum-theme' with {type: 'macro'};\nimport {CenterBaseline} from './CenterBaseline';\nimport {createContext, forwardRef, ReactNode, useContext, useRef} from 'react';\nimport {FocusableRef, FocusableRefValue} from '@react-types/shared';\nimport {focusRing, getAllowedOverrides, StyleProps} from './style-utils' with {type: 'macro'};\nimport {FormContext, useFormProps} from './Form';\nimport {pressScale} from './pressScale';\nimport {useFocusableRef} from '@react-spectrum/utils';\nimport {useSpectrumContextProps} from './useSpectrumContextProps';\n\ninterface SwitchStyleProps {\n /**\n * The size of the Switch.\n *\n * @default 'M'\n */\n size?: 'S' | 'M' | 'L' | 'XL',\n /**\n * Whether the Switch should be displayed with an emphasized style.\n */\n isEmphasized?: boolean\n}\n\ninterface RenderProps extends SwitchRenderProps, SwitchStyleProps {}\n\nexport interface SwitchProps extends Omit<AriaSwitchProps, 'className' | 'style' | 'children' | 'onHover' | 'onHoverStart' | 'onHoverEnd' | 'onHoverChange'>, StyleProps, SwitchStyleProps {\n children?: ReactNode\n}\n\nexport const SwitchContext = createContext<ContextValue<SwitchProps, FocusableRefValue<HTMLLabelElement>>>(null);\n\nconst wrapper = style({\n display: 'flex',\n columnGap: 'text-to-control',\n alignItems: 'baseline',\n width: 'fit',\n font: 'control',\n transition: 'colors',\n color: {\n default: 'neutral',\n isDisabled: {\n default: 'disabled',\n forcedColors: 'GrayText'\n }\n },\n gridColumnStart: {\n isInForm: 'field'\n },\n disableTapHighlight: true\n}, getAllowedOverrides());\n\nconst track = style<RenderProps>({\n ...focusRing(),\n borderRadius: 'full',\n '--trackWidth': {\n type: 'width',\n value: fontRelative(26)\n },\n '--trackHeight': {\n type: 'height',\n value: 'control-sm'\n },\n width: '--trackWidth',\n height: '--trackHeight',\n boxSizing: 'border-box',\n borderWidth: 2,\n borderStyle: 'solid',\n transition: 'default',\n forcedColorAdjust: 'none',\n borderColor: {\n default: baseColor('gray-800'),\n forcedColors: 'ButtonBorder',\n isDisabled: {\n default: 'gray-400',\n forcedColors: 'GrayText'\n },\n isSelected: 'transparent'\n },\n backgroundColor: {\n default: 'gray-25',\n isSelected: {\n default: 'neutral',\n isEmphasized: baseColor('accent-900'),\n forcedColors: 'Highlight',\n isDisabled: {\n default: 'gray-400',\n forcedColors: 'GrayText'\n }\n }\n }\n});\n\nconst handle = style<RenderProps>({\n height: 'full',\n aspectRatio: 'square',\n borderRadius: 'full',\n backgroundColor: {\n default: 'neutral',\n isDisabled: {\n default: 'gray-400',\n forcedColors: 'GrayText'\n },\n isSelected: 'gray-25'\n },\n transition: 'default'\n});\n\n// Use an inline style to calculate the transform so we can combine it with the press scale.\nconst transformStyle = ({isSelected}: SwitchRenderProps) => ({\n // In the default state, the handle is 8px smaller than the track. When selected it grows to 6px smaller than the track.\n // Normally this could be calculated as a scale transform with (trackHeight - 8px) / trackHeight, however,\n // CSS does not allow division with units. To solve this we use a 3d perspective transform. Perspective is the\n // distance from the Z=0 plane to the viewer. Since we want to scale the handle by a fixed amount and we cannot divide\n // by a value with units, we can set the Z translation to a fixed amount and change the perspective in order to achieve\n // the desired effect. Given the following formula:\n //\n // scale = perspective / (perspective - translateZ)\n //\n // and desired scale factors (accounting for the 2px border on each side of the track):\n //\n // defaultScale = (trackHeight - 8px) / (trackHeight - 4px)\n // selectedScale = (trackHeight - 6px) / (trackHeight - 4px)\n //\n // we can solve for the perspective needed in each case where translateZ is hard coded to -4px:\n //\n // defaultPerspective = trackHeight - 8px\n // selectedPerspective = 2 * (trackHeight - 6px)\n transform: isSelected\n // The selected state also translates the X position to the end of the track (minus the borders).\n ? 'translateX(calc(var(--trackWidth) - 100% - 4px)) perspective(calc(2 * (var(--trackHeight) - 6px))) translateZ(-4px)'\n : 'perspective(calc(var(--trackHeight) - 8px)) translateZ(-4px)'\n});\n\nfunction Switch(props: SwitchProps, ref: FocusableRef<HTMLLabelElement>) {\n [props, ref] = useSpectrumContextProps(props, ref, SwitchContext);\n let {children, UNSAFE_className = '', UNSAFE_style} = props;\n let inputRef = useRef<HTMLInputElement | null>(null);\n let domRef = useFocusableRef(ref, inputRef);\n let handleRef = useRef(null);\n let isInForm = !!useContext(FormContext);\n props = useFormProps(props);\n return (\n <AriaSwitch\n {...props}\n ref={domRef}\n inputRef={inputRef}\n style={UNSAFE_style}\n className={renderProps => UNSAFE_className + wrapper({...renderProps, isInForm, size: props.size || 'M'}, props.styles)}>\n {renderProps => (\n <>\n <CenterBaseline>\n <div\n className={track({\n ...renderProps,\n size: props.size || 'M',\n isEmphasized: props.isEmphasized\n })}>\n <div\n ref={handleRef}\n style={pressScale(handleRef, transformStyle)(renderProps)}\n className={handle(renderProps)} />\n </div>\n </CenterBaseline>\n {children}\n </>\n )}\n </AriaSwitch>\n );\n}\n\n/**\n * Switches allow users to turn an individual option on or off.\n * They are usually used to activate or deactivate a specific setting.\n */\nlet _Switch = /*#__PURE__*/ forwardRef(Switch);\nexport {_Switch as Switch};\n"],"names":[],"version":3,"file":"Switch.css.map"}
1
+ {"mappings":"ACiDgB;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAoBF;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAyCC;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;EAAA;;;;;AA7DC;EAAA;;;;EAAA;;;;;AAAA;EAAA;;;;;AAAA;EAAA;;;;;AAAA;EAAA;;;;;AAAA;EAAA;;;;;AAAA;EAAA;;;;;AAAA;EAAA;;;;;AAAA;;AAAA;EAAA;IAAA;;;;IAAA;;;;IAAA;;;;IAAA;;;;IAAA;;;;IAoBF;;;;IAAA;;;;IAAA;;;;IAAA;;;;;;AApBE;EAAA;IAAA;;;;IAoBF;;;;IAAA;;;;IAAA;;;;IAAA;;;;IAAA;;;;;;AAAA","sources":["dcb0a1e1b828d584","packages/@react-spectrum/s2/src/Switch.tsx"],"sourcesContent":["@import \"b4e99f1579042857\";\n@import \"8f3fcc7ad85a1ee6\";\n@import \"a22e7952bd491c56\";\n","/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {\n Switch as AriaSwitch,\n SwitchProps as AriaSwitchProps,\n ContextValue,\n SwitchRenderProps\n} from 'react-aria-components';\nimport {baseColor, focusRing, fontRelative, style} from '../style' with {type: 'macro'};\nimport {CenterBaseline} from './CenterBaseline';\nimport {createContext, forwardRef, ReactNode, useContext, useRef} from 'react';\nimport {FocusableRef, FocusableRefValue} from '@react-types/shared';\nimport {FormContext, useFormProps} from './Form';\nimport {getAllowedOverrides, StyleProps} from './style-utils' with {type: 'macro'};\nimport {pressScale} from './pressScale';\nimport {useFocusableRef} from '@react-spectrum/utils';\nimport {useSpectrumContextProps} from './useSpectrumContextProps';\n\ninterface SwitchStyleProps {\n /**\n * The size of the Switch.\n *\n * @default 'M'\n */\n size?: 'S' | 'M' | 'L' | 'XL',\n /**\n * Whether the Switch should be displayed with an emphasized style.\n */\n isEmphasized?: boolean\n}\n\ninterface RenderProps extends SwitchRenderProps, SwitchStyleProps {}\n\nexport interface SwitchProps extends Omit<AriaSwitchProps, 'className' | 'style' | 'children' | 'onHover' | 'onHoverStart' | 'onHoverEnd' | 'onHoverChange'>, StyleProps, SwitchStyleProps {\n children?: ReactNode\n}\n\nexport const SwitchContext = createContext<ContextValue<SwitchProps, FocusableRefValue<HTMLLabelElement>>>(null);\n\nconst wrapper = style({\n display: 'flex',\n columnGap: 'text-to-control',\n alignItems: 'baseline',\n width: 'fit',\n font: 'control',\n transition: 'colors',\n color: {\n default: 'neutral',\n isDisabled: {\n default: 'disabled',\n forcedColors: 'GrayText'\n }\n },\n gridColumnStart: {\n isInForm: 'field'\n },\n disableTapHighlight: true\n}, getAllowedOverrides());\n\nconst track = style<RenderProps>({\n ...focusRing(),\n borderRadius: 'full',\n '--trackWidth': {\n type: 'width',\n value: fontRelative(26)\n },\n '--trackHeight': {\n type: 'height',\n value: 'control-sm'\n },\n width: '--trackWidth',\n height: '--trackHeight',\n boxSizing: 'border-box',\n borderWidth: 2,\n borderStyle: 'solid',\n transition: 'default',\n forcedColorAdjust: 'none',\n borderColor: {\n default: baseColor('gray-800'),\n forcedColors: 'ButtonBorder',\n isDisabled: {\n default: 'gray-400',\n forcedColors: 'GrayText'\n },\n isSelected: 'transparent'\n },\n backgroundColor: {\n default: 'gray-25',\n isSelected: {\n default: 'neutral',\n isEmphasized: baseColor('accent-900'),\n forcedColors: 'Highlight',\n isDisabled: {\n default: 'gray-400',\n forcedColors: 'GrayText'\n }\n }\n }\n});\n\nconst handle = style<RenderProps>({\n height: 'full',\n aspectRatio: 'square',\n borderRadius: 'full',\n backgroundColor: {\n default: 'neutral',\n isDisabled: {\n default: 'gray-400',\n forcedColors: 'GrayText'\n },\n isSelected: 'gray-25'\n },\n transition: 'default'\n});\n\n// Use an inline style to calculate the transform so we can combine it with the press scale.\nconst transformStyle = ({isSelected}: SwitchRenderProps) => ({\n // In the default state, the handle is 8px smaller than the track. When selected it grows to 6px smaller than the track.\n // Normally this could be calculated as a scale transform with (trackHeight - 8px) / trackHeight, however,\n // CSS does not allow division with units. To solve this we use a 3d perspective transform. Perspective is the\n // distance from the Z=0 plane to the viewer. Since we want to scale the handle by a fixed amount and we cannot divide\n // by a value with units, we can set the Z translation to a fixed amount and change the perspective in order to achieve\n // the desired effect. Given the following formula:\n //\n // scale = perspective / (perspective - translateZ)\n //\n // and desired scale factors (accounting for the 2px border on each side of the track):\n //\n // defaultScale = (trackHeight - 8px) / (trackHeight - 4px)\n // selectedScale = (trackHeight - 6px) / (trackHeight - 4px)\n //\n // we can solve for the perspective needed in each case where translateZ is hard coded to -4px:\n //\n // defaultPerspective = trackHeight - 8px\n // selectedPerspective = 2 * (trackHeight - 6px)\n transform: isSelected\n // The selected state also translates the X position to the end of the track (minus the borders).\n ? 'translateX(calc(var(--trackWidth) - 100% - 4px)) perspective(calc(2 * (var(--trackHeight) - 6px))) translateZ(-4px)'\n : 'perspective(calc(var(--trackHeight) - 8px)) translateZ(-4px)'\n});\n\nfunction Switch(props: SwitchProps, ref: FocusableRef<HTMLLabelElement>) {\n [props, ref] = useSpectrumContextProps(props, ref, SwitchContext);\n let {children, UNSAFE_className = '', UNSAFE_style} = props;\n let inputRef = useRef<HTMLInputElement | null>(null);\n let domRef = useFocusableRef(ref, inputRef);\n let handleRef = useRef(null);\n let isInForm = !!useContext(FormContext);\n props = useFormProps(props);\n return (\n <AriaSwitch\n {...props}\n ref={domRef}\n inputRef={inputRef}\n style={UNSAFE_style}\n className={renderProps => UNSAFE_className + wrapper({...renderProps, isInForm, size: props.size || 'M'}, props.styles)}>\n {renderProps => (\n <>\n <CenterBaseline>\n <div\n className={track({\n ...renderProps,\n size: props.size || 'M',\n isEmphasized: props.isEmphasized\n })}>\n <div\n ref={handleRef}\n style={pressScale(handleRef, transformStyle)(renderProps)}\n className={handle(renderProps)} />\n </div>\n </CenterBaseline>\n {children}\n </>\n )}\n </AriaSwitch>\n );\n}\n\n/**\n * Switches allow users to turn an individual option on or off.\n * They are usually used to activate or deactivate a specific setting.\n */\nlet _Switch = /*#__PURE__*/ forwardRef(Switch);\nexport {_Switch as Switch};\n"],"names":[],"version":3,"file":"Switch.css.map"}
@@ -1 +1 @@
1
- {"mappings":";;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;;;;;;AAqCM,MAAM,0DAAgB,CAAA,GAAA,oBAAY,EAAkE;AAE3G,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCN,MAAM;;;;;;;;;;;;;;;;;;;;;;;AAeN,4FAA4F;AAC5F,MAAM,uCAAiB,CAAC,cAAC,UAAU,EAAoB,GAAM,CAAA;QAC3D,wHAAwH;QACxH,0GAA0G;QAC1G,8GAA8G;QAC9G,sHAAsH;QACtH,uHAAuH;QACvH,mDAAmD;QACnD,EAAE;QACF,qDAAqD;QACrD,EAAE;QACF,uFAAuF;QACvF,EAAE;QACF,6DAA6D;QAC7D,8DAA8D;QAC9D,EAAE;QACF,+FAA+F;QAC/F,EAAE;QACF,4CAA4C;QAC5C,mDAAmD;QACnD,WAAW,aAEP,wHACA;IACN,CAAA;AAEA,SAAS,6BAAO,KAAkB,EAAE,GAAmC;IACrE,CAAC,OAAO,IAAI,GAAG,CAAA,GAAA,yCAAsB,EAAE,OAAO,KAAK;IACnD,IAAI,YAAC,QAAQ,oBAAE,mBAAmB,kBAAI,YAAY,EAAC,GAAG;IACtD,IAAI,WAAW,CAAA,GAAA,aAAK,EAA2B;IAC/C,IAAI,SAAS,CAAA,GAAA,sBAAc,EAAE,KAAK;IAClC,IAAI,YAAY,CAAA,GAAA,aAAK,EAAE;IACvB,IAAI,WAAW,CAAC,CAAC,CAAA,GAAA,iBAAS,EAAE,CAAA,GAAA,yCAAU;IACtC,QAAQ,CAAA,GAAA,yCAAW,EAAE;IACrB,qBACE,gBAAC,CAAA,GAAA,aAAS;QACP,GAAG,KAAK;QACT,KAAK;QACL,UAAU;QACV,OAAO;QACP,WAAW,CAAA,cAAe,mBAAmB,8BAAQ;gBAAC,GAAG,WAAW;0BAAE;gBAAU,MAAM,MAAM,IAAI,IAAI;YAAG,GAAG,MAAM,MAAM;kBACrH,CAAA,4BACC;;kCACE,gBAAC,CAAA,GAAA,yCAAa;kCACZ,cAAA,gBAAC;4BACC,WAAW,4BAAM;gCACf,GAAG,WAAW;gCACd,MAAM,MAAM,IAAI,IAAI;gCACpB,cAAc,MAAM,YAAY;4BAClC;sCACA,cAAA,gBAAC;gCACC,KAAK;gCACL,OAAO,CAAA,GAAA,yCAAS,EAAE,WAAW,sCAAgB;gCAC7C,WAAW,6BAAO;;;;oBAGvB;;;;AAKX;AAEA;;;CAGC,GACD,IAAI,4CAAU,WAAW,GAAG,CAAA,GAAA,iBAAS,EAAE","sources":["packages/@react-spectrum/s2/src/Switch.tsx"],"sourcesContent":["/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {\n Switch as AriaSwitch,\n SwitchProps as AriaSwitchProps,\n ContextValue,\n SwitchRenderProps\n} from 'react-aria-components';\nimport {baseColor, fontRelative, style} from '../style/spectrum-theme' with {type: 'macro'};\nimport {CenterBaseline} from './CenterBaseline';\nimport {createContext, forwardRef, ReactNode, useContext, useRef} from 'react';\nimport {FocusableRef, FocusableRefValue} from '@react-types/shared';\nimport {focusRing, getAllowedOverrides, StyleProps} from './style-utils' with {type: 'macro'};\nimport {FormContext, useFormProps} from './Form';\nimport {pressScale} from './pressScale';\nimport {useFocusableRef} from '@react-spectrum/utils';\nimport {useSpectrumContextProps} from './useSpectrumContextProps';\n\ninterface SwitchStyleProps {\n /**\n * The size of the Switch.\n *\n * @default 'M'\n */\n size?: 'S' | 'M' | 'L' | 'XL',\n /**\n * Whether the Switch should be displayed with an emphasized style.\n */\n isEmphasized?: boolean\n}\n\ninterface RenderProps extends SwitchRenderProps, SwitchStyleProps {}\n\nexport interface SwitchProps extends Omit<AriaSwitchProps, 'className' | 'style' | 'children' | 'onHover' | 'onHoverStart' | 'onHoverEnd' | 'onHoverChange'>, StyleProps, SwitchStyleProps {\n children?: ReactNode\n}\n\nexport const SwitchContext = createContext<ContextValue<SwitchProps, FocusableRefValue<HTMLLabelElement>>>(null);\n\nconst wrapper = style({\n display: 'flex',\n columnGap: 'text-to-control',\n alignItems: 'baseline',\n width: 'fit',\n font: 'control',\n transition: 'colors',\n color: {\n default: 'neutral',\n isDisabled: {\n default: 'disabled',\n forcedColors: 'GrayText'\n }\n },\n gridColumnStart: {\n isInForm: 'field'\n },\n disableTapHighlight: true\n}, getAllowedOverrides());\n\nconst track = style<RenderProps>({\n ...focusRing(),\n borderRadius: 'full',\n '--trackWidth': {\n type: 'width',\n value: fontRelative(26)\n },\n '--trackHeight': {\n type: 'height',\n value: 'control-sm'\n },\n width: '--trackWidth',\n height: '--trackHeight',\n boxSizing: 'border-box',\n borderWidth: 2,\n borderStyle: 'solid',\n transition: 'default',\n forcedColorAdjust: 'none',\n borderColor: {\n default: baseColor('gray-800'),\n forcedColors: 'ButtonBorder',\n isDisabled: {\n default: 'gray-400',\n forcedColors: 'GrayText'\n },\n isSelected: 'transparent'\n },\n backgroundColor: {\n default: 'gray-25',\n isSelected: {\n default: 'neutral',\n isEmphasized: baseColor('accent-900'),\n forcedColors: 'Highlight',\n isDisabled: {\n default: 'gray-400',\n forcedColors: 'GrayText'\n }\n }\n }\n});\n\nconst handle = style<RenderProps>({\n height: 'full',\n aspectRatio: 'square',\n borderRadius: 'full',\n backgroundColor: {\n default: 'neutral',\n isDisabled: {\n default: 'gray-400',\n forcedColors: 'GrayText'\n },\n isSelected: 'gray-25'\n },\n transition: 'default'\n});\n\n// Use an inline style to calculate the transform so we can combine it with the press scale.\nconst transformStyle = ({isSelected}: SwitchRenderProps) => ({\n // In the default state, the handle is 8px smaller than the track. When selected it grows to 6px smaller than the track.\n // Normally this could be calculated as a scale transform with (trackHeight - 8px) / trackHeight, however,\n // CSS does not allow division with units. To solve this we use a 3d perspective transform. Perspective is the\n // distance from the Z=0 plane to the viewer. Since we want to scale the handle by a fixed amount and we cannot divide\n // by a value with units, we can set the Z translation to a fixed amount and change the perspective in order to achieve\n // the desired effect. Given the following formula:\n //\n // scale = perspective / (perspective - translateZ)\n //\n // and desired scale factors (accounting for the 2px border on each side of the track):\n //\n // defaultScale = (trackHeight - 8px) / (trackHeight - 4px)\n // selectedScale = (trackHeight - 6px) / (trackHeight - 4px)\n //\n // we can solve for the perspective needed in each case where translateZ is hard coded to -4px:\n //\n // defaultPerspective = trackHeight - 8px\n // selectedPerspective = 2 * (trackHeight - 6px)\n transform: isSelected\n // The selected state also translates the X position to the end of the track (minus the borders).\n ? 'translateX(calc(var(--trackWidth) - 100% - 4px)) perspective(calc(2 * (var(--trackHeight) - 6px))) translateZ(-4px)'\n : 'perspective(calc(var(--trackHeight) - 8px)) translateZ(-4px)'\n});\n\nfunction Switch(props: SwitchProps, ref: FocusableRef<HTMLLabelElement>) {\n [props, ref] = useSpectrumContextProps(props, ref, SwitchContext);\n let {children, UNSAFE_className = '', UNSAFE_style} = props;\n let inputRef = useRef<HTMLInputElement | null>(null);\n let domRef = useFocusableRef(ref, inputRef);\n let handleRef = useRef(null);\n let isInForm = !!useContext(FormContext);\n props = useFormProps(props);\n return (\n <AriaSwitch\n {...props}\n ref={domRef}\n inputRef={inputRef}\n style={UNSAFE_style}\n className={renderProps => UNSAFE_className + wrapper({...renderProps, isInForm, size: props.size || 'M'}, props.styles)}>\n {renderProps => (\n <>\n <CenterBaseline>\n <div\n className={track({\n ...renderProps,\n size: props.size || 'M',\n isEmphasized: props.isEmphasized\n })}>\n <div\n ref={handleRef}\n style={pressScale(handleRef, transformStyle)(renderProps)}\n className={handle(renderProps)} />\n </div>\n </CenterBaseline>\n {children}\n </>\n )}\n </AriaSwitch>\n );\n}\n\n/**\n * Switches allow users to turn an individual option on or off.\n * They are usually used to activate or deactivate a specific setting.\n */\nlet _Switch = /*#__PURE__*/ forwardRef(Switch);\nexport {_Switch as Switch};\n"],"names":[],"version":3,"file":"Switch.mjs.map"}
1
+ {"mappings":";;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;;;;;;AAqCM,MAAM,0DAAgB,CAAA,GAAA,oBAAY,EAAkE;AAE3G,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCN,MAAM;;;;;;;;;;;;;;;;;;;;;;;AAeN,4FAA4F;AAC5F,MAAM,uCAAiB,CAAC,cAAC,UAAU,EAAoB,GAAM,CAAA;QAC3D,wHAAwH;QACxH,0GAA0G;QAC1G,8GAA8G;QAC9G,sHAAsH;QACtH,uHAAuH;QACvH,mDAAmD;QACnD,EAAE;QACF,qDAAqD;QACrD,EAAE;QACF,uFAAuF;QACvF,EAAE;QACF,6DAA6D;QAC7D,8DAA8D;QAC9D,EAAE;QACF,+FAA+F;QAC/F,EAAE;QACF,4CAA4C;QAC5C,mDAAmD;QACnD,WAAW,aAEP,wHACA;IACN,CAAA;AAEA,SAAS,6BAAO,KAAkB,EAAE,GAAmC;IACrE,CAAC,OAAO,IAAI,GAAG,CAAA,GAAA,yCAAsB,EAAE,OAAO,KAAK;IACnD,IAAI,YAAC,QAAQ,oBAAE,mBAAmB,kBAAI,YAAY,EAAC,GAAG;IACtD,IAAI,WAAW,CAAA,GAAA,aAAK,EAA2B;IAC/C,IAAI,SAAS,CAAA,GAAA,sBAAc,EAAE,KAAK;IAClC,IAAI,YAAY,CAAA,GAAA,aAAK,EAAE;IACvB,IAAI,WAAW,CAAC,CAAC,CAAA,GAAA,iBAAS,EAAE,CAAA,GAAA,yCAAU;IACtC,QAAQ,CAAA,GAAA,yCAAW,EAAE;IACrB,qBACE,gBAAC,CAAA,GAAA,aAAS;QACP,GAAG,KAAK;QACT,KAAK;QACL,UAAU;QACV,OAAO;QACP,WAAW,CAAA,cAAe,mBAAmB,8BAAQ;gBAAC,GAAG,WAAW;0BAAE;gBAAU,MAAM,MAAM,IAAI,IAAI;YAAG,GAAG,MAAM,MAAM;kBACrH,CAAA,4BACC;;kCACE,gBAAC,CAAA,GAAA,yCAAa;kCACZ,cAAA,gBAAC;4BACC,WAAW,4BAAM;gCACf,GAAG,WAAW;gCACd,MAAM,MAAM,IAAI,IAAI;gCACpB,cAAc,MAAM,YAAY;4BAClC;sCACA,cAAA,gBAAC;gCACC,KAAK;gCACL,OAAO,CAAA,GAAA,yCAAS,EAAE,WAAW,sCAAgB;gCAC7C,WAAW,6BAAO;;;;oBAGvB;;;;AAKX;AAEA;;;CAGC,GACD,IAAI,4CAAU,WAAW,GAAG,CAAA,GAAA,iBAAS,EAAE","sources":["packages/@react-spectrum/s2/src/Switch.tsx"],"sourcesContent":["/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {\n Switch as AriaSwitch,\n SwitchProps as AriaSwitchProps,\n ContextValue,\n SwitchRenderProps\n} from 'react-aria-components';\nimport {baseColor, focusRing, fontRelative, style} from '../style' with {type: 'macro'};\nimport {CenterBaseline} from './CenterBaseline';\nimport {createContext, forwardRef, ReactNode, useContext, useRef} from 'react';\nimport {FocusableRef, FocusableRefValue} from '@react-types/shared';\nimport {FormContext, useFormProps} from './Form';\nimport {getAllowedOverrides, StyleProps} from './style-utils' with {type: 'macro'};\nimport {pressScale} from './pressScale';\nimport {useFocusableRef} from '@react-spectrum/utils';\nimport {useSpectrumContextProps} from './useSpectrumContextProps';\n\ninterface SwitchStyleProps {\n /**\n * The size of the Switch.\n *\n * @default 'M'\n */\n size?: 'S' | 'M' | 'L' | 'XL',\n /**\n * Whether the Switch should be displayed with an emphasized style.\n */\n isEmphasized?: boolean\n}\n\ninterface RenderProps extends SwitchRenderProps, SwitchStyleProps {}\n\nexport interface SwitchProps extends Omit<AriaSwitchProps, 'className' | 'style' | 'children' | 'onHover' | 'onHoverStart' | 'onHoverEnd' | 'onHoverChange'>, StyleProps, SwitchStyleProps {\n children?: ReactNode\n}\n\nexport const SwitchContext = createContext<ContextValue<SwitchProps, FocusableRefValue<HTMLLabelElement>>>(null);\n\nconst wrapper = style({\n display: 'flex',\n columnGap: 'text-to-control',\n alignItems: 'baseline',\n width: 'fit',\n font: 'control',\n transition: 'colors',\n color: {\n default: 'neutral',\n isDisabled: {\n default: 'disabled',\n forcedColors: 'GrayText'\n }\n },\n gridColumnStart: {\n isInForm: 'field'\n },\n disableTapHighlight: true\n}, getAllowedOverrides());\n\nconst track = style<RenderProps>({\n ...focusRing(),\n borderRadius: 'full',\n '--trackWidth': {\n type: 'width',\n value: fontRelative(26)\n },\n '--trackHeight': {\n type: 'height',\n value: 'control-sm'\n },\n width: '--trackWidth',\n height: '--trackHeight',\n boxSizing: 'border-box',\n borderWidth: 2,\n borderStyle: 'solid',\n transition: 'default',\n forcedColorAdjust: 'none',\n borderColor: {\n default: baseColor('gray-800'),\n forcedColors: 'ButtonBorder',\n isDisabled: {\n default: 'gray-400',\n forcedColors: 'GrayText'\n },\n isSelected: 'transparent'\n },\n backgroundColor: {\n default: 'gray-25',\n isSelected: {\n default: 'neutral',\n isEmphasized: baseColor('accent-900'),\n forcedColors: 'Highlight',\n isDisabled: {\n default: 'gray-400',\n forcedColors: 'GrayText'\n }\n }\n }\n});\n\nconst handle = style<RenderProps>({\n height: 'full',\n aspectRatio: 'square',\n borderRadius: 'full',\n backgroundColor: {\n default: 'neutral',\n isDisabled: {\n default: 'gray-400',\n forcedColors: 'GrayText'\n },\n isSelected: 'gray-25'\n },\n transition: 'default'\n});\n\n// Use an inline style to calculate the transform so we can combine it with the press scale.\nconst transformStyle = ({isSelected}: SwitchRenderProps) => ({\n // In the default state, the handle is 8px smaller than the track. When selected it grows to 6px smaller than the track.\n // Normally this could be calculated as a scale transform with (trackHeight - 8px) / trackHeight, however,\n // CSS does not allow division with units. To solve this we use a 3d perspective transform. Perspective is the\n // distance from the Z=0 plane to the viewer. Since we want to scale the handle by a fixed amount and we cannot divide\n // by a value with units, we can set the Z translation to a fixed amount and change the perspective in order to achieve\n // the desired effect. Given the following formula:\n //\n // scale = perspective / (perspective - translateZ)\n //\n // and desired scale factors (accounting for the 2px border on each side of the track):\n //\n // defaultScale = (trackHeight - 8px) / (trackHeight - 4px)\n // selectedScale = (trackHeight - 6px) / (trackHeight - 4px)\n //\n // we can solve for the perspective needed in each case where translateZ is hard coded to -4px:\n //\n // defaultPerspective = trackHeight - 8px\n // selectedPerspective = 2 * (trackHeight - 6px)\n transform: isSelected\n // The selected state also translates the X position to the end of the track (minus the borders).\n ? 'translateX(calc(var(--trackWidth) - 100% - 4px)) perspective(calc(2 * (var(--trackHeight) - 6px))) translateZ(-4px)'\n : 'perspective(calc(var(--trackHeight) - 8px)) translateZ(-4px)'\n});\n\nfunction Switch(props: SwitchProps, ref: FocusableRef<HTMLLabelElement>) {\n [props, ref] = useSpectrumContextProps(props, ref, SwitchContext);\n let {children, UNSAFE_className = '', UNSAFE_style} = props;\n let inputRef = useRef<HTMLInputElement | null>(null);\n let domRef = useFocusableRef(ref, inputRef);\n let handleRef = useRef(null);\n let isInForm = !!useContext(FormContext);\n props = useFormProps(props);\n return (\n <AriaSwitch\n {...props}\n ref={domRef}\n inputRef={inputRef}\n style={UNSAFE_style}\n className={renderProps => UNSAFE_className + wrapper({...renderProps, isInForm, size: props.size || 'M'}, props.styles)}>\n {renderProps => (\n <>\n <CenterBaseline>\n <div\n className={track({\n ...renderProps,\n size: props.size || 'M',\n isEmphasized: props.isEmphasized\n })}>\n <div\n ref={handleRef}\n style={pressScale(handleRef, transformStyle)(renderProps)}\n className={handle(renderProps)} />\n </div>\n </CenterBaseline>\n {children}\n </>\n )}\n </AriaSwitch>\n );\n}\n\n/**\n * Switches allow users to turn an individual option on or off.\n * They are usually used to activate or deactivate a specific setting.\n */\nlet _Switch = /*#__PURE__*/ forwardRef(Switch);\nexport {_Switch as Switch};\n"],"names":[],"version":3,"file":"Switch.mjs.map"}
package/dist/Table.cjs CHANGED
@@ -372,8 +372,7 @@ const $93ff1e08f8313b57$var$cellFocus = {
372
372
  touch: "[0.46875rem]"
373
373
  }
374
374
  };
375
- function $93ff1e08f8313b57$var$CellFocusRing(props1) {
376
- let { isFocusVisible: isFocusVisible } = props1;
375
+ function $93ff1e08f8313b57$var$CellFocusRing() {
377
376
  return /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)("div", {
378
377
  role: "presentation",
379
378
  className: function anonymous(props) {
@@ -399,7 +398,7 @@ function $93ff1e08f8313b57$var$CellFocusRing(props1) {
399
398
  rules += ' Wa';
400
399
  return rules;
401
400
  }({
402
- isFocusVisible: isFocusVisible
401
+ isFocusVisible: true
403
402
  })
404
403
  });
405
404
  }
@@ -449,7 +448,8 @@ const $93ff1e08f8313b57$var$columnStyles = function anonymous(props) {
449
448
  rules += ' _Zd';
450
449
  rules += ' ca_____v';
451
450
  rules += ' ci';
452
- rules += ' ua';
451
+ if (props.isQuiet) rules += ' ub';
452
+ else rules += ' ua';
453
453
  rules += ' vb';
454
454
  rules += ' sa';
455
455
  if (props.isColumnResizable) rules += ' tb';
@@ -460,6 +460,7 @@ const $93ff1e08f8313b57$var$columnStyles = function anonymous(props) {
460
460
  };
461
461
  function $93ff1e08f8313b57$export$816b5d811295e6bc(props) {
462
462
  let { isHeaderRowHovered: isHeaderRowHovered } = (0, $4Eob6$react.useContext)($93ff1e08f8313b57$var$InternalTableHeaderContext);
463
+ let { isQuiet: isQuiet } = (0, $4Eob6$react.useContext)($93ff1e08f8313b57$var$InternalTableContext);
463
464
  let { allowsResizing: allowsResizing, children: children, align: align = 'start' } = props;
464
465
  let isColumnResizable = allowsResizing;
465
466
  return /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)((0, $4Eob6$reactariacomponents.Column), {
@@ -470,13 +471,12 @@ function $93ff1e08f8313b57$export$816b5d811295e6bc(props) {
470
471
  className: (renderProps)=>$93ff1e08f8313b57$var$columnStyles({
471
472
  ...renderProps,
472
473
  isColumnResizable: isColumnResizable,
473
- align: align
474
+ align: align,
475
+ isQuiet: isQuiet
474
476
  }),
475
477
  children: ({ allowsSorting: allowsSorting, sortDirection: sortDirection, isFocusVisible: isFocusVisible, sort: sort, startResize: startResize, isHovered: isHovered })=>/*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsxs)((0, $4Eob6$reactjsxruntime.Fragment), {
476
478
  children: [
477
- /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)($93ff1e08f8313b57$var$CellFocusRing, {
478
- isFocusVisible: isFocusVisible
479
- }),
479
+ isFocusVisible && /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)($93ff1e08f8313b57$var$CellFocusRing, {}),
480
480
  isColumnResizable ? /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)($93ff1e08f8313b57$var$ResizableColumnContents, {
481
481
  allowsSorting: allowsSorting,
482
482
  sortDirection: sortDirection,
@@ -765,13 +765,35 @@ function $93ff1e08f8313b57$var$ResizerIndicator({ isFocusVisible: isFocusVisible
765
765
  }
766
766
  const $93ff1e08f8313b57$var$tableHeader = " . k4 l4 bf A-yj899n";
767
767
  const $93ff1e08f8313b57$var$selectAllCheckbox = " . yf";
768
- const $93ff1e08f8313b57$var$selectAllCheckboxColumn = " . Ea Fa Ca Da k-1xrzxd1 _La Uc _0b ci ca_____v sa ta ua vb wa bf";
768
+ const $93ff1e08f8313b57$var$selectAllCheckboxColumn = function anonymous(props) {
769
+ let rules = " .";
770
+ rules += ' Ea';
771
+ rules += ' Fa';
772
+ rules += ' Ca';
773
+ rules += ' Da';
774
+ rules += ' k4';
775
+ rules += ' __na';
776
+ rules += ' _La';
777
+ rules += ' Uc';
778
+ rules += ' _0b';
779
+ rules += ' ca_____v';
780
+ rules += ' ci';
781
+ rules += ' sa';
782
+ rules += ' ta';
783
+ if (props.isQuiet) rules += ' ub';
784
+ else rules += ' ua';
785
+ rules += ' vb';
786
+ rules += ' wa';
787
+ rules += ' bf';
788
+ return rules;
789
+ };
769
790
  let $93ff1e08f8313b57$var$InternalTableHeaderContext = /*#__PURE__*/ (0, $4Eob6$react.createContext)({
770
791
  isHeaderRowHovered: false
771
792
  });
772
793
  function $93ff1e08f8313b57$export$f850895b287ef28e({ columns: columns, children: children }) {
773
794
  let scale = (0, $ee7b4c497f520c08$exports.useScale)();
774
795
  let { selectionBehavior: selectionBehavior, selectionMode: selectionMode } = (0, $4Eob6$reactariacomponents.useTableOptions)();
796
+ let { isQuiet: isQuiet } = (0, $4Eob6$react.useContext)($93ff1e08f8313b57$var$InternalTableContext);
775
797
  let [isHeaderRowHovered, setHeaderRowHovered] = (0, $4Eob6$react.useState)(false);
776
798
  return /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)($93ff1e08f8313b57$var$InternalTableHeaderContext.Provider, {
777
799
  value: {
@@ -787,14 +809,14 @@ function $93ff1e08f8313b57$export$f850895b287ef28e({ columns: columns, children:
787
809
  isSticky: true,
788
810
  width: scale === 'medium' ? 40 : 52,
789
811
  minWidth: scale === 'medium' ? 40 : 52,
790
- className: $93ff1e08f8313b57$var$selectAllCheckboxColumn,
812
+ className: $93ff1e08f8313b57$var$selectAllCheckboxColumn({
813
+ isQuiet: isQuiet
814
+ }),
791
815
  children: ({ isFocusVisible: isFocusVisible })=>/*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsxs)((0, $4Eob6$reactjsxruntime.Fragment), {
792
816
  children: [
793
817
  selectionMode === 'single' && /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsxs)((0, $4Eob6$reactjsxruntime.Fragment), {
794
818
  children: [
795
- /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)($93ff1e08f8313b57$var$CellFocusRing, {
796
- isFocusVisible: isFocusVisible
797
- }),
819
+ isFocusVisible && /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)($93ff1e08f8313b57$var$CellFocusRing, {}),
798
820
  /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)($93ff1e08f8313b57$var$VisuallyHiddenSelectAllLabel, {})
799
821
  ]
800
822
  }),
@@ -894,7 +916,7 @@ const $93ff1e08f8313b57$var$cell = function anonymous(props) {
894
916
  const $93ff1e08f8313b57$var$stickyCell = {
895
917
  backgroundColor: 'gray-25'
896
918
  };
897
- const $93ff1e08f8313b57$var$checkboxCellStyle = " . ca va ua sa ta wa Uc an aa_____x _La Cf Df bd _0b k-1xrzxd1";
919
+ const $93ff1e08f8313b57$var$checkboxCellStyle = " . ca va ua sa ta wa Uc an aa_____x _La Cf Df b-19jpv4m _0b k-1xrzxd1";
898
920
  const $93ff1e08f8313b57$var$cellContent = function anonymous(props) {
899
921
  let rules = " .";
900
922
  rules += ' __vb';
@@ -923,15 +945,6 @@ const $93ff1e08f8313b57$var$cellContent = function anonymous(props) {
923
945
  else rules += ' yK';
924
946
  if (props.isSticky) rules += ' za';
925
947
  else rules += ' zK';
926
- return rules;
927
- };
928
- const $93ff1e08f8313b57$var$cellBackground = function anonymous(props) {
929
- let rules = " .";
930
- rules += ' Ua';
931
- rules += ' Xa';
932
- rules += ' Za';
933
- rules += ' _aa';
934
- rules += ' Ya';
935
948
  if (props.isSticky) rules += ' b-19jpv4m';
936
949
  else rules += ' ba';
937
950
  return rules;
@@ -953,15 +966,7 @@ function $93ff1e08f8313b57$export$f6f0c3fe4ec306ea(props) {
953
966
  ...otherProps,
954
967
  children: ({ isFocusVisible: isFocusVisible })=>/*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsxs)((0, $4Eob6$reactjsxruntime.Fragment), {
955
968
  children: [
956
- /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)("div", {
957
- role: "presentation",
958
- className: $93ff1e08f8313b57$var$cellBackground({
959
- isSticky: isSticky
960
- })
961
- }),
962
- /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)($93ff1e08f8313b57$var$CellFocusRing, {
963
- isFocusVisible: isFocusVisible
964
- }),
969
+ isFocusVisible && /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)($93ff1e08f8313b57$var$CellFocusRing, {}),
965
970
  /*#__PURE__*/ (0, $4Eob6$reactjsxruntime.jsx)("span", {
966
971
  className: $93ff1e08f8313b57$var$cellContent({
967
972
  ...tableVisualOptions,
@@ -974,28 +979,22 @@ function $93ff1e08f8313b57$export$f6f0c3fe4ec306ea(props) {
974
979
  })
975
980
  });
976
981
  }
982
+ // Use color-mix instead of transparency so sticky cells work correctly.
983
+ const $93ff1e08f8313b57$var$selectedBackground = "[light-dark(color-mix(in srgb, light-dark(rgb(255, 255, 255), rgb(17, 17, 17)), light-dark(rgb(59, 99, 251), rgb(86, 129, 255)) 10%), color-mix(in srgb, light-dark(rgb(255, 255, 255), rgb(17, 17, 17)), light-dark(rgb(93, 137, 255), rgb(52, 91, 248)) 10%))]";
984
+ const $93ff1e08f8313b57$var$selectedActiveBackground = "[light-dark(color-mix(in srgb, light-dark(rgb(255, 255, 255), rgb(17, 17, 17)), light-dark(rgb(59, 99, 251), rgb(86, 129, 255)) 15%), color-mix(in srgb, light-dark(rgb(255, 255, 255), rgb(17, 17, 17)), light-dark(rgb(93, 137, 255), rgb(52, 91, 248)) 15%))]";
977
985
  const $93ff1e08f8313b57$var$rowBackgroundColor = {
978
- default: 'gray-25',
979
- isFocusVisibleWithin: 'gray-900/7',
980
- isHovered: 'gray-900/7',
981
- isPressed: 'gray-900/10',
982
- isSelected: {
983
- default: "[light-dark(rgb(from light-dark(rgb(59, 99, 251), rgb(86, 129, 255)) r g b / 10%), rgb(from light-dark(rgb(93, 137, 255), rgb(52, 91, 248)) r g b / 10%))]",
984
- isFocusVisibleWithin: "[light-dark(rgb(from light-dark(rgb(59, 99, 251), rgb(86, 129, 255)) r g b / 15%), rgb(from light-dark(rgb(93, 137, 255), rgb(52, 91, 248)) r g b / 15%))]",
985
- isHovered: "[light-dark(rgb(from light-dark(rgb(59, 99, 251), rgb(86, 129, 255)) r g b / 15%), rgb(from light-dark(rgb(93, 137, 255), rgb(52, 91, 248)) r g b / 15%))]",
986
- isPressed: "[light-dark(rgb(from light-dark(rgb(59, 99, 251), rgb(86, 129, 255)) r g b / 15%), rgb(from light-dark(rgb(93, 137, 255), rgb(52, 91, 248)) r g b / 15%))]"
986
+ default: {
987
+ default: 'gray-25',
988
+ isQuiet: 'transparent'
987
989
  },
988
- isQuiet: {
989
- default: 'transparent',
990
- isFocusVisibleWithin: 'gray-900/7',
991
- isHovered: 'gray-900/7',
992
- isPressed: 'gray-900/10',
993
- isSelected: {
994
- default: "[light-dark(rgb(from light-dark(rgb(59, 99, 251), rgb(86, 129, 255)) r g b / 10%), rgb(from light-dark(rgb(93, 137, 255), rgb(52, 91, 248)) r g b / 10%))]",
995
- isFocusVisibleWithin: "[light-dark(rgb(from light-dark(rgb(59, 99, 251), rgb(86, 129, 255)) r g b / 15%), rgb(from light-dark(rgb(93, 137, 255), rgb(52, 91, 248)) r g b / 15%))]",
996
- isHovered: "[light-dark(rgb(from light-dark(rgb(59, 99, 251), rgb(86, 129, 255)) r g b / 15%), rgb(from light-dark(rgb(93, 137, 255), rgb(52, 91, 248)) r g b / 15%))]",
997
- isPressed: "[light-dark(rgb(from light-dark(rgb(59, 99, 251), rgb(86, 129, 255)) r g b / 15%), rgb(from light-dark(rgb(93, 137, 255), rgb(52, 91, 248)) r g b / 15%))]"
998
- }
990
+ isFocusVisibleWithin: "[color-mix(in srgb, light-dark(rgb(255, 255, 255), rgb(17, 17, 17)), light-dark(rgb(19, 19, 19), rgb(242, 242, 242)) 7%)]",
991
+ isHovered: "[color-mix(in srgb, light-dark(rgb(255, 255, 255), rgb(17, 17, 17)), light-dark(rgb(19, 19, 19), rgb(242, 242, 242)) 7%)]",
992
+ isPressed: "[color-mix(in srgb, light-dark(rgb(255, 255, 255), rgb(17, 17, 17)), light-dark(rgb(19, 19, 19), rgb(242, 242, 242)) 10%)]",
993
+ isSelected: {
994
+ default: $93ff1e08f8313b57$var$selectedBackground,
995
+ isFocusVisibleWithin: $93ff1e08f8313b57$var$selectedActiveBackground,
996
+ isHovered: $93ff1e08f8313b57$var$selectedActiveBackground,
997
+ isPressed: $93ff1e08f8313b57$var$selectedActiveBackground // table-selected-row-background-color, opacity /15
999
998
  },
1000
999
  forcedColors: {
1001
1000
  default: 'Background'
@@ -1006,45 +1005,17 @@ const $93ff1e08f8313b57$var$row = function anonymous(props) {
1006
1005
  rules += ' k4';
1007
1006
  rules += ' Uc';
1008
1007
  rules += ' __na';
1009
- rules += ' ba_____u';
1010
- if (props.isQuiet) {
1011
- if (props.isSelected) {
1012
- if (props.isPressed) rules += ' b-f92o7v';
1013
- else if (props.isHovered) rules += ' b-f92o7v';
1014
- else if (props.isFocusVisibleWithin) rules += ' b-f92o7v';
1015
- else rules += ' b-54erqp';
1016
- } else if (props.isPressed) rules += ' bo10';
1017
- else if (props.isHovered) rules += ' bo7';
1018
- else if (props.isFocusVisibleWithin) rules += ' bo7';
1019
- else rules += ' ba';
1020
- } else if (props.isSelected) {
1021
- if (props.isPressed) rules += ' b-f92o7v';
1022
- else if (props.isHovered) rules += ' b-f92o7v';
1023
- else if (props.isFocusVisibleWithin) rules += ' b-f92o7v';
1024
- else rules += ' b-54erqp';
1025
- } else if (props.isPressed) rules += ' bo10';
1026
- else if (props.isHovered) rules += ' bo7';
1027
- else if (props.isFocusVisibleWithin) rules += ' bo7';
1028
- else rules += ' bd';
1008
+ rules += ' b-19jpv4m';
1029
1009
  rules += ' -_19jpv4m_b-a_____u';
1030
- if (props.isQuiet) {
1031
- if (props.isSelected) {
1032
- if (props.isPressed) rules += ' -_19jpv4m_b--f92o7v';
1033
- else if (props.isHovered) rules += ' -_19jpv4m_b--f92o7v';
1034
- else if (props.isFocusVisibleWithin) rules += ' -_19jpv4m_b--f92o7v';
1035
- else rules += ' -_19jpv4m_b--54erqp';
1036
- } else if (props.isPressed) rules += ' -_19jpv4m_b-o10';
1037
- else if (props.isHovered) rules += ' -_19jpv4m_b-o7';
1038
- else if (props.isFocusVisibleWithin) rules += ' -_19jpv4m_b-o7';
1039
- else rules += ' -_19jpv4m_b-a';
1040
- } else if (props.isSelected) {
1041
- if (props.isPressed) rules += ' -_19jpv4m_b--f92o7v';
1042
- else if (props.isHovered) rules += ' -_19jpv4m_b--f92o7v';
1043
- else if (props.isFocusVisibleWithin) rules += ' -_19jpv4m_b--f92o7v';
1044
- else rules += ' -_19jpv4m_b--54erqp';
1045
- } else if (props.isPressed) rules += ' -_19jpv4m_b-o10';
1046
- else if (props.isHovered) rules += ' -_19jpv4m_b-o7';
1047
- else if (props.isFocusVisibleWithin) rules += ' -_19jpv4m_b-o7';
1010
+ if (props.isSelected) {
1011
+ if (props.isPressed) rules += ' -_19jpv4m_b--1hocwbr';
1012
+ else if (props.isHovered) rules += ' -_19jpv4m_b--1hocwbr';
1013
+ else if (props.isFocusVisibleWithin) rules += ' -_19jpv4m_b--1hocwbr';
1014
+ else rules += ' -_19jpv4m_b--sogeql';
1015
+ } else if (props.isPressed) rules += ' -_19jpv4m_b--17nxj1';
1016
+ else if (props.isHovered) rules += ' -_19jpv4m_b--26tcdv';
1017
+ else if (props.isFocusVisibleWithin) rules += ' -_19jpv4m_b--26tcdv';
1018
+ else if (props.isQuiet) rules += ' -_19jpv4m_b-a';
1048
1019
  else rules += ' -_19jpv4m_b-d';
1049
1020
  rules += ' -oorfdf_d-a_____z';
1050
1021
  rules += ' -oorfdf_d-x';